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

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-12-02 12:22 eryar 閱讀(2544) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE二維曲線求交

1 Introduction

OpenCASCADE中對二維曲線求交和三維曲線求交是不同的,三維曲線求交統一使用離散法,二維曲線求交根據曲線類型的不同分種類型進行處理。二維曲線求交中還提供了計算自交的直接接口。在TKGeomAlgo中,主要內容就是擬合、求交算法,理解求交算法的實現原理,達到能閱讀和修改源碼的狀態,能夠分析和解決實際遇到的問題,理解OpenCASCADE的能力邊界,根據需要選擇所需要的功能,使軟件結果可控。本文主要介紹二維曲線相交的實現原理。

由于OpenCASCADE開發時間相對久遠,在二維曲線求交相關代碼中大量使用了宏定義的方式來實現C++ 的模板template能力,宏定義在類的XXX_0.cxx文件中,對應模板實現在*.gxx中:

這種實現方式會讓代碼的可讀性變差,不利于代碼維護。應該用C++的方式對這些*.gxx代碼重構,增強代碼可讀性和可維護性。

2 求交分類

二維求交使用類Geom2dAPI_InterCurveCurve, 這個類是對類Geom2dInt_GInter的封裝。在類Geom2dInt_GInter中,如果只輸入一條曲線,可以計算自交,如果輸入兩條曲線,計算兩條曲線的相交。

  • IntCurve_IntConicConic:二次曲線與二次曲線求交。二次曲線與二次曲線求交都先使用幾何方法計算交點,再判斷是否在參數范圍內;
  • Geom2dInt_TheIntConicCurveOfGInter:二次曲線與任意曲線求交。二次曲線與任意曲線求交通過類Geom2dInt_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfGInter建立距離方程,使用類math_FunctionAllRoots來對方程進行求解;
  • Geom2dInt_TheIntPCurvePCurveOfGInter:任意曲線與任意曲線求交。自由曲線求交使用離散法IntCurve_IntPolyPolyGen,使用類Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter將曲線通過采樣點生成多段線Polyline,使用類Intf_InterferencePolygon2d計算多段線之間的粗交點,再使用類IntCurve_ExactIntersectionPoint通過粗交點找到曲線上的精確交點;

這些類都是從類IntRes2d_Intersection派生:

從上圖可知,二維求交結果類IntRes2d_Intersection相關派生類可知二維求交與HLR算法也有關系,理解二維曲線求交邏輯,對理解HLR代碼也有幫助。

3 自交計算

當只輸入一條曲線時,可以對曲線進行自交計算,主要實現邏輯為:若為普通二次曲線,則不會自交;若是其他曲線,使用離散法對曲線進行自交計算。代碼如下圖所示:

4 求交結果

二維曲線求交結果保存到類IntRes2d_Intersection中,主要包含兩部分:

  • IntRes2d_IntersectionPoint:交點數據,保存交點坐標值,交點在兩個曲線上的參數,及兩條曲線在交點處的過渡狀態Transition;
  • IntRes2d_IntersectionSegment:交線數據,當兩條曲線有重疊時的幾何奇異情況時,求交結果為交線;

因為類IntRes2d_Interseciton的構造函數protected,所以不能直接使用這個類,都是通過其派生類使用函數SetValues()將計算得到的交點和交線數據保存起來。這里類的設計比較繁瑣,代碼可讀性較差。

5 Conclusion

OpenCASCADE對于二維曲線求交進行分類處理,根據曲線類型是二次曲線、參數曲線分成三類:二次曲線與二次曲線求交、二次曲線與參數曲線求交和參數曲線與參數曲線求交,不同的求交類型采用不同的策略可以提高求交性能和穩定性。使用離散法計算二維曲線自交。從求交結果來看,也處理了幾何奇異問題,即曲線重疊情況。

對于曲線求交還有很大改進空間:

  • 使用C++編碼風格重構*.gxx代碼,提高代碼可讀性,方便代碼維護;
  • 對于自由曲線求交的離散法中計算兩條多段線算法中引入BVH來加速;
  • 將曲線離散成多段線時考慮​曲線的曲率變化,不要均勻采樣,減少多段線數量;
  • 對于三維曲線求交都是使用了離散法,建議像二維曲線求交這樣進行分類處理,以及引入BVH,提高性能和穩定性;

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久国产精品黑丝| 欧美在线视频免费| 亚洲二区视频| 久久蜜臀精品av| 亚洲第一区在线| 亚洲电影视频在线| 欧美色区777第一页| 欧美一区二区三区在线观看| 性8sex亚洲区入口| 精品白丝av| 亚洲青色在线| 国产日韩一区二区三区在线播放| 老司机久久99久久精品播放免费| 久久久综合网站| 日韩视频在线观看一区二区| 亚洲视频电影图片偷拍一区| 激情六月婷婷综合| 99精品黄色片免费大全| 国产日韩欧美高清免费| 女人色偷偷aa久久天堂| 欧美色图五月天| 美日韩精品免费观看视频| 欧美日本高清| 久久精品欧洲| 欧美精品福利| 老司机凹凸av亚洲导航| 欧美性做爰毛片| 欧美福利视频网站| 国产美女精品| 亚洲精品国产欧美| 一区二区三区在线免费视频| 一区二区三区国产盗摄| 曰韩精品一区二区| 亚洲一级二级在线| 99视频超级精品| 久久久久国产一区二区三区| 午夜日韩av| 欧美日本中文字幕| 欧美mv日韩mv国产网站| 国产女人水真多18毛片18精品视频| 亚洲国产黄色| 黄色日韩网站| 亚洲免费在线观看视频| 一区二区三区高清在线 | 欧美福利视频网站| 国产欧美一级| 亚洲永久精品国产| 国产精品99久久久久久久vr| 久久午夜视频| 久久久国产精品一区二区三区| 欧美视频在线看| 最新中文字幕一区二区三区| 欧美成人激情视频免费观看| 亚洲一级高清| 日韩亚洲欧美一区| 欧美成人一区二区三区在线观看| 久久亚洲综合色| 黄色国产精品| 久久久久国产免费免费| 久久一区二区三区av| 韩国v欧美v日本v亚洲v | 欧美高清不卡在线| 一区二区三区亚洲| 久久九九国产精品| 美女日韩在线中文字幕| 在线不卡亚洲| 蜜桃伊人久久| 亚洲第一视频| 一本色道久久综合亚洲精品婷婷 | 欧美韩国日本综合| 亚洲精品五月天| 亚洲天堂视频在线观看| 欧美日韩在线播放三区四区| 99精品欧美一区二区三区 | 樱花yy私人影院亚洲| 久久久亚洲午夜电影| 亚洲第一网站免费视频| 99国产精品国产精品久久| 欧美色欧美亚洲另类七区| 正在播放亚洲一区| 久久精品视频免费| 亚洲成人自拍视频| 欧美日韩国产91| 亚洲免费视频观看| 久久亚洲国产成人| 亚洲精选成人| 国产精品素人视频| 久久亚洲春色中文字幕| 最新成人在线| 欧美一区二区三区视频免费播放 | 国产精品久线观看视频| 欧美在线国产| 亚洲日本久久| 久久久亚洲高清| 亚洲美女av网站| 国产欧美日韩中文字幕在线| 蜜臀av一级做a爰片久久| 一本久久a久久精品亚洲| 久久精品国产99| 亚洲久久一区| 激情欧美国产欧美| 国产精品久久久久9999吃药| 久久久国产午夜精品| 日韩西西人体444www| 久久久一二三| 午夜精品久久久| 亚洲免费电影在线| 国内成+人亚洲| 国产精品99一区二区| 久久欧美肥婆一二区| 亚洲免费一在线| 欧美日韩亚洲一区二区| 久久久久久久网| 亚洲视频第一页| 亚洲电影自拍| 葵司免费一区二区三区四区五区| 久久亚洲一区二区| 欧美不卡一区| 亚洲精品美女久久久久| 久久久亚洲影院你懂的| 性色av一区二区怡红| 在线亚洲精品| 亚洲美女精品久久| 在线免费不卡视频| 国内精品久久久久久| 国产精品中文字幕欧美| 欧美日韩国产一区二区三区地区| 久久综合久久综合九色| 久久av免费一区| 午夜精品国产| 亚洲免费小视频| 亚洲一区二区在线免费观看视频 | 久久夜色精品国产欧美乱极品| 这里只有视频精品| 99视频在线精品国自产拍免费观看| 一区二区三区亚洲| 又紧又大又爽精品一区二区| 国产欧美日韩另类视频免费观看| 国产精品久久久久久久久久久久| 欧美国产日韩一区二区三区| 欧美福利视频在线观看| 欧美aa国产视频| 欧美激情综合| 欧美激情网站在线观看| 欧美日韩国产123| 国产精品v欧美精品∨日韩| 欧美午夜精品久久久| 欧美日韩一区高清| 国产精品欧美日韩一区| 国产精品美女久久久免费| 国产日本欧洲亚洲| 国内免费精品永久在线视频| 影音先锋久久| 亚洲精品免费网站| 在线视频欧美日韩精品| 午夜免费日韩视频| 久久精品视频网| 欧美成人蜜桃| 亚洲毛片在线观看.| 亚洲视频一区二区在线观看 | 亚洲日本欧美| 制服丝袜亚洲播放| 欧美资源在线观看| 嫩草国产精品入口| 欧美性大战久久久久久久| 国产精品区一区二区三区| 狠狠色伊人亚洲综合成人| 亚洲日本无吗高清不卡| 亚洲欧美久久久| 麻豆freexxxx性91精品| 亚洲激情偷拍| 欧美亚洲免费| 欧美激情综合亚洲一二区| 国产精品一区二区三区四区五区| 黑人一区二区| 亚洲深夜激情| 久久综合亚洲社区| 一本不卡影院| 久久久久久久久久码影片| 欧美日韩123| 揄拍成人国产精品视频| 亚洲综合日本| 欧美激情无毛| 性欧美xxxx大乳国产app| 欧美久久久久久久久久| 国产日韩欧美91| 亚洲视频福利| 欧美激情按摩| 久久av一区二区| 国产精品久久久对白| 亚洲看片免费| 久久综合狠狠| 亚洲欧美在线免费观看| 欧美乱妇高清无乱码| 亚洲国产精品99久久久久久久久| 亚洲砖区区免费| 在线观看欧美精品| 99国产精品久久久| 欧美承认网站| 久久久www成人免费无遮挡大片|