- 336
- 0
- 约4.97万字
- 约 45页
- 2020-10-22 发布于广东
- 举报
一直在用OCC 作项目,但这方面的中文资料很少,看来OCC 在中国还不是十分普及;
后来,项目中使用OCC 和DirectX 结合使用,取得了很好的效果;
随着OCC6.3 版本的推出,Open CASCADE 在速度方面已有了很大的改变。以下为一些OCC
的基础知识,愿与各位OCC 爱好者共同学习;
一:OCC 中的基础类:
gp_Pnt
在OCC 中,gp_Pnt 表示一个顶点,gp_Vec 表示一个向量,可以用两个顶点来生成一个向量。
比如:
gp_Pnt P1(0,0,0);
gp_Pnt P2(5,0,0);
gp_Vec V1 (P1,P2);
向量有一个方法.IsOpposite (),可以用来测试两个向量的方向是相对还是平行;
比
如:
gp_Pnt P3(-5,0,2);
gp_Vec V2
(P1,P3);
Standard_Boolean result =V1.IsOpposite(V2,Precision::Angular());
另外向量还有一些重要方法:
--Standard_Real Magnitude() const;计算向量的大小;
--Standard_Real SquareMagnitude() const;计算向量的平方;
--向量的加减乘除操作;
--向量的单位化;
--通过一个点,线,面得出其镜像的向量;
--向量的旋转,平移,缩放;
具体的函数名称可以看OCC 的头文件说明;
有时需要决定一组空间点是位于一个点;一条直线,或一个平面,或一个空间:
OCC 中提供了相应的算法;
比如:
TColgp_Array1OfPnt array (1,5); // sizing array
array.SetValue(1,gp_Pnt(0,0,1));
1
array.SetValue(2,gp_Pnt(1,2,2));
array.SetValue(3,gp_Pnt(2,3,3));
array.SetValue(4,gp_Pnt(4,4,4));
array.SetValue(5,gp_Pnt(5,5,5));
GProp_PEquation PE
(array,1.5 );
if (PE.IsPoint()){ } //是否是同一个点
gp_Lin
L;
if (PE.IsLinear()) { L = PE.Line(); } //是否位于一条直线
上;
if (PE.IsPlanar()){ } //是否在一个平面内;
if (PE.IsSpace()) { }
gp_Dir 类:
此类用来描述3D 空间中的一个单位向量;
常用方法:
(1):IsEqual(const gp_Dir Other,const Standard_Real AngularTolerance) const;两个
单位向量是否相等;
(2):IsNormal(const gp_Dir Other,const Standard_Real AngularTolerance) const;两
个单位向量的夹角是否是PI/2;
(3):IsOpposite(const gp_Dir Other,const Standard_Real AngularTolerance) const;
两个单位向量是否方向相反;
(4):IsParallel(const gp_Dir Other,const Standard_Real AngularTolerance) const;
两个单位向量夹角O 或PI;
(5):Angle(const gp_Dir Other) const;求两个向量之间的夹角;
(6):void CrossCross(const gp_Dir V1,const gp_Dir V2) ;计算三个向量之间的叉积;
(7):Standard_Real Dot(const gp_Dir Other) const;计算点积;
2
(8):Standard_Real DotCross(const gp_Dir V1,const gp_Dir V2) const;计算叉积再
点积;
(9):gp_Dir Reversed() const;得到反方向,
在OCC 中用 gp_Lin2d 类,来生成一个二维空间的直线,有它的原点和单位向量;
gp_Ax2d 类:
通过原点和X
您可能关注的文档
最近下载
- 合成生物学教材配套电子课件完整版电子教案.pptx
- AGMA 2000--A88-中文翻译版本.pdf VIP
- TwinSAFE EL6900 安全模块基础使用指南(针对TC3.1.4020.0版本).pdf VIP
- ISO22163-2023内审员审核技术培训.pdf VIP
- 提高钻孔灌注桩成孔质量一次验收合格率.docx VIP
- (完整版)放射工作人员培训考试试题(附答案).docx VIP
- 习题答案数字电路与系统设计 (8).docx VIP
- 小学科学四下作业本(浙江).pdf VIP
- 标准图集-中南11ZJ111 变形缝建筑构造.pdf VIP
- 精品解析:江苏省苏州市吴中区2025年中考二模考试英语试题(解析版).docx VIP
原创力文档

文档评论(0)