math - 投影矩阵点到球面

标签 math geometry 3d

我需要将 3D 对象投影到球体的表面上(嗯……就像转换阴影一样)。

AFAIR 这应该可以通过投影矩阵实现。

如果“阴影接收器”是一个平面,那么我的投影矩阵将是一个 3D 到 2D 平面的投影,但在这种情况下我的接收器是一个 3D 球面。

那么给定 sphere1(centerpoint,radius),sphere2(othercenter,otherradius) 和一个视点,我如何计算一个矩阵,将所有点从 sphere2 投影到 sphere1(就像转换阴影)。

最佳答案

你的意思是给定一个顶点 v 你想要下面的投影:

v'= 中心点 + (v - 中心点) * (半径/|v - 中心点|)

这对于投影矩阵是不可能的。不过,您可以在着色器中轻松完成。

关于math - 投影矩阵点到球面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344572/

相关文章:

javascript - JS : find lowest/highest number from array within a specific range

algorithm - 大数的数学表示?

excel - Excel 运算顺序(不同的结果,仅限除法/乘法)

algorithm - 多边形中的孔

ios - 椭圆绘制算法中的二维变换

c++ - FbxSDK 打破常态

graph - 使用Gnuplot的3D映射图不准确

math - float 学有问题吗?

algorithm - Delaunay三角剖分和最大内切圆的混淆

CSS 文本编辑