Three.js射線Ray

Three.js射線Ray

Threejs引擎定義的一個射線類Ray和數學中射線含義類似,就是在三維空間中通過一個起點和沿着某個方向產生一個射線。

// 創建射線對象Ray
var ray = new THREE.Ray()
// 設置射線起點
ray.origin = new THREE.Vector3(1,0,3);
// 設置射線方向
ray.direction = new THREE.Vector3(1,1,1).normalize();

通過射線Ray.intersectTriangle()方法判斷射線和一個三角形區域是否相交,如果相交返回交點座標,不相交返回null。

// 三角形三個點座標
var p1 = new THREE.Vector3(20, 0, 0);
var p2 = new THREE.Vector3(0, 0, 10);
var p3 = new THREE.Vector3(0, 30, 0);
// 相交返回交點,不相交返回null
var result = ray.intersectTriangle(p1,p2,p3)
console.log('查看是否相交', result);

通過射線Ray.intersectsBox(Box3)方法判斷射線和一個包圍盒Box3是否相交,通過射線Ray.intersectsSphere(Sphere)方法判斷射線和一個包圍球Sphere是否相交…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章