three.jsに3D点の配列があれば、カスタム3Dポリゴンを生成する最適な方法は何でしょうか。穴のない単純なポリゴンです。点は、隣接する頂点を表すように順序付けられます。 I can do it in 2D, but I don't want the vertices to be coplanar. ありがとうございます!three.jsの一連の3Dポイントから3Dポリゴンを作成するにはどうすればよいですか?
1
A
答えて
0
var geo = new THREE.Geometry();
var mat = new THREE.MeshBasicMaterial();
var middlePoint = new THREE.Vector3();
for(var i=0;i<dots.length;i++){
middlePoint.add(dots[i].position)
geo.vertices.push(new THREE.Vector3(dots[i].x,dots[i].y,dots[i].z));
}
middlePoint.divideScalar(dots.length);
geo.vertices.push(middlePoint);
for(var i=0;i<dots.length;i++){
middlePoint.add(dots[i].position)
if(i >0){
geo.faces.push(new THREE.Face3(geo.vertices.length-1,dots[i],dots[i-1]));
}
}
var mesh = new THREE.Mesh(geo,mat);
1
ここでの主な問題は、複数のポイントから3Dメッシュを作成する方法です。言い換えれば、三角形を形成するためにどの頂点を接続するかを理解する必要があります。
これは驚くほど複雑なことです(少なくとも私は驚いたことです)、それについては数多くの科学論文、図書館などがあります。
しかし、あなたの場合は、頂点がどのように接続されるべきかをあなたがすでに知っているので、少し単純です。 earcut-libraryまたはlibtess.jsをご覧ください。どちらも必要な三角形分割を作成できるはずです。
これを取得したら、結果からジオメトリを作成する方法についておおよそ@lior-trau'sの推奨事項に進むことができます。
関連する問題
- 1. 3Dポリゴンから標高モデルを作成するにはどうすればよいですか?
- 2. データポイントに3Dポリゴン/メッシュを作成するにはどうすればよいですか?
- 3. ステレオ画像のペアから3Dポイントを三角測量するにはどうすればよいですか?
- 4. Three.js- 3Dシーンでのカメラの表示を制限するにはどうすればよいですか?
- 5. 与えられた2点から3Dモデルを作成するにはどうすればいいですか?
- 6. Javascriptで3Dのカーブ曲線をプロットするにはどうすればよいですか? (three.js、webGL)
- 7. Three.jsの「地形」を3Dにするにはどうすればよいですか?
- 8. jsartoolkitとthree.jsから3D環境を作成する
- 9. 3Dポリゴンの下り勾配ベクトルを計算するにはどうすればよいですか?
- 10. 3DモデルをCinema4Dからthree.jsにどのようにエクスポートしますか?
- 11. 3Dディメンションのポイントで接ベクトルを計算するにはどうすればよいですか?
- 12. どのように他の3Dポイント
- 13. いくつかのテキストファイルで3Dモデルを作成するにはどうすればいいですか?
- 14. 3Dのラジアルグラデーションを適用するにはどうすればよいですか?
- 15. 3D画像を3Dテレビに出力するにはどうすればよいですか?
- 16. 3Dポイントの生成
- 17. 大きな3Dサーフェス(10 000 x 10,000ポイント)をプロットするにはどうすればよいですか?
- 18. Pythonで3Dヒストグラムをレンダリングするにはどうすればよいですか?
- 19. どのように一緒にグループ化するのですか?互いに距離のある3Dポイント
- 20. Pythonで3Dオブジェクト/クラスを作成するにはどうすればよいですか?
- 21. WinFormsでカスタム3Dカルーセルコントロールを作成するにはどうすればよいですか?
- 22. cssで3D内部ルームビューを作成するにはどうすればよいですか?
- 23. Pythonで3D配列(データキューブ)を作成するにはどうすればよいですか?
- 24. Javafx:3Dパスでアニメーションを作成するにはどうすればよいですか?
- 25. F#スクリプトにUnity 3D UIテキスト要素を作成するにはどうすればよいですか?
- 26. 同じように2つのテクスチャ面を持つ3Dポイントを作成するにはどうすればいいですか?
- 27. Processing.JSを使用して3Dテーブルを作成するにはどうすればよいですか?
- 28. three.jsを使用して3Dモデルで応答性のあるキャンバスを作成するにはどうすればよいですか?
- 29. 3D numpy配列から3Dプロットを作成する
- 30. WPF 3Dでポイントを描画するにはどうすればいいですか?
顔を押しても、穴が覆われることはありません。 – gaitat
私は答えの中のコードを編集しました。中間点を見つけて、真ん中から多角形の任意の2つの頂点まで顔を作成することができます。それは完全に良いことではない場合もありますが、ほとんどの場合、うまくいくでしょう。 – Tlatis
@gaitatもっと良い解決策はありますか?それは私にとっても非常に役に立つでしょう。 – Tlatis