Animation 如何找到对齐两条直线的变换矩阵?
给定三维空间中的两个点,A和B,我得到一条线段LS。给定两个新的点A'和B'生成线段LS',我需要找到将LS转换为LS'的转换矩阵。假定线段的长度相等 我有一个关于如何计算矩阵的理论,但我真的想从你们这些优秀的人那里得到一些反馈,看看这是一个好的理论还是有更好的方法 这是我的算法:Animation 如何找到对齐两条直线的变换矩阵?,animation,matrix,xna,transformation,Animation,Matrix,Xna,Transformation,给定三维空间中的两个点,A和B,我得到一条线段LS。给定两个新的点A'和B'生成线段LS',我需要找到将LS转换为LS'的转换矩阵。假定线段的长度相等 我有一个关于如何计算矩阵的理论,但我真的想从你们这些优秀的人那里得到一些反馈,看看这是一个好的理论还是有更好的方法 这是我的算法: 设L和L'是平行于LS和LS的线' 找到L与L相交的点P' 求L和L’之间的角度V 最终转换矩阵为: 平移(-p)*旋转(V)*平移(p) 好奇者的一些背景:我正在XNA中构建这个,尽管这个数学问题应该是相当一般的。
好奇者的一些背景:我正在XNA中构建这个,尽管这个数学问题应该是相当一般的。线段是连接线段的较大结构的一部分。对于每个片段,我将为每个动画帧预先计算一个变换矩阵。我想,用a到a来代替寻找交点就足够了。那么你可能需要两次旋转,一次使两条线在同一平面上,另一次使它们实际对齐。这些线总是相交吗?@tafa:不,谢谢你指出。我不能保证,事实上,仔细想想,它们在某些情况下很可能是并行的。是的,这应该是可行的,而且考虑到这一点,可能会更安全:如果LS和LS'是并行的,我的初始算法就会出问题。