Ray intersectTriangle bag

ls = new THREE.Ray(new THREE.Vector3(1,1,3), new THREE.Vector3(5,4,3));

tins = {a: new THREE.Vector3(3,3,2), b: new THREE.Vector3(4,3,2), c: new THREE.Vector3(3,3,8)};

var tx = new THREE.Vector3();

tx = ls.intersectTriangle(tins.a, tins.b, tins.c, false, tx);

Vector3 {x: 3.5, y: 3, z: 4.5}

Why 4.5???
How the horizontal line z = 3 may cross something at z = 4.5 ?

Are you aware that (5,4,3) is not a valid input for Ray.direction? The vector should be normalized.

my fault
there should be a function to create ray from two points