在點雲上計算兩點之間的測地線
在之前的部落格中(https://blog.csdn.net/aliexken/article/details/109256534),我們已經介紹了Fast Marching演算法的原理以及實現方法。在點雲上給定一個源點,通過演算法,我們能夠得到一個距離場,如下圖所示。
有時,我們不僅需要這個距離場,我們還希望知道如何獲得點雲中兩點的測地路徑,進而幫助實現一些幾何分析方法。我查閱了PCL庫,好像沒有給出直接的解法。這裡,我們給出一個解決方法。
實現非常簡單,虛擬碼如下:
1. 輸入源點和終點的index:S和T;
2. 計算基於S的測地距離場;
3. 基於S的測地距離場,對T進行路徑回溯:
3.1 搜尋T的鄰居,找到測地距離場值最小的一個,加入到路徑佇列,並將其更新T;
3.2 如果T=S,結束,否則,loop 3.1.
4. 輸出路徑佇列。
這裡需要注意的是,該結果只是一個擬合結果,其誤差與點雲的密度正相關。如果要得到更加精確的結果,需要對點雲進行合適的插值。如果未來有機會的話,我會給出具體的解決方法。
相關文章
- 計算地圖中兩點之間的距離地圖
- 百度地圖計算兩座標點之間距離計算地圖
- JavaScript計算兩個時間點之間的時間差JavaScript
- 計算兩條直線的交點
- sql 計算兩個經緯度點之間的距離SQL
- ArcGIS API for JavaScript根據兩個點座標在地圖上畫線APIJavaScript地圖
- 根據經緯度計算兩點之間的距離的公式公式
- js計算兩個時間點時間間隔的程式碼例項JS
- 經緯度計算兩地之間的距離(原理與方法)
- C語言:使用函式計算兩點間的距離C語言函式
- 微信小程式——計算2點之間的距離微信小程式
- 常見問題01:計算地球上兩個點的距離
- 計算兩個時間點相差天數例項程式碼
- 微信小程式 計算兩地之間的距離 + 高德地圖獲取經緯度 + elasticsearch微信小程式地圖Elasticsearch
- 切好雲端計算的時間點
- 空間資料庫三維空間兩點距離計算錯誤資料庫
- 使用PostGIS完成兩點間的河流軌跡及流經長度的計算
- javascript如何計算兩個日期之間的時間間隔JavaScript
- 雲端計算的拐點隱現 華為雲開源兩款容器技術
- 25:計算兩個日期之間的天數
- Oracle計算兩個日期之間的天數Oracle
- 如何確定計算節點能不能檢測到儲存節點上的磁碟
- 定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離
- D3.js在svg地圖上標點JSSVG地圖
- JavaScript點選兩點繪製直線JavaScript
- Java 中,如何計算兩個日期之間的差距?Java
- PCL 計算點雲的面積和體積
- RAC節點之間通訊問題 兩節點 11g RAC
- 測試員的兩大型別特點及發展空間型別
- 計算兩個NSDate之間,相隔多少秒數
- 計算機面試重難點之計算機網路面試計算機網路
- 如何判斷一個點在地圖上?如何判斷一個點在多邊形內?地圖
- javascript計算兩個日期之間的時間差程式碼例項JavaScript
- Ruby在微軟的兩個亮點微軟
- 浮點數在計算機底層的表示及運算計算機
- 空間統計之點資料分析
- js 計算兩個時間的時間差JS
- 計算兩段時間的時間差 (轉)