gpt4 book ai didi

javascript - Three.js PolyhedronGeometry 顶点位置

转载 作者:行者123 更新时间:2023-11-27 23:54:00 25 4
gpt4 key购买 nike

所以我尝试用 PolyhedronGeometry 创建自己的形状

粗略的草图: enter image description here

我遇到了问题。具体来说,我试图将此形状附加到球体上,因此使用一些公式我想出了以下顶点:

[ -0.6495190528383289, -0.09943689110435831, 0.36157613954394185, 
0, -0.09943689110435831, 0.7433789778353299,
0.6495190528383289, -0.09943689110435831, 0.36157613954394185,
0.3897114317029973, -0.39774756441743325, 0.7231522790878837,
0, -0.5966213466261499, 0.5947031822682639,
-0.3897114317029973, -0.39774756441743325, 0.7231522790878837 ]

然后对于我的面部索引:

[ 5,4,1, 5,1,0, 2,1,3, 4,3,1, 0,1,2, 0,4,5, 2,3,4 ]

当我添加球体作为调试点时,它们出现在正确的位置,但无论我如何调整顶点/面,某些位置都不正确:

enter image description here

  1. 顺序对于面孔来说重要吗?
  2. 为什么我的多面体绘制不正确?

最佳答案

问题是原始向量的长度不相等,因此它们在图形上的投影的构造范围不一样。也许,您指定的球体半径是错误的。

例如集合中第一个向量的长度:

(new THREE.Vector3( 
-0.6495190528383289,
-0.09943689110435831,
0.36157613954394185 )
).length() === 0.75

集合中最后一个向量的长度:

(new THREE.Vector3(
-0.3897114317029973,
-0.39774756441743325,
0.7231522790878837 )
).length() === 0.9127033163903814

如果将半径设置为等于第一个向量长度的 PolyhedronGeometry,则后一个向量将位于该半径的球体之外。如果将半径设置为等于 PolyhedronGeometry 的长度,则最后一个向量是第一个向量在球体内部。

关于javascript - Three.js PolyhedronGeometry 顶点位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com