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
Javascript 将形状从平面等矩形全景映射到a帧内的平面_Javascript_Three.js_Aframe - Fatal编程技术网

Javascript 将形状从平面等矩形全景映射到a帧内的平面

Javascript 将形状从平面等矩形全景映射到a帧内的平面,javascript,three.js,aframe,Javascript,Three.js,Aframe,我正在尝试为a帧内的360幅图像构建一个热点编辑器 这个想法是,你可以在一个等矩形的全景图上画画,然后这个工具可以用3.ShapeGeometry将形状转换成平面 我可以从JS矢量编辑器和a帧中渲染的平面中获取每个形状节点的X/Y坐标。但是,我在将它们正确放置在skybox顶部时遇到了问题 我知道我需要做一些等矩形投影,但我不确定在这种情况下如何处理 有什么想法吗 不清楚您希望如何在三维空间中显示这些平面几何图形,但以下信息可能会对您有所帮助 使用类似于纬度和经度的物理样式,但不是从西到东从-1

我正在尝试为a帧内的360幅图像构建一个热点编辑器

这个想法是,你可以在一个等矩形的全景图上画画,然后这个工具可以用3.ShapeGeometry将形状转换成平面

我可以从JS矢量编辑器和a帧中渲染的平面中获取每个形状节点的X/Y坐标。但是,我在将它们正确放置在skybox顶部时遇到了问题

我知道我需要做一些等矩形投影,但我不确定在这种情况下如何处理

有什么想法吗


不清楚您希望如何在三维空间中显示这些平面几何图形,但以下信息可能会对您有所帮助

使用类似于纬度和经度的物理样式,但不是从西到东从-180到180,从南到北从-90到90,你有类似于纬度的θ,从0指向直上到180指向直下,φ从0到360围绕Y轴旋转

从这两个角度可以映射到球体上的x、y、z(笛卡尔)坐标,在具有纹理的等矩形投影中,U轴水平方向从0到1,φ为0到360,V轴垂直方向从0到1,θ为0到180

有了这些信息,您应该能够在θ和φ球面极坐标中的等矩形平面上识别所选顶点,并将它们转换为球面上的x、y、z笛卡尔坐标

你想从那里做什么取决于。。。我会提出一个建议,但你愿意接受还是不接受

我想你要做的是,把这些点径向投影到一个与球体表面相切的平面上,也就是说,用一个穿过球体中心的法向量。我认为,问题的部分在于决定使用什么平面法线,以及在距球体中心多少距离处放置法线

随机的持续思考让我回想起几何学和物理课,想到物体表面密度恒定时的质心

一个更简单的解决方案是,只需单击定义形状内的某个位置,以定义球体表面上平面应相切的点,然后将法线长度从等于半径减小到小于定义形状的投影顶点的长度,使其完全适合内部球体


要将投影完美地拟合到球体内部定义形状的平面上,可以通过识别离切点最远的定义形状顶点(沿径向线的平面法线与球体表面相交)进行分析这将类似于沿a的最大弧长。

不清楚如何在3D空间中显示这些平面几何图形,但以下信息可能会在某种程度上帮助您

使用类似于纬度和经度的物理样式,但不是从西到东从-180到180,从南到北从-90到90,你有类似于纬度的θ,从0指向直上到180指向直下,φ从0到360围绕Y轴旋转

从这两个角度可以映射到球体上的x、y、z(笛卡尔)坐标,在具有纹理的等矩形投影中,U轴水平方向从0到1,φ为0到360,V轴垂直方向从0到1,θ为0到180

有了这些信息,您应该能够在θ和φ球面极坐标中的等矩形平面上识别所选顶点,并将它们转换为球面上的x、y、z笛卡尔坐标

你想从那里做什么取决于。。。我会提出一个建议,但你愿意接受还是不接受

我想你要做的是,把这些点径向投影到一个与球体表面相切的平面上,也就是说,用一个穿过球体中心的法向量。我认为,问题的部分在于决定使用什么平面法线,以及在距球体中心多少距离处放置法线

随机的持续思考让我回想起几何学和物理课,想到物体表面密度恒定时的质心

一个更简单的解决方案是,只需单击定义形状内的某个位置,以定义球体表面上平面应相切的点,然后将法线长度从等于半径减小到小于定义形状的投影顶点的长度,使其完全适合内部球体

要将投影完美地拟合到球体内部定义形状的平面上,可以通过识别离切点最远的定义形状顶点(沿径向线的平面法线与球体表面相交)进行分析这可能是沿直线的最大弧长