3D Geometry Types in OpenCascade

简介: 3D Geometry Types in OpenCascade eryar@163.com 摘要Abstract:本文对OpenCascade中的几何类型进行简要介绍。文章内容来源为OpenCascade的介绍文档overview。

3D Geometry Types in OpenCascade

eryar@163.com

摘要Abstract:本文对OpenCascade中的几何类型进行简要介绍。文章内容来源为OpenCascade的介绍文档overview。

关键字Key Words:OpenCascade、Geometry

 

OpenCascade中Geom包提供了符合STEP part42部分的三维几何对象的实现。特别提供了以下功能:

l 对点、向量、曲线、曲面的描述;

l 它们在三维坐标空间中的位置;

l 它们的几何变换,如平移、旋转、镜像、缩放,或者这些变换的组合;

几何曲线曲面(Geom Curves and Surfaces)的重要特点是他们是参数化的(parameterized)。每个类都提供了对曲线、曲面参数方程相关计算的功能。特别地,计算如下点:

n 曲线上参数u对应的点;

n 曲面上参数(u,v)对应的点;

n 曲面上参数(u,v)处的1,2,...,N次导数的向量;

由于曲线曲面是参数表示的,所以Geom曲线、曲面是有方向(oriented)的。OpenCascade还提供了与参数表示的有向的曲线曲面不同的,类名相同或相似的包gp。Geom包还提供了将Geom与gp包中曲线曲面互相转换的功能。Geom提供了更复杂的曲线曲面,包含:

l Bezier和B样条曲线曲面Bezier and BSpline curves and surfaces;

l 扫掠曲面,如旋转、拉伸曲面swept surfaces, revolution and linear extrusion surfaces;

l 裁剪曲线曲面trimmed curves and surfaces;

l 偏移曲线曲面offset curves and surfaces;

Geom包中的对象根据继承结构来组织,Geom_Surface的类图如下所示:

wps_clip_image-22747

所以,球(具体类为Geom_SphericalSurface)也是一个初等曲面(elementary surface),因为他由Geom_ElementarySurface派生。Bezier曲面(具体类为Geom_BezierSurface)也是一个有界曲面(bounded surface),因为他由Geom_BoundedSurface派生。这两种曲面还都是曲面(抽象类Geom_Surface)。由抽象基类Geom_Geometry派生的曲线、点、向量,描述了Geom包中的几何对象通用的属性。

这个派生结构是开放的,也可用来定义新的对象。

最后,Geom对象也在更复杂的数据结构中使用。这也是拓朴数据结构(topological data structure)中使用他们的原因。例如:

Geom包使用gp包中的功能来实现初等代数积分和对几何对象的基本分析;

描述可用于Geom对象的几何变换;

描述Geom对象的初等数据结构。

毕竟包Geom主要是提供数据而不是算法。可使参考包GC去查找关于构造Geom对象的更多算法。

 

目录
相关文章
|
开发者
Intersection between a 2d line and a conic in OpenCASCADE
Intersection between a 2d line and a conic in OpenCASCADE eryar@163.com Abstract. OpenCASCADE provides the algorithm to implementation of the analy...
1537 0
|
C++ 算法
OpenCASCADE BRep Projection
OpenCASCADE BRep Projection eryar@163.com 一网友发邮件问我下图所示的效果如何在OpenCASCADE中实现,我的想法是先构造出螺旋线,再将螺旋线投影到面上。
1757 0
OpenCASCADE Make Primitives-Sphere
OpenCASCADE Make Primitives-Sphere eryar@163.com Abstract. The sphere is the simplest topology shape of the BRep structure.
1168 0
|
C语言 Windows 开发工具
OpenCASCADE Conic to BSpline Curves-Parabola
OpenCASCADE Conic to BSpline Curves-Parabola eryar@163.com Abstract. Rational Bezier Curve can represent conic curves such as circle, ellipse, hyperbola, .
1043 0
OpenCascade Primitives BRep - Sphere
OpenCascade Primitives BRep - Sphere eryar@163.com Abstract. BRep is short for Boundary Representation.
1119 0
OpenCascade Primitives BRep-Cone
OpenCascade Primitives BRep-Cone eryar@163.com Abstract. BRep is short for Boundary Representation.
1304 0
OpenCascade Primitives BRep-Cylinder
OpenCascade Primitives BRep-Cylinder eryar@163.com Abstract. BRep is short for Boundary Representation.
1178 0
OpenCascade Primitives BRep-Torus
OpenCascade Primitives BRep-Torus eryar@163.com Abstract. BRep is short for Boundary Representation.
1133 0
|
Shell
OpenCascade Primitives BRep - Box
OpenCascade Primitives BRep - Box eryar@163.com Abstract. BRep is short for Boundary Representation.
1664 0
|
算法 图形学
Surface Normal Vector in OpenCascade
Surface Normal Vector in OpenCascade eryar@163.com 摘要Abstract:表面上某一点的法向量(Normal Vector)指的是在该点处与表面垂直的方向。
1382 0

热门文章

最新文章