移除乙個面上的節點 , 根據兩點間距

2021-09-10 19:45:39 字數 1280 閱讀 2568

在乙個平面中有多個面互相緊湊拼接在一起,由於每乙個面上的節點數量不同, 並且相鄰點距離過近,需要抽稀節點。

需要把其中的節點刪除,在刪除後每乙個面還需要緊密相連。

獲取每乙個面上的點,並且計算相鄰兩點之間的距離

距離大於容差

距離大於容差部分不操作

距離小於等於容差

距離小於等於容差部分進行操作,刪除其中的乙個節點,假定刪除兩個點比較的第二個點,此步驟可能會出現問題 :

從第1步獲取到所有異常點,對每乙個異常點進行點歸屬計算(計算每乙個點和麵的關係)

資料結構

獲取每乙個面的點

對每乙個點做一次buffer引數為容差,得到點的buffer集合 pointbufferlist

每乙個buffer 和所有點做一次拓撲關係 (在buffer 內 和在buffer 上) , 記錄每乙個點 buffer後又多少點被buffer覆蓋

資料結構

在buffer 上和在buffer 內 就相當於 小於等於容差

在buffer 以外就相當於大於容差

每乙個buffer 的下屬節點清空分為2中

覆蓋數量=0

pass不操作

有且只有乙個位於 buffer上和 buffer 內的點覆蓋數量=1

此情況就相當於你需要留下兩個中的任意乙個

大於乙個buffer 內的點覆蓋數量》1

當前情況將每乙個點都遍歷一次找出覆蓋數量最多的點 且 基準點和覆蓋點集合需要互相存在

問題:有可能乙個buffer 會把這個面的相鄰圖形也給操作成乙個buffer下的覆蓋點

Android 乙個兩點觸控的案例

下面是乙個兩點觸控的案例 package com.zzj import import android.os.bundle import android.view.motionevent public class androidtestactivity extends activity public ...

關於乙個演算法題的兩點新思路

在網上看到乙個演算法題,不是很難,搜一下也有解決辦法,但是一般都是幾層for迴圈,試著寫了下 給你一組字串 如 讓你輸出裡面出現次數最多且數值最大的乙個,出現幾次 優點 時間複雜度為o n 缺點 產生一些多餘的空間,如 6,7,8沒有的數也會分配乙個陣列空間,但是基本可以忽略 限制 需要預先知道最大...

成員函式 友元函式和一般函式的區別 兩點間距離

檔名稱 3.cpp 完成日期 2016年 4 月 7日 版本號 v1.0 問題描述 使用成員函式 友元函式和一般函式的區別 兩點間距離 include includeusing namespace std double distance1 class cpoint a,class cpoint b ...