maya 里的点约束数学公式

本人刚刚学习 有错误的地方 还请大神指出


物体 A 和 物体B 同时点约束物体C。
在Maya中,影响点约束的属性有 translate,rotatePivot,rotatePivotTranslate  ,offset 每个影响物体的所占的比重值(W0,W1)。
手动连接的话,需要把这些属性全部连上。就是maya里的约束节点。但为了节省计算量也可以把rotatePivot和rotatePivotTranslate 剔除掉,制作过程中我没有用到过这个属性。

A的世界矩阵 ==>> Aw
B的世界矩阵 ==>> Bw
A的比重值    ==>> Aw0(是数字零,NND 字母O和数字0 一样一样的)
B的比重值    == >> Bw1
offset       ==>> Om
C的父亲逆矩阵                                    ==>> Cpim
C的rotatePivot逆矩阵                         ==>> CrpPim   
C的rotatePivotTranslate 逆矩阵         ==>> CrptPim
C约束后的矩阵                                    ==>> C后

因为是点约束,没有旋转。所以矩阵乘的顺序在这个公式里满足交换律
 A 和 B 同时点约束物体C。
C后  = {[Aw*(Aw0/(Aw0+Bw1))]+[Bw*( Bw1/(Aw0+Bw1))]}*Cpim*CrpPim *CrptPim*Om
(Aw0/(Aw0+Bw1))+ ( Bw1/(Aw0+Bw1)) = 1

单个物体约束
C后  = [Aw*(0<Aw0≤1))]*Cpim*CrpPim *CrptPim*Om

因为是点约束,没有旋转。矩阵的上三行 是默认的数值。因此上面公式可以转化为 各个的影响数值转化为向量相加然后点左乘C的父亲逆矩阵
{[Aw*(Aw0/(Aw0+Bw1))]+[Bw*( Bw1/(Aw0+Bw1))]} ==>> E (E为左面的公式转换为向量(位移)数值)   
CrpPim                                                                                               ==>> Cp  (在maya里直接rotatePivot 的数值乘以-1)
CrptPim                                                                                             ==>> Crp (在maya里直接rotatePivotTranslate 的数值乘以-1)
Om                                                                                                      ==>> O
C约束后的向量                                                                                  ==>> CV
公式we
CV = (E+Cp+Crp+O)*Cpim 
这其中,红色部分可以去除。




点约束,以我现在的知识量理解,是向量A + 向量B 得到的向量 ,就是物体C的位置。如下图:
但图中,C的位置根据我们的经验来看,明显不对啊 。应该在D的位置啊!!!!
别急!!!还有一张图.


咱不是有 Aw0 和 Bw1 ,在上面的公式中,是向量 A* Aw0/(Aw0+Bw1)和  向量B*Bw1/(Aw0+Bw1)
并且有 :(Aw0/(Aw0+Bw1))+ ( Bw1/(Aw0+Bw1))  = 1
咱先设 Aw0和 Bw1 都为 1 
则有  A*0.5   = A撇  
         B*0.5   = B撇
A撇+B撇   = C撇了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值