ThreeJS 兩點間投射線

2021-08-22 04:40:13 字數 1132 閱讀 4003

// 匯入threejs// 建立投射器

const raycaster = new three.raycaster();

// 建立起始點和終止點

const vectorstr = new three.vector3(x1, y1, z1);

const vectorend = new three.vector3(x2, y2, z2);

// 建立射線 raycaster( origin : vector3, direction : vector3, near : float, far : float )

// origin: 起始點

// direction: vectorend.sub(vectorstr).normalize()為根據兩點形成的方向單位向量

// near: 距離從零開始 即從起始點開始

// far: 射線的長度 預設為infinity即預設無限長

const ray = new three.raycaster(vectorstr, vectorend.sub(vectorstr).normalize(), 0, 20);

// 在scene內獲取投射結果 返回陣列:intersects

const intersects = raycaster.intersectobjects(scene.children);

注:// 如果發現intersects返回的不是預料的結果,試試下面的**,只是增加了乙個引數

// intersectobjects( objects : array, recursive : boolean, optionaltarget : array )

// objects: 射線選擇的物體範圍

// recursive: 預設為false,不在objects內的物件即使被射線碰到也不會返回的;

// 為true,則將遍歷objects裡物件的所有後輩(根據children尋找),包含子代、孫子代...;

// optionaltarget: 若設定,則會將結果寫入該設定的陣列,前提是空陣列;

const intersects = raycaster.intersectobjects(scene.children, true);

兩點間的距離

設計乙個名為 mypoint 的類,表示乙個帶jc 座標和少座標的點。該類包括 編寫乙個測試程式,建立兩個點 0,0 和 10,30.5 並顯示它們之間的距離。如下 public class mypoint mypoint double x,double y public double getx p...

計算兩點間的距離

problem description 輸入兩點座標 x1,y1 x2,y2 計算並輸出兩點間的距離。input 輸入資料有多組,每組佔一行,由4個實數組成,分別表示x1,y1,x2,y2,資料之間用空格隔開。output 對於每組輸入資料,輸出一行,結果保留兩位小數。sample input 0 ...

求兩點間的距離

煙台大學計算機學院 檔名稱 asdasd.cpp 作 者 劉磊 完成日期 2016年5月20日 版 本 號 vc 6.0 問題描述 分別利用成員函式,友元函式和一般函式求兩點的的距離,並設計main 函式完成測試 程式輸入 無 程式輸出 兩點間的距離 include include using na...