将球体上的 3d 点转换为 UV 坐标
Convert 3d point on sphere to UV coordinate
我在球体上有一个 3d 点,想从该点转换为球体纹理上的 UV 点。
有人能指出正确的方向吗?我可以采用纯数学解决方案。
编辑:
我目前有这个,它不返回正确的 UV 坐标。p 是球体上的 3D 点网格位置是球体的位置
var x = (p.x-mesh.position.x)/500;
var y = (p.y-mesh.position.y)/500;
var z = (p.z-mesh.position.z)/500;
var u = Math.atan2(x, z) / (2 * Math.PI) + 0.5;
var v = Math.asin(y) / Math.PI + .5;
关于 uv 映射的维基百科是正确的,但是您需要计算网格每个顶点的 uv 坐标。然后,您需要将 uv 坐标转换为像素坐标:opengl 中的完美 (3D) 纹理映射。这是另一个示例:http://www.cse.msu.edu/~cse872/tutorial4.html。您也可以尝试三种.js。您还需要物理复制 UV 三角形。
我找到了这篇维基文章 - http://en.wikipedia.org/wiki/UV_mapping - 他们似乎使用球体作为他们的例子。
希望对您有所帮助。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何将TypeScript对象转换为普通对象
- 检测个位数整数时正在转换毫秒
- 从javascript到jquery的转换
- DOM事件通过JSON转换为java
- 将圆柱体转换为弯管
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- JavaScript代码问题:我正在将对象转换为数组
- 如何将字母转换为二进制代码
- 将球体上的 3d 点转换为 UV 坐标