WEB开发网
开发学院软件开发VC 坐标变换 阅读

坐标变换

 2008-02-26 20:28:17 来源:WEB开发网   
核心提示:3、如何通过矩阵作点的坐标变换这个最好办了,我们这里讨论的矩阵都是左乘矩阵,坐标变换(3),所以把矩阵乘以点就完成了变换,x = M[0][0]*Px + M[0][1]*Py + M[0][2]*Pz + M[0][3];y = M[1][0]*Px + M[1][1]*Py + M[1][2]*Pz + M[1][

3、如何通过矩阵作点的坐标变换

这个最好办了。我们这里讨论的矩阵都是左乘矩阵,所以把矩阵乘以点就完成了变换。

x = M[0][0]*Px + M[0][1]*Py + M[0][2]*Pz + M[0][3];
y = M[1][0]*Px + M[1][1]*Py + M[1][2]*Pz + M[1][3];
z = M[2][0]*Px + M[2][1]*Py + M[2][2]*Pz + M[2][3];

这里的 M 是一个 4*4 的二维数组,存放行优先的矩阵。

4、曲线、曲面方程如何作变换

曲线、曲面方程有参数方程、非参数方程等形式。当然曲线、曲面还可能由微分方程描述。这个时候微分方程如果没有公式解,事情就很麻烦。计算机中一般比较容易处理参数方程。参数方程作变换形式上很简单 。

右边的结果会得到一个矢量,最终可以得到 (F1x, F1y, F1z) 的形式,这是一个新的参数方程。如果曲线曲面由非参数方程描述 F(x,y,z)=0,比如

这个时候,你可以尝试解出 x,y,z:

令 x = u,y = v,可以得到

这下得到参数方程了,可以按照前面讲的步骤作转换。最后你会得到曲线、曲面变换后的参数方程。接下来你可以尝试着消去这些中间参数 u,v。这个过程可能会比较艰难。

如果遇到隐式方程,无法解出,比如

这是最倒霉的情况,求解是没希望的。当然,如果你不要求精确的公式,你还是可以先令 x=u, y=v,代入之后,用泰勒展开求的 z 的级数,这也是一个方法哦:)

上一页  1 2 3 

Tags:坐标 变换

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接