本**是統計所有點雲法向量最多方向,後去除滿足法向量方向點雲;功能:想去除點雲中平面
#include
#include
#include
struct pointcloud3d
;pointcloud3d
(double val1,
double val2,
double val3)
pointcloud3d
(double val1,
double val2,
double val3,
double val4,
double val5,
double val6)};
struct normalvector;}
;//讀取檔案,輸出點雲vector
void
importpointcloud
(char
&filename, std::vector
&importpt)
import.
close()
;}//歸一化法向量
void
normalizednormalvector
(std::vector
&importpt, std::vector
&outputvector)
v =sqrt
(importpt[i]
.nx*importpt[i]
.nx + importpt[i]
.ny*importpt[i]
.ny + importpt[i]
.nz*importpt[i]
.nz)
; norvec.n_x =
(double
)importpt[i]
.nx / v;
norvec.n_y =
(double
)importpt[i]
.ny / v;
norvec.n_z =
(double
)importpt[i]
.nz / v;
= (double)importpt[i].nx;
= (double)importpt[i].ny;
= (double)importpt[i].nz;
outputvector.
push_back
(norvec);}
}//統計法向量存在最多點
void
removeplanepoint
(std::vector
&importpt, std::vector
&outputvector,
double interval, std::vector
&leftpt)
//-1與-180°與第幾份建立關係
//定義3個一維陣列,分別統計分量個數
//int number;
int number =
round
(2.0
/ interval)
;int a, b, c;
//x方向
int*statistics_x =
newint
[number]()
;//堆區開闢空間
for(
int k =
0; k < outputvector.
size()
; k++
)int max_x =
0, num_x;
//x方向上定義最大值,和對應的第幾個
for(a =
0; a < number; a++)}
//deletestatistics_x;
//y方向
int*statistics_y =
newint
[number]()
;//堆區開闢空間
for(
int k =
0; k < outputvector.
size()
; k++
)int max_y =
0, num_y;
//y方向上定義最大值,和對應的第幾個
for(b =
0; b < number; b++)}
//deletestatistics_y;
//z方向
int*statistics_z =
newint
[number]()
;//堆區開闢空間
for(
int k =
0; k < outputvector.
size()
; k++
)int max_z =
0, num_z;
//z方向上定義最大值,和對應的第幾個
for(c =
0; c < number; c++)}
//deletestatistics_z;
pointcloud3d left;
//判斷3個方向同時滿足向量
for(
int k =
0; k < outputvector.
size()
; k++)}
//迴圈求出陣列中個數最多的第幾份
//定義乙個vector存第幾個點
//統計不同時滿足三個條件最多份數的具體數值點struct的n
//根據點到處點雲
求平面法向量的方法
一.向量點積配合待定係數法 已知平面上三點 a xa,ya,za b xb,yb,zb c xc,yc,zc 那麼 ac xc xa,yc ya,zc za bc xc xb,yc yb,zc zb 設平面法向量 n xn,yn,zn 則 1 ac n 0 2 bc n 0 根據線性代數 我忘了 可...
兩平面平行方向向量關係 方向向量和法向量的關係
方向向量和法向量的關係2020 07 17 09 39 11文 王君婷 法向量是空間解析幾何的乙個概念,垂直於平面的直線所表示的向量為該平面的法向量。由於空間內有無數個直線垂直於已知平面,因此乙個平面都存在無數個法向量 包括兩個單位法向量 方向向量是乙個數學概念,空間直線的方向用乙個與該直線平行的非...
向量法計算平面與直線的交點
已知有平面上三個點 abc 座標,直線上兩個點 de 座標,求平面abc與直線de的交點座標。解 平面與直線的交點 param planta param plantb param plantc param lined param linee return public static double g...