• <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>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            OpenCASCADE HLR 輪廓線

            Posted on 2023-12-03 20:53 eryar 閱讀(2256) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 2.OpenCASCADE

            OpenCASCADE HLR Quadric Surface Outline Edge

            Key Words: HLR, Outline Edge, Sihouette Edge

            1 Introduction

            OpenCASCADE中關(guān)于隱藏線消除HLR算法的描述就是一句話:These algorithms are based on the principle of comparing each edge of the shape to be visualized with each of its faces, and calculating the visible and the hidden parts of each edge. 即根據(jù)面判斷每條邊Edge的遮擋關(guān)系,計(jì)算出邊Edge可見(jiàn)和不可見(jiàn)部分。所以HLR算法的輸入主要為邊和面,計(jì)算遮擋關(guān)系依賴線面求交算法。對(duì)于精確的HLR算法依賴精確的線面求交算法,PolyAlgo算法依賴多段線與網(wǎng)格求交算法。輸入的邊中除了BREP中的邊以外,還有一類(lèi)是根據(jù)投影方向計(jì)算得來(lái)的,即外輪廓線Outline,也稱(chēng)為Contour線。ACIS的PHLR中稱(chēng)輪廓線Sihouette Edge。

            輪廓線的計(jì)算是HLR中比較關(guān)鍵的一步,本文以O(shè)penCASCADE中簡(jiǎn)單的二次曲面的輪廓線計(jì)算入手來(lái)理解曲面的輪廓線概念,為理解任意曲面輪廓線計(jì)算打下基礎(chǔ)。

            2 Outline Builder

            OpenCASCADE的HLR中使用類(lèi)HLRTopoBRep_OutLiner來(lái)計(jì)算外輪廓線。輪廓線的計(jì)算依賴投影方向及投影方式,主要計(jì)算邏輯在函數(shù)Fill()中:

            投影方式主要分為透視投影Perspective和平行投影,工程圖生成一般使用平行投影方式。實(shí)際計(jì)算類(lèi)是Contap_Contour,在類(lèi)Contap_Contour中又根據(jù)投影曲面類(lèi)型分為兩種類(lèi)型來(lái)處理:

            • 二次曲面
            • 任意曲面

            其中函數(shù)PerformAna()為計(jì)算平面、球面、圓柱面、圓錐面的外輪廓線,最終會(huì)使用類(lèi)Contap_ContAna。其中Ana為Analytical解析曲面的意思,這里指能用解析表達(dá)式表示的二次曲面。

            3 Contap_ContAna

            類(lèi)Contap_ContAna能計(jì)算球面、圓柱面和圓錐面的外輪廓線Contour,下面我們主要來(lái)看看這三類(lèi)面的外輪廓線計(jì)算結(jié)果。

            對(duì)于平行投影球面會(huì)生成以投影方向?yàn)榉ㄏ颍郧虬霃綖榘霃降囊粋€(gè)圓,代碼如下所示:

            如下圖所示中的綠色的線:

            對(duì)于平行投影圓柱面會(huì)生成兩條直線,若投影方向與圓柱面法向平行時(shí)不生成輪廓線,這時(shí)就是使用圓柱體中的上下兩個(gè)圓的邊。代碼如下所示:

            生成的兩條直線方向?yàn)閳A柱面的軸方向:

            圓錐面的輪廓線生成函數(shù)邏輯類(lèi)似,留給讀者自行分析理解。

            4 Conclusion

            綜上所述,BREP的HLR算法需要計(jì)算模型的外輪廓線。如球體的BREP邊有兩個(gè)退化邊(極點(diǎn)),及兩個(gè)重合邊,若來(lái)投影實(shí)質(zhì)上只有重合邊中的一條邊有用,而這個(gè)邊還是個(gè)半圓。從理解 簡(jiǎn)單的二次曲面外輪廓線計(jì)算函數(shù)入手,再去深入理解任意曲面的外輪廓線計(jì)算方法。

            理解HLR實(shí)現(xiàn)原理,可以重構(gòu)HLR代碼,也可以完全自己動(dòng)手,開(kāi)發(fā)出滿足實(shí)際需求的自動(dòng)出圖程序,自動(dòng)出圖是工程類(lèi)設(shè)計(jì)軟件中相對(duì)核心的功能,目前國(guó)內(nèi)基于PDMS做自動(dòng)出圖相關(guān)軟件開(kāi)發(fā)的就有很多家。本著開(kāi)放的心態(tài)分享這些相對(duì)比較關(guān)鍵功能的原理,讓國(guó)內(nèi)這些產(chǎn)品能擺脫基于AutoCAD/BricsCAD開(kāi)發(fā)接口或PDMS Draft的限制,開(kāi)發(fā)出更好用、更自由靈活的軟件。

            国产人久久人人人人爽| 久久精品国产一区二区| 日本欧美久久久久免费播放网| 久久丫精品国产亚洲av不卡 | 亚洲嫩草影院久久精品| 99久久精品免费观看国产| 精品国产乱码久久久久软件| 精品熟女少妇av免费久久| 无码任你躁久久久久久久| 精品国产一区二区三区久久久狼| 国产69精品久久久久9999| 久久久一本精品99久久精品88| 久久91精品综合国产首页| 精品熟女少妇AV免费久久| 国产高清美女一级a毛片久久w| 亚洲中文字幕久久精品无码喷水 | 青草影院天堂男人久久| 久久天天躁狠狠躁夜夜avapp | 一本色道久久99一综合| 久久精品国产精品亚洲| 国产成人综合久久精品尤物| 欧美午夜精品久久久久免费视| 久久久噜噜噜久久| 亚洲精品国产成人99久久| 成人妇女免费播放久久久| 久久久久久精品无码人妻| 伊人久久无码精品中文字幕| 国产精品午夜久久| 国产激情久久久久影院老熟女免费 | 久久久久久无码Av成人影院| 国产69精品久久久久APP下载| 国内精品久久久久久中文字幕| 狠狠色丁香婷婷久久综合不卡| 亚洲国产精品无码久久久秋霞2 | 国产精品禁18久久久夂久| 欧美一区二区三区久久综| 久久综合给合久久狠狠狠97色| 精品国产99久久久久久麻豆| 久久亚洲AV无码精品色午夜麻豆| 香蕉久久AⅤ一区二区三区| 精品久久久久久久久免费影院 |