Javascript 将形状从平面等矩形全景映射到a帧内的平面
我正在尝试为a帧内的360幅图像构建一个热点编辑器 这个想法是,你可以在一个等矩形的全景图上画画,然后这个工具可以用3.ShapeGeometry将形状转换成平面 我可以从JS矢量编辑器和a帧中渲染的平面中获取每个形状节点的X/Y坐标。但是,我在将它们正确放置在skybox顶部时遇到了问题 我知道我需要做一些等矩形投影,但我不确定在这种情况下如何处理 有什么想法吗Javascript 将形状从平面等矩形全景映射到a帧内的平面,javascript,three.js,aframe,Javascript,Three.js,Aframe,我正在尝试为a帧内的360幅图像构建一个热点编辑器 这个想法是,你可以在一个等矩形的全景图上画画,然后这个工具可以用3.ShapeGeometry将形状转换成平面 我可以从JS矢量编辑器和a帧中渲染的平面中获取每个形状节点的X/Y坐标。但是,我在将它们正确放置在skybox顶部时遇到了问题 我知道我需要做一些等矩形投影,但我不确定在这种情况下如何处理 有什么想法吗 不清楚您希望如何在三维空间中显示这些平面几何图形,但以下信息可能会对您有所帮助 使用类似于纬度和经度的物理样式,但不是从西到东从-1
不清楚您希望如何在三维空间中显示这些平面几何图形,但以下信息可能会对您有所帮助 使用类似于纬度和经度的物理样式,但不是从西到东从-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笛卡尔坐标 你想从那里做什么取决于。。。我会提出一个建议,但你愿意接受还是不接受 我想你要做的是,把这些点径向投影到一个与球体表面相切的平面上,也就是说,用一个穿过球体中心的法向量。我认为,问题的部分在于决定使用什么平面法线,以及在距球体中心多少距离处放置法线 随机的持续思考让我回想起几何学和物理课,想到物体表面密度恒定时的质心 一个更简单的解决方案是,只需单击定义形状内的某个位置,以定义球体表面上平面应相切的点,然后将法线长度从等于半径减小到小于定义形状的投影顶点的长度,使其完全适合内部球体 要将投影完美地拟合到球体内部定义形状的平面上,可以通过识别离切点最远的定义形状顶点(沿径向线的平面法线与球体表面相交)进行分析这可能是沿直线的最大弧长