• <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曲面求交之迭代法

            Posted on 2023-05-27 23:35 eryar 閱讀(635) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

            OpenCASCADE曲面求交之迭代法

            eryar@163.com

            1 Introduction

            朱心雄等著《自由曲線曲面造型技術》書中對曲面求交的迭代法有詳細介紹,其中關于曲面迭代求交的原理介紹如下:為求得兩個曲面精確的交點,Newton-Raphson迭代法得到廣泛應用,該法的優點為

            • 計算精度高,速度快,在初值選擇比較合理的情況下,一般僅需要迭代二到三次就可以使交點的精度從百分之幾提高到萬分之幾甚至百萬分之一的數量級。
            • 適用范圍廣,只要能獲得曲面的幾何位置、切矢、法矢等信息,不論什么類型的曲面都可以使用迭代法。

            其缺點是對初始值要求較嚴格,初始值選擇不當,可能導致迭代不收斂,也就無法得到精確的交點。

            在曲面求交等問題中,一般可根據參與變化的參數數量將迭代法分為三參數迭代法和四參數迭代法兩種類型。我們知道,一張參數曲面有兩個參數,兩張參數曲面共有四個參數變量。采用三參數迭代法時,兩個曲面的四個參數中只有三個參數參與迭代過程,而保持另一個參數固定不變,這實際上就是計算不變參數的等參數線與另一張曲面的交點。采用四參數迭代法時,兩張曲面的四個參數變量都參與迭代過程,四者都可能變化。兩種迭代法各有其優缺點。在下述情況下以應用三參數迭代法為宜:

            • 要求將交點迭代至某參數線上,以利于后繼追蹤求交法中濾除無效初值點;
            • 當交線接近于參數邊界時,希望將交點迭代至準確的邊界上,以便進行裁剪等操作。

            但對于一般交點,三參數法則未必適用。首先遇到的問題是在四個參數中選擇何者作為不變參數,固定參數選擇不當可能降低迭代收斂速度以至根本不收斂,或者破壞交線拓樸結構的正確性。迭代法本身不能夠成獨立的求交方法,主要在追蹤法中使用,OpenCASCADE中曲面求交追蹤法的類是IntWalk_PWalking。本文主要介紹OpenCASCADE曲面求交迭代法的類IntWalk_TheInt2S的用法及原理。

            2 Newton迭代求交

            OpenCASCADE中兩曲面求交迭代法由類IntWalk_TheInt2S實現,其類中主要函數有:

            給定兩個曲面,和初始估計點在兩個曲面上的參數(u1, v1), (u2,v2),迭代計算出精確交點。固定三參數的方式總共分四種類型IntImp_ConstIsoparametric:

            IntImp_UIsoparametricOnCaro1:是固定估計點在曲面1上的參數u;

            IntImp_VIsoparametricOnCaro1:是固定估計點在曲面1上的參數v;

            IntImp_UIsoparametricOnCaro2:是固定估計點在曲面2上的參數u;

            IntImp_VIsoparametricOnCaro2:是固定估計點在曲面2上的參數v;

            為了避免三參數迭代法找不到交點的情況,會在四個方向上分別進行計算,總有一個方向上會找到交點,并將找到交點的參數固定情況返回:

            在函數Perform()中通用求解迭代方程組,得到精確交點:

            其中迭代方程組為成員變量myZerParFunc,方程組求解使用類math_FunctionSetRoot。由方程組求解類注釋可知,需要方程組的一階偏導數即梯度Gradient,采用的是Newton迭代法。若方程組有解Root且滿足精度要求,則保存下精確交點的坐標值及在兩個曲面上的參數值等數據。

             

            3 三參數迭代方程組

            三參數迭代方程類為GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox,

            是從類math_FunctionSetWithDerivatives派生的,即三參數迭代方程是個方程組(Function Set)。其定義在文件IntImp_ZerParFunc中,先使用函數ComputeParameters()根據固定參數類型來確定估計點的固定參數及另外三個參數變量的初始值:

            設兩個參數曲面S1(u1,v1),S2(u2,v2),并已知一交點的初估計點P0,P0點在兩張曲面上對應的投影點分別為P1=S1(u0,v0)和P2=S2(s0,t0)。由于P0點為一估計點,所以P1和P2并不重合。設以s0作為固定參數,即當固定參數類型為IntImp_UIsoparametricOnCaro1時,則問題轉化為求u*,v*,t*,使兩曲面片上的點S1(u*,v*)和S2(s0,t*)重合。建立方程組:

            R(u,v,t)=S1(u,v) - S2(s0, t)

            通過函數計算兩個曲面上的點pntsol1和pntsol2,得到三個變量的方程組的值。

            因為要使用Newton迭代法,需要提供方程組的一階偏導數,即Jacobian矩陣:

            函數Derivatives()用來計算一階偏導數:

            4 Conclusion

            綜上所述,迭代法本身不能構成一個獨立的求交方法,與所有不動點迭代法一樣,應用迭代法求交線之前,首先必須給出交點的初始估計值,而交點的初始值必須通過其他求交方法得到。因此,迭代交交常同其它求交方法結合使用,作為交點精化的一種手段。迭代法的主要過程是根據初始估計點的幾何性質(如坐標位置、切矢、法矢、曲率等)運用Newton方法得到一個較原估計點更接近于目標點(即精確交點)的估計點。如此反復進行,直到求得的交點滿足所要求的精度。該法的優點是在初值比較好時其收斂速度非常快,而且能應用于任意參數曲面包括Coons曲面和等距曲面,因此應用非常廣泛,其主要缺點是對初始值要求比較苛刻,初始值 選擇不當有可能導致迭代不收斂。

            OpenCASCADE中曲面求交的迭代法也不是獨立的方法,與之配合的有離散網格求交得到初值,在追蹤中作用迭代法。迭代求交使用的是三參數迭代法,根據三參數迭代法的數學方程可知,需要計算曲面上參數對應的點和切矢。

            久久久久亚洲av无码专区| 久久久久久精品久久久久| 青青青青久久精品国产| 国产成人精品久久亚洲高清不卡| 久久亚洲中文字幕精品一区四| 亚洲国产美女精品久久久久∴ | 久久精品国产清自在天天线| 色欲久久久天天天综合网精品 | 国产精品久久免费| 久久免费99精品国产自在现线| 精品综合久久久久久97| 国产巨作麻豆欧美亚洲综合久久| 色偷偷91久久综合噜噜噜噜| 国产精品视频久久久| 模特私拍国产精品久久| 中文字幕亚洲综合久久| 亚洲第一极品精品无码久久| 久久影视综合亚洲| 国产一区二区精品久久凹凸| 久久精品国产亚洲AV高清热| 精品一二三区久久aaa片| 久久久久久久亚洲精品| 久久精品国产精品亚洲精品| 囯产精品久久久久久久久蜜桃| 开心久久婷婷综合中文字幕| 大蕉久久伊人中文字幕| 99久久国产综合精品麻豆| 亚洲va久久久噜噜噜久久男同| 四虎影视久久久免费观看| 香蕉久久AⅤ一区二区三区| 精品久久久久中文字| 久久AAAA片一区二区| 国内精品久久久久久不卡影院 | 丰满少妇高潮惨叫久久久| 亚洲国产精品无码久久| 奇米影视7777久久精品| 久久久久女人精品毛片| 国产精品久久影院| 久久亚洲国产成人精品无码区| 久久久久国色AV免费观看| 久久综合伊人77777|