Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
3d 3.JS,将立方体映射到球体和Gnomic投影_3d_Three.js_Geometry - Fatal编程技术网

3d 3.JS,将立方体映射到球体和Gnomic投影

3d 3.JS,将立方体映射到球体和Gnomic投影,3d,three.js,geometry,3d,Three.js,Geometry,Noob警报 为了避免在围绕默认球体包裹纹理时出现极点奇点,我尝试实现使用立方体作为基础几何体的标准技术 在这里,我将长方体几何体的顶点移动到封闭球体的表面,这似乎产生了一个很好的规则晶格 然后我取一个直线网格,用“立方体地图”或美国宇航局的“G.Projector”进行变换,将直线地图转换为侏儒立方体地图6张地图,每个立方体的“面”对应一张地图。但是,当我将这些贴图应用于立方体时,我没有得到经纬度的规则线。请看这里: 知道我哪里出错了吗?啊,我发现了问题,我把顶点投影到球体上是不正确的。我在用

Noob警报

为了避免在围绕默认球体包裹纹理时出现极点奇点,我尝试实现使用立方体作为基础几何体的标准技术

在这里,我将长方体几何体的顶点移动到封闭球体的表面,这似乎产生了一个很好的规则晶格

然后我取一个直线网格,用“立方体地图”或美国宇航局的“G.Projector”进行变换,将直线地图转换为侏儒立方体地图6张地图,每个立方体的“面”对应一张地图。但是,当我将这些贴图应用于立方体时,我没有得到经纬度的规则线。请看这里:


知道我哪里出错了吗?

啊,我发现了问题,我把顶点投影到球体上是不正确的。我在用

函数置换顶点{ var x2=顶点x/半径*顶点x/半径; var y2=顶点y/半径*顶点y/半径; var z2=顶点.z/半径*顶点.z/半径; 顶点x=顶点x*Math.sqrt1-y2*0.5-z2*0.5+y2*z2/3; vertex.y=vertex.y*Math.sqrt1-z2*0.5-x2*0.5+z2*x2/3; vertex.z=vertex.z*Math.sqrt1-x2*0.5-y2*0.5+x2*y2/3;
}vertex.setLength半径如何;哈告诉过你我是诺布,谢谢,太好了!我也是StackOverflow的noob,你是否必须把它作为一个答案发布,这样我才能标记它?没关系。改进你自己的答案,然后接受你自己的答案。