欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種通過去除冗余共線點對封閉曲線進行Douglas平滑處理的方法

文檔序號:40467385發(fā)布日期:2024-12-27 09:32閱讀:16來源:國知局
一種通過去除冗余共線點對封閉曲線進行Douglas平滑處理的方法

本發(fā)明屬于網(wǎng)格剖分,具體涉及一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法。


背景技術(shù):

1、網(wǎng)格剖分是數(shù)值模擬計算的第一步,其目的是將三維模型進行剖分,以便于使用有限差分法或有限元法求解控制方程。

2、在原始douglas平滑方法中,需要找出曲線點列中距離最遠的兩點并連線,再找出點列上其他點到該連線的距離最遠的一個點作為描述該曲線走勢特征的控制點。然而當(dāng)遇到連線和原曲線的一部分平行時,會有多個擁有一樣距離的點,douglas算法無法決定以哪個點作為控制點,則會導(dǎo)致douglas算法的失效。因此在利用douglas方法平滑擬合封閉曲線過程中,多余控制點問題是重難點,如何消除多余共線控制點對douglas方法的影響,是工程領(lǐng)域的一大難點。


技術(shù)實現(xiàn)思路

1、本發(fā)明的目的在于提供一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,其為了能對有多余共線控制點的封閉曲線去除共線點影響,從而有效完成在有限個控制點內(nèi)對曲線的平滑擬合。

2、為了實現(xiàn)上述目的,本發(fā)明采用如下方案實現(xiàn):

3、一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,包括以下步驟:

4、s1:對于選中的封閉曲線 l0,通過內(nèi)置函數(shù)獲取該封閉曲線上所有節(jié)點的信息,組成有序列表list1,包括每個節(jié)點的序號的坐標。

5、s2:遍歷節(jié)點列表,查找出曲線上距離最遠的兩點,以靠近坐標原點近的一個作為起始點,按照逆時針對曲線所所有排序節(jié)點重新排序,組成新的有序列表list2,曲線上距離最遠的兩點記為起始點p1和關(guān)鍵點pk,k為正整數(shù),且k∈[3,n],pn為重新排序后曲線的終點。

6、建立一個空列表用于儲存篩選出的節(jié)點,記為序號列表list3,將起始點p1和關(guān)鍵點pk存入列表list3中。

7、s3:連接曲線上距離最遠的兩節(jié)點p1和pk形成線段 l1,則線段 l1將封閉曲線分成兩個部分,記為子曲線 l11和 l12,這兩部分上的節(jié)點各自對應(yīng)一個子序列表,記為有序列表list21和有序列表list22。

8、s4:分別遍歷子列表list21和子列表list22中除去起始點p1和關(guān)鍵點pk外的其他節(jié)點,獲得子列表list21中離該線段 l1距離最遠的節(jié)點pi1和對應(yīng)的最遠距離lmax1,獲得子列表list22中離該線段 l1距離最遠的節(jié)點pi2和對應(yīng)的最遠距離lmax2。

9、s5:根據(jù)實際工程中對曲線的平滑精度要求,設(shè)置平滑精度閾值,并分別比較步驟s4中的距離lmax11和距離lmax12與平滑精度閾值的大?。?/p>

10、若距離lmax1j不大于,則認為該曲線 l1j足夠平滑,子列表list2j的起始點和終點足以擬合該曲線的走勢特征,結(jié)束該曲線平滑處理。

11、反之,若距離lmax1j大于,則連接節(jié)點pij與p1形成線段 l21,連接節(jié)點pij與pk形成線段 l22,通過節(jié)點pij該將封閉子曲線 l1j分成兩個部分,記為子曲線 l21和 l22,這兩部分上的節(jié)點各自對應(yīng)一個子序列表,記為有序列表list31和有序列表list32。j為1或2。將最遠距離對應(yīng)的節(jié)點pij存入列表list3中,j為1或2。

12、s6:分別遍歷子列表list31和子列表list32中除去距離最遠的兩個節(jié)點外的其他節(jié)點,獲得子列表list31中離該線段 l21距離最遠的節(jié)點pi11和對應(yīng)的最遠距離lmax21,獲得子列表list32中離該線段 l22距離最遠的節(jié)點pi21和對應(yīng)的最遠距離lmax22,并分別比較距離lmax21和距離lmax22與平滑精度閾值的大小。

13、s7:…,依次迭代遞歸,直至第r次遞歸封閉子曲線上的其他節(jié)點到對應(yīng)線段 lr的距離不大于,則平滑處理結(jié)束。

14、將每次迭代遞歸中對應(yīng)的列表中的距離最遠的兩個節(jié)點存入列表list3中。

15、s8:遍歷上一步生成的列表list3,每個節(jié)點與其前節(jié)點和后節(jié)點,移除列表list3中與前、后相鄰節(jié)點共線的節(jié)點。

16、進一步優(yōu)化,平滑精度閾值為10-5m。

17、進一步優(yōu)化,所述步驟s8,具體步驟如下:

18、遍歷上一步生成的列表list3,列表list3中每個節(jié)點與其前節(jié)點和后節(jié)點,都構(gòu)成對應(yīng)的兩個向量,計算每個節(jié)點對應(yīng)的兩個向量的夾角余弦值;若該兩個向量的夾角余弦值的絕對值大于某個設(shè)定小角度的余弦值,則認為該點在前后兩點所在的直線上,即三點共線,然后將該節(jié)點從列表list3中刪除,并對列表list3重新排序;

19、在封閉曲線中,若所取節(jié)點是列表list3中的第一個,則將列表中最后一個節(jié)點作為其前一個節(jié)點,第二個節(jié)點作為其后一個節(jié)點;若所取節(jié)點是列表中的最后一個,則將列表中倒數(shù)第二個節(jié)點作為其前一個節(jié)點,第一個節(jié)點作為其后一個節(jié)點。

20、進一步優(yōu)化,設(shè)定小角度為5°。

21、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:

22、本發(fā)明所述方法通過計算節(jié)點與列表中距離最遠節(jié)點連線的距離,以及計算節(jié)點與前后節(jié)點形成的向量的夾角與某較小角度比較的方法,判斷該節(jié)點是否與前后節(jié)點共線,從而在原有的節(jié)點列表基礎(chǔ)上準確刪除封閉曲線中多余的共線控制點,提高douglas方法對封閉曲線的平滑擬合的成功率,同時保持其整體結(jié)構(gòu)和特征,進而提高數(shù)值模擬的效率和精度,為未來的數(shù)值建模提供了有價值的參考。



技術(shù)特征:

1.一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,其特征在于,包括以下步驟:

2.根據(jù)權(quán)利要求1所述的一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,其特征在于,平滑精度閾值為10-5m。

3.根據(jù)權(quán)利要求1所述的一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,其特征在于,所述步驟s8,具體步驟如下:

4.根據(jù)權(quán)利要求3所述的一種通過去除冗余共線點對封閉曲線進行douglas平滑處理的方法,其特征在于,設(shè)定小角度為5°。


技術(shù)總結(jié)
本發(fā)明公開了一種通過去除冗余共線點對封閉曲線進行Douglas平滑處理的方法,包括,根據(jù)選中的封閉曲線,獲取由節(jié)點組成的有序列表;遍歷節(jié)點列表,查找出曲線內(nèi)距離最遠的兩點,記為起始點和關(guān)鍵點,以起始點作為第一個點,對所有節(jié)點數(shù)組重新排序;連接起始點和關(guān)鍵點,將封閉曲線分成兩個部分;遍歷該兩部分中的其余節(jié)點,分別獲得該兩部分離該線段距離最遠的節(jié)點與最遠距離;判斷最遠距離與設(shè)置精度的大小,進行遞歸,直至封閉曲線上的點到對應(yīng)直線的距離不大于設(shè)置精度;遍歷上一步生成的列表,移除與前后相鄰節(jié)點共線的節(jié)點。本發(fā)明所述方法提高Douglas方法對封閉曲線的平滑擬合的成功率,同時保持其整體結(jié)構(gòu)和特征,進而提高數(shù)值模擬的效率和精度。

技術(shù)研發(fā)人員:孟慶祥,范理文,向天兵,蓋玫如,李靜初,楊述,李帥康
受保護的技術(shù)使用者:河海大學(xué)
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/26
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
弥渡县| 志丹县| 合肥市| 铁岭县| 五家渠市| 衡东县| 札达县| 咸丰县| 怀宁县| 绥宁县| 宁远县| 湄潭县| 阿拉尔市| 枣强县| 丹阳市| 开封市| 弥勒县| 平南县| 定远县| 常宁市| 邮箱| 石屏县| 农安县| 玉门市| 松溪县| 吴旗县| 措勤县| 纳雍县| 东乡县| 临沂市| 获嘉县| 宁夏| 广昌县| 应用必备| 石狮市| 陇南市| 曲阜市| 扶风县| 车致| 安远县| 杭州市|