posts - 428, comments - 578, trackbacks - 0, articles - 0

3D Geometry Types in OpenCascade

Posted on 2013-08-12 23:05 eryar 阅览(1857) 谈论(0)  修改 保藏 引证 所属分类: 2.OpenCASCADE

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目标的更多算法。