JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://threejs.org/build/three.min.js"></script>

JavaScript

function getPointInBetweenByLen(pointA, pointB, length) {
    
    var dir = pointB.clone().sub(pointA).normalize().multiplyScalar(length);
    return pointA.clone().add(dir);
       
}

function getPointInBetweenByPerc(pointA, pointB, percentage) {
    
    var dir = pointB.clone().sub(pointA);
    var len = dir.length();
    dir = dir.normalize().multiplyScalar(len*percentage);
    return pointA.clone().add(dir);
       
}

function init() {
    renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);
    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 500);
    camera.position.set(0, 0, 100);
    camera.lookAt(new THREE.Vector3(0, 0, 0));
    scene = new THREE.Scene();
    
    var material = new THREE.LineBasicMaterial({
        color: 0x0000ff
    });
    
    const points = []
    points.push(new THREE.Vector3(-10,0,0))
    points.push(new THREE.Vector3(10,30,0))
    let geometry = new THREE.BufferGeometry().setFromPoints( points )
    
    var line = new THREE.Line(geometry, material);
    scene.add(line);
    
    
    // Paint by absolute 
    var geometry_ = new THREE.SphereGeometry( 1, 16, 16 );
    var material_ = new THREE.MeshBasicMaterial( {color: 0xffff00} );
    var sphere = new THREE.Mesh( geometry_, material_ );
    var newPointAbs = getPointInBetweenByLen(points[0], points[1], 12);
    sphere.position.set(newPointAbs.x, newPointAbs.y, newPointAbs.z);
    scene.add( sphere );
    
    // Paint by percentage
    var geometry2 = new THREE.SphereGeometry( 1, 16, 16 );
    var material2 = new THREE.MeshBasicMaterial( {color: 0xff0000} );
    var sphere2 = new THREE.Mesh( geometry2, material2 );
    var newPointPerc = getPointInBetweenByPerc(points[0], points[1], 0.75);
    sphere2.position.set(newPointPerc.x, newPointPerc.y, newPointPerc.z);
    scene.add( sphere2 );
    
    
    renderer.render(scene, camera);
}

init();