青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

sgCore庫簡介

Posted on 2013-06-30 19:59 eryar 閱讀(5487) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

Introduction of sgCore

eryar@163.com

摘要Abstract:本文結合sgCore的幫助文檔簡要介紹了一個sgCore庫的功能。

關鍵字KeyWords:sgCore、Modeling Algorithm、Triangulation

一、簡介

sgCore是由Geometros公司創建的實體造型庫,是其公司的一個產品SolidGraph(參數化CAD系統)的幾何內核。sgCore只用C++開發,導出了約30多個類及實現了二維和三維造型中的大部分算法。如:布爾運算、放樣和其他曲面。 其免費庫及示例程序可以從這里獲得:http://www.geometros.com/

二、幾何

幾何(Geometry)是sgCore庫中的一個核心概念。用戶使用庫來造型時有兩個基本點:一是幾何對象的數學描述;一是其顯示,對于三維對象而言是其多邊形(polygonal),對于二維對象是其線段(segment)。

幾何(Geometry)是獨立的概念。它只是幾何對象的數學的精確描述。

三、sgCore對象

對象(Object)和幾何(Geometry)是庫sgCore中的主要概念。與幾何的精確描述幾何體的概念不同,對象是用來顯示的,它只是幾何體的近似逼近。庫sgCore中所有的操作都是基于對象(Object)的,而不是針對幾何(Geometries)的。

庫sgCore中的二維對象只是一些線段(a number of line segments);三維對象是一些三角面片(a number of triangles)。三維對象在計算機中最終都是被離散成三角面片后顯示的。

與幾何(Geometry)精確表示幾何體不同,對象(Object)并不精確表示幾何體,它是在幾何上以一定精度近似表示幾何體的。我們通常只能得到幾何(Geometry)的一定精度的對象(Object)。這也是每個對象(Object)都保存一份(Geometry)的原因。

對象(Object)的類圖如所示:

wps_clip_image-10288

3.1 二維基類sgC2DObject

其中二維的基類sgC2DObject很好理解。基本上都用其幾何概念來表示,顯示時通過GetPoints()得到二維對象上離散的點,用GL_LINE_STRIP來在OpenGL中顯示即可。

3.2 三維基類sgC3DObject

三維基類sgC3DObject用來表示用三角面片數組來逼近幾何對象(Object)的類。用于三角化及顯示的函數主要有:

wps_clip_image-22425

其中AutoTriangulate()用來設置三維對象全局的三角化標志。當創建復雜三維對象時,建議將此標志關閉,可以提高算法速度。并使用函數sgC3DObject::Triangulate來對最終對象進行三角化。

sgCore庫的三角離散主要用了兩種算法:

wps_clip_image-29678

l SG_VERTEX_TRIANGULATION:這種三角化算法不創建新的頂點,這種三角化的算法有個缺點,可能導致stretched三角形;

l SG_DELAUNAY_TRIANGULATION:Delaunay三角化。

兩種三角化效果的比較如下圖所示:

wps_clip_image-6320

三維對象經過三角離散化后,就可以用GL_TRIANGLES在OpenGL中顯示了。

如下圖所示為使用 三角化后的Box:

 

// Make a box 
sgCBox* aBox = sgCreateBox(122.1); 
aBox
->Triangulate(SG_DELAUNAY_TRIANGULATION); 

 

三角化后的三角形可以通過函數GetTriangles()取得,用于顯示。

wps_clip_image-4312

其中Box經過Delaunay三角化后,生成12個三角形,即一個Box由六個面,每個面2個三角形。

顯示的實現可以參考sgCore的示例程序:demo_sources中的OpenGL文件夾下的Painter類。

3.3 邊界表示法表示幾何體sgCBRep

在庫sgCore中所有的三維對象(3D solids)都是以多邊形面的形式存儲,即也是邊界表示(BRep)存儲的。這種表示方法使用幾何實體的邊界面(Boundary surface)來表示實體。

每個表面(Surface)由一系列的面(Faces)來逼近。每個面(Face)由其數學方式來描述(compact mathematical representation)。

面(Face)的邊界由邊(Edges)來表示。邊(Edges)與面類似,也是用其數學方式來描述。

組成邊(Edge)的曲線的端點就是頂點(Vertexes)。

這里有必要引入環(Cycle)的概念,用來描述面(Face)的輪廓(Contour)。因為每個面(Face)可以是由多個孔(any number of holes)的非凸包(non-convex)的多邊形表示。

只有平面(Flat face)表示的模型稱為多邊形模型(Polygonal Model)。則多邊形面包含了一系列的坐標頂點。

一個對象(Object)包含由一系列的表組成。

sgCore庫也引入一個術語:BRep面片(BRep piece)。一個BRep面片就是與邊界表面相連的一個面片。引入這個概念的目的是為了加快一些造型算法(如布爾運算算法)。每個BRepPiece有一個有限邊界的立體平行四邊形。It was designed to avoid passes of each BRep pieces face in the cycles. 所有的BRep面片連接起來組成一個完整的BRep。

下面以一個非凸的有一個孔的平面拉伸得到的BRep實體為例來說明相關概念。把這個BRep體分為四個面片:2個基面、一個側面和孔面。如下圖所示:

wps_clip_image-14857

下表將這個BRep體的頂點和邊的信息進行說明。

wps_clip_image-31398

面(Face)由邊的集合Edges組成。面的初始邊的索引(Index)會設置,然后環(Cycle)的結構可以用來確定面的下一個邊。這樣面的外輪廓和孔都可以區分了。

如下圖所示為一個Box的BRep表示的數據結構:

 

// Make a box 
sgCBox* aBox = sgCreateBox(122.1); 

 

wps_clip_image-28847

四、造型算法

2D、3D的許多數學算法都在sgCore庫中實現了。最基本和最重要的就是從已有的對象基礎上創建出新的對象。在現代的計算機輔助設計系統(CAD)中創建新的對象的主要工具是布爾運算(Boolean operations)和基于二維對象創建體和面。sgCore庫為開發者提供了大部分相關算法:布爾操作(Boolean operations)、放樣(Kinematic operations)、基于二維對象創建三維對象(Creating 3D objects based on 2D objects.)。

4.1 布爾操作

布爾操作是由兩個已經存在的對象創建出一個新的對象。布爾操作有以下幾種:Intersection、Union、Sub、Section、IntersectionContour。

l Intersection:布爾交;

wps_clip_image-25000

l Union:布爾并;

wps_clip_image-25972

l Sub:布爾減;

wps_clip_image-9757

l IntersectionContour:計算交線;

wps_clip_image-20330

l Section:

wps_clip_image-25431

4.2 放樣操作

放樣操作(Kinematic Options)意思是將一個二維對象沿三維空間的路徑拉伸得到的三維對象。拉伸的對象稱為clip,路徑稱為profile。放樣操作主要有以下幾種:

l Rotation:旋轉;

wps_clip_image-17150 wps_clip_image-12527

l Extrusion:拉伸;

wps_clip_image-25306

wps_clip_image-12942

l Spiral:螺旋;

wps_clip_image-18693

wps_clip_image-4892

l Pipe-like:管狀;

wps_clip_image-29143

wps_clip_image-11861

4.3 構建表面

庫sgCore實現一些從二維對象構建三維面的算法。實現的算法如下所示:

wps_clip_image-32700

構造帶孔的平面:

wps_clip_image-1043

Coons曲面:

wps_clip_image-9690

wps_clip_image-10956

由控制點構造曲面Mesh:

wps_clip_image-14613

由截面Section創建:

wps_clip_image-25360

wps_clip_image-8711

wps_clip_image-15387

五、結論

sgCore是個小巧且造型功能還不錯的庫,且是免費的,能滿足一般的造型需要。

更多詳細說明請參考sgCore的文檔。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品成人一区二区在线观看 | 亚洲欧洲精品一区二区三区波多野1战4 | 国产午夜精品久久久久久久| 欧美三区在线| 国产精品高精视频免费| 国产精品午夜电影| 激情成人亚洲| 999亚洲国产精| 欧美一级日韩一级| 免费成年人欧美视频| 亚洲精品1区| 亚洲免费小视频| 久久一区二区三区国产精品| 欧美成人精品1314www| 国产精品美女一区二区| 在线观看视频亚洲| 亚洲欧美精品suv| 奶水喷射视频一区| 在线视频日韩| 久久人91精品久久久久久不卡| 欧美18av| 国内揄拍国内精品少妇国语| 亚洲精品在线三区| 久久久xxx| 一本色道久久88综合日韩精品| 久久激情综合网| 欧美日韩在线精品| 亚洲第一在线综合在线| 亚洲欧美日韩精品久久久久| 久久视频一区| 亚洲欧美精品伊人久久| 欧美韩国日本综合| 一区久久精品| 欧美中文字幕| 99精品国产在热久久下载| 久久久人成影片一区二区三区观看 | 一区二区三区导航| 久热精品视频在线观看| 一区二区电影免费在线观看| 久久噜噜亚洲综合| 国产精品夜夜嗨| 日韩一级黄色大片| 久久影视精品| 欧美一区二区观看视频| 欧美亚男人的天堂| 一区二区三区毛片| 亚洲三级视频| 欧美激情1区2区3区| 狠狠色丁香久久综合频道| 午夜精品久久99蜜桃的功能介绍| 亚洲国产一区二区三区高清 | 亚洲国产精品一区制服丝袜| 欧美一级淫片aaaaaaa视频| 欧美视频官网| 亚洲网友自拍| 日韩小视频在线观看专区| 免费成人在线观看视频| 精品999日本| 欧美肥婆bbw| 欧美高清自拍一区| 在线性视频日韩欧美| 亚洲精品综合久久中文字幕| 欧美日韩国产a| 一区二区欧美在线| 夜夜夜精品看看| 国产精品久久综合| 欧美在线网站| 久久人人超碰| 亚洲精品一区久久久久久| 亚洲国产精品综合| 欧美三级韩国三级日本三斤| 亚洲欧美不卡| 久久精品国产第一区二区三区最新章节 | 久久久亚洲精品一区二区三区 | 老司机免费视频一区二区| 很黄很黄激情成人| 欧美激情中文字幕乱码免费| 欧美黄色成人网| 亚洲综合成人在线| 性欧美18~19sex高清播放| 韩国一区电影| 最新日韩欧美| 国产欧美va欧美不卡在线| 久久亚洲综合| 欧美精品二区| 欧美亚洲一区三区| 久久久亚洲午夜电影| 亚洲免费av电影| 午夜一区不卡| 日韩午夜一区| 欧美影视一区| 日韩亚洲成人av在线| 午夜精品久久久99热福利| 亚洲二区视频在线| 亚洲在线视频免费观看| 亚洲福利在线视频| 亚洲视频一二| 亚洲精品一品区二品区三品区| 日韩特黄影片| 亚洲国产欧美在线| 亚洲男人的天堂在线| 亚洲国产三级在线| 一区二区三区自拍| 久久久久久亚洲精品杨幂换脸| 久久久久久久久久码影片| aa级大片欧美三级| 欧美在线一区二区| 亚洲一区二区在线观看视频| 久久国产精彩视频| 亚洲欧美日韩国产一区| 欧美激情一区二区三区四区| 久久riav二区三区| 欧美午夜精品久久久久久人妖| 免费看亚洲片| 激情成人中文字幕| 亚洲宅男天堂在线观看无病毒| 最新国产の精品合集bt伙计| 亚洲愉拍自拍另类高清精品| 一区二区三区四区五区精品视频| 久久免费国产精品| 久久久久免费| 国产午夜精品理论片a级探花| 亚洲三级免费电影| 99精品免费网| 欧美韩国日本一区| 亚洲人体1000| 亚洲精品在线观| 欧美成人免费在线| 欧美freesex8一10精品| 国产真实乱偷精品视频免| 亚洲免费中文| 午夜精品一区二区三区在线播放| 欧美日韩国产三区| 日韩一二三区视频| 中文亚洲字幕| 国产精品久久久久9999高清| 99综合电影在线视频| 亚洲午夜极品| 国产精品毛片高清在线完整版| 一本色道久久99精品综合| 亚洲少妇自拍| 国产精品久在线观看| 亚洲伊人观看| 久久久视频精品| 1024国产精品| 欧美韩日亚洲| 一本久道久久久| 午夜亚洲福利在线老司机| 国产精品永久免费视频| 欧美一区二区在线观看| 免费观看国产成人| 日韩一二在线观看| 国产精品裸体一区二区三区| 西瓜成人精品人成网站| 美女脱光内衣内裤视频久久影院 | 亚洲日本免费| 亚洲欧美日韩人成在线播放| 国产拍揄自揄精品视频麻豆| 久久精品在线| 亚洲国产另类 国产精品国产免费| 日韩一级黄色大片| 国产精品女主播一区二区三区| 欧美亚洲日本一区| 欧美国产日韩视频| 亚洲综合精品自拍| 在线日韩中文字幕| 国产精品黄视频| 久久人人爽爽爽人久久久| 亚洲人成网站色ww在线| 99精品视频一区| 99视频精品| 国产亚洲欧美日韩在线一区| 久久国内精品视频| 亚洲蜜桃精久久久久久久| 久久电影一区| 艳妇臀荡乳欲伦亚洲一区| 国产人妖伪娘一区91| 欧美激情第五页| 欧美在线视频一区二区三区| 亚洲黄色视屏| 欧美mv日韩mv国产网站| 亚洲欧美成人| 日韩视频永久免费观看| 国产在线视频不卡二| 欧美午夜精品久久久久久久| 久久香蕉精品| 欧美一级理论性理论a| 99视频+国产日韩欧美| 欧美成人一品| 久久久精彩视频| 午夜精品偷拍| 亚洲一区二区三区高清| 亚洲人www| 亚洲二区视频| 激情视频亚洲| 国内精品一区二区| 国产欧美日韩综合一区在线播放| 欧美日韩免费精品| 欧美日韩另类字幕中文| 欧美不卡高清|