2013-10-06 31 views
0

我有一个数学/矢量/矩阵问题,我似乎无法解决。如何找到在3d空间中转换的表面上的3d点的相对位置

我在3D空间中有4个点代表了曲面的边界。

我已经写了一个raycast algoritum来获取鼠标“ray”与3D场景中矩形的交集位置。

场景中的矩形有一个旋转和平移矩阵,所以它可以在场景中的任何位置移动,并且我的光线投射系统可以正确地获取表面上的光线点击位置。

我的问题是,我需要现在采取世界空间中的雷击命中位置,并找出击中矩形的2d表面上的哪个位置。

我无法解决如何做到这一点。

+0

您正在使用混合语言几何/数学/东西 - 我不知道 - 我个人无法正确理解。请澄清你在找什么,并提供正确的输入,如果你想快速获得帮助。如果您希望将问题/解决方案作为几何/数学方面进行集中,请发布预期的输入/输出以及计算的伪算法;您可以依靠C#并只写下这些信息(输入/输出,计算)。如果您希望修复特定的代码,请将其发布(再次连同预期的输入/输出)。请帮助我们来帮助你。 – varocarbas

回答

2

你的生命值是在世界空间。为了得到与原始4点相同的坐标系中的点,只需计算旋转和平移矩阵的逆矩阵,并将该逆矩阵乘以该点。

结果点将与表示曲面边界的4个点位于同一坐标系中。

+0

我会放弃这一点,我想我可以计算一个逆矩阵。 谢谢! –

+0

“在世界空间”?你(和OP)是指特定类型的实现(在游戏或类似的东西中)?对于那些期望数学在带有数学标记的问题中交谈的人,你能否让所有这些(问题和答案)都可以理解? – varocarbas

+0

是的,工作,我试图创建相反的矩阵,但我没有尝试使用变换的逆矩阵进入对象空间。 谢谢,标记为答案。 –