这不是作业。我是自学计算机图形学,使用的书“三维数学基础为图形和游戏发展”(第二版)。所以,第三章中的练习6,我不知道如何准确地解决。事情是这样的:
“假设机器人位于(1,10,3)的位置,她在垂直空间中表示的右、上和前向矢量分别是0.866,0,−0.500、0,1,0和0.500,0,0.866。(注意,这些向量构成一个正交基础。)以下点在物体空间中表示。计算这些点在直立和世界空间中的坐标。(a) (−1,2,0) (b) (1,2,0) .”
现在我知道,为了从物体空间转换到世界空间,我必须首先通过旋转转换成惯性/直立空间,然后通过转换进入世界空间。所以我假设点(1,10,3)用世界空间坐标表示。我不明白的是,用哪一个矩阵来做点旋转(-1,2,0)?我从概念上理解正在发生什么,但我不知道在这里应该做什么操作。帮助是非常需要的,我们会感激的。提前谢谢。
发布于 2019-05-07 10:45:00
对于其他可能有这个问题的人,这里可能有一个更直截了当的数字答案(我现在也在研究这本书)。考虑到这一点:
然后,要在世界空间中计算这一点,只需将您的世界空间引用添加到垂直向量中。意思:
书中的第一个例子是:
发布于 2019-02-08 21:31:23
让我试着用数学的方法翻译这个问题陈述,这样就可以更容易地理解它。
假设机器人处于该位置(1,10,3)
假设有一组基\mathbf{e}_i和原点\mathbf{O},那么在这个基础上表示的机器人位置\mathbf{P}是基和系数\mathbf{p}=(1,10,3)的原点加线性组合:
在垂直空间中表示的她的右向量、向上向量和前向向量分别是0.866,0,−0.500、0,1,0和0.500,0,0.866。
现在我们有另一组基表示为\mathbf{e}'_i附加在\mathbf{P},这两个基\mathbf{e}和\mathbf{e}'之间的关系也表示为线性组合。也就是说,表示\mathbf{m}_0=(0.866,0,-0.5)、\mathbf{m}_1=(0,1,0)和\mathbf{m}_2=(0.5,0,0.866),然后
计算这些点在垂直和世界空间的坐标。(a) (−1,2,0) (b) (1,2,0) .
给定的坐标在对象空间中,问题要求我们分别用框架\{\mathbf{e}_i,\mathbf{P}\}和\{\mathbf{e}_i,\mathbf{O}\}来计算它们的表示。
以\mathbf{x}=(-1,2,0)为例,我们希望找到竖直空间中的坐标\mathbf{l}:
用矩阵形式写成:\mathbf{M}^T \mathbf{x}=\mathbf{l}。
接下来,我们在世界空间中找到坐标\mathbf{w}:
以矢量形式书写:
你的想法大体上是正确的。并通过考虑两个基之间的关系(m_{ij})来构造“直立”矩阵,如上面所示。
https://computergraphics.stackexchange.com/questions/8562
复制相似问题