OpenCasCade数学库 - 二维图形变换(gp_Trsf2d)

gp_Trsf2d描述了三维空间中的图形变换。

   V1    V2     T          XY         XY

\begin{bmatrix} a_{11} & a_{12} & a_{13}\\ a_{121} & a_{22} &a_{23} \\ 0 &0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} = \begin{bmatrix} x^{'}\\ y^{'}\\ 1 \end{bmatrix}

{V1, V2}定义了图形变换中的向量变换,T定义了图形变换中的平移变换。

gp_Trsf2d的定义:

class gp_Trsf
{
public:
    ...
private:
  Standard_Real scale;
  gp_TrsfForm shape;     //图形变换类型
  gp_Mat2d matrix;
  gp_XY loc;
};

默认构造函数。


inline gp_Trsf2d::gp_Trsf2d () {
  shape = gp_Identity;
  scale = 1.0;
  matrix.SetIdentity ();
  loc.SetCoord (0.0, 0.0);
}

关于点对称

inline void gp_Trsf2d::SetMirror(const gp_Pnt2d& P)
{   
  shape = gp_PntMirror;
  scale = -1.0;
  matrix.SetIdentity ();
  loc = P.XY();
  loc.Multiply (2.0);
}

关于轴对称

void gp_Trsf2d::SetMirror (const gp_Ax2d& A)
{
  shape = gp_Ax1Mirror;
  scale = - 1.0;
  const gp_Dir2d& V = A.Direction ();
  const gp_Pnt2d& P = A.Location ();
  Standard_Real VX = V.X();
  Standard_Real VY = V.Y();
  Standard_Real X0 = P.X();
  Standard_Real Y0 = P.Y();
  matrix.SetCol (1, gp_XY (1.0 - 2.0 * VX * VX, -2.0 * VX * VY));
  matrix.SetCol (2, gp_XY (-2.0 * VX * VY, 1.0 - 2.0 * VY * VY));

  loc.SetCoord  (-2.0 * ((VX * VX - 1.0) * X0 + (VX * VY * Y0)),
                 -2.0 * ((VX * VY * X0) + (VY * VY - 1.0) * Y0));
}

旋转,P是旋转中心,Ang是旋转角度。

inline void gp_Trsf2d::SetRotation (const gp_Pnt2d& P,const Standard_Real Ang)
{
  shape = gp_Rotation;
  scale = 1.0;
  loc = P.XY ();
  loc.Reverse ();
  matrix.SetRotation (Ang);
  loc.Multiply (matrix);
  loc.Add (P.XY());
}

缩放,P是缩放中心,S是缩放比例。

inline void gp_Trsf2d::SetScale (const gp_Pnt2d& P, const Standard_Real S)
{
  shape = gp_Scale;
  scale = S;
  matrix.SetIdentity ();
  loc = P.XY ();
  loc.Multiply (1.0 - S);
}

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
opencascade-7.4.0-vc14-64.exe 是OpenCASCADE开源几何建模工具的一个安装程序。OpenCASCADE是一个用于开发CAD/CAM/CAE、3D建模和数据交换软件的开源三维几何建模工具包,提供了丰富的几何处理和模型分析功能。 这个安装程序的版本号为7.4.0,适用于使用Visual Studio 2017 (vc14)编译环境的64位Windows操作系统。安装程序主要用于将OpenCASCADE和相关文件安装到计算机系统中,以便开发人员能够在其开发的软件中使用OpenCASCADE的功能和特性。 通过运行opencascade-7.4.0-vc14-64.exe,用户可以按照安装向导的指示完成安装过程。安装程序通常会将OpenCASCADE文件、示例代码、文档和其他必要的文件复制到指定的目录中。一旦安装完成,用户就可以在其开发环境中配置OpenCASCADE,并开始使用OpenCASCADE的几何建模和分析功能。 OpenCASCADE具有广泛的应用领域,包括CAD软件、建筑设计、工业设计、仿真和分析等。开发人员可以使用OpenCASCADE的API来创建和编辑3D几何模型,执行各种几何操作,如裁剪、旋转、平移等,进行模型分析,如求交、求交集等,并进行数据交换与转换,使得用户能够与其他CAD软件进行数据的互操作。 总之,opencascade-7.4.0-vc14-64.exe 是OpenCASCADE开源几何建模工具的安装程序,允许用户在64位Windows系统上使用Visual Studio 2017编译环境来开发应用程序,利用OpenCASCADE的功能和特性进行几何建模、分析和数据交换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值