UFUN和NXOPEN中的变换矩阵区别

本文探讨了UFUN中的UF_MODL_transform_entities函数和NXOPEN中的ComponentNetwork类在处理实体和装配组件变换矩阵时的不同。重点在于动态变换和静态变换的实现方法,动态变换通过求逆矩阵进行,而静态变换则涉及先旋转后平移的过程。同时,文章还分享了作者实现的两个移动相关类的部分代码。
摘要由CSDN通过智能技术生成

UFUN中用于实体变换矩阵的函数为:

UF_MODL_transform_entities 

NXOPEN中用于装配组件变换矩阵的类为:

ComponentNetwork

它们的变换矩阵方式是不同的,前者为动态变换,后者为静态变换。

动态变换求法:

            var invert = Current.Inverse();
            var trans = invert.Multiply(position);

静态变换求法(先旋转后平移):

            var cur = Current;
            cur.Transpose();//转置
            var pos = position;
            pos.Transpose();//转置
            var trans = cur.Inverse().Multiply(pos);
            var rotation = trans.UpperLeft.ToMatrix3x3();
            trans.Transpose();
            var translation = trans.Translation.ToVector3d();

分享下我的两个移动相关的类(部分相关类没有提供):

public class MoveObjectBuilder
    {
        #region Conductor
        protected MoveObjectBuilder() { }
        public static Mo
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值