三維幾何基礎(3D?)

2021-08-11 18:01:27 字數 1867 閱讀 8048

二維幾何我們多少有了一點了解,今天又是周天,於是又開始知識普及了。。。

二維幾何中的很多操作也都適合三維幾何,比如點+向量=點,向量+向量=向量,等等

struct node

};node operator + (const node &a,const node &b)

node operator - (const node &a,const node &b)

node operator * (const node &a,const

double &b)

node operator / (const node &a,const

double &b)

直線仍然可以用引數方程(點和向量)來表示,並且射線和線段仍然可以看成「引數有取值範圍」的直線

通常用點法式(p0,n)來描述乙個平面

其中p0是平面上乙個點向量n是平面的法向量

每個平面把空間分成了兩個部分,我們用點法式表示其中乙個半空間

法向量法向量是空間解析幾何的乙個概念,垂直於平面的直線所表示的向量為該平面的法向量。由於空間內有無數個直線垂直於已知平面,因此乙個平面都存在無數個法向量(包括兩個單位法向量)。

三維點積的定義和二維的非常類似,而且也可以用點積計算向量的長度和夾角:

double dot(const node &a,const node &b)

double length(const node &a)

double angle(const node &a,const node &b)

用三維點積可以解決很多基本問題

如圖所示,把向量p-p0投影到向量n上可得:p到平面的有向距離為dot(n,p-p0)/length(n)

因為dot(n,p-p0)=len(p-p0) * len(n) * cosα

//點p到p0-n的平面的距離

double dis1(const node p,const node p0,const node n)

//點p到平面的投影 

double dis2(const node p,const node p0,const node n)

node jd(node p1,node p2,node p0,node n)

三維空間裡也有叉積的概念,但形勢和二維叉積大不一樣,ta是乙個向量

node cross(node a,node b)

三維叉積也是一種很有力的工具:

double area2(node a,node b,node c)    //兩倍的面積 

bool init(node p,node p2,node p1,node p2)

bool xj(node p0,node p1,node p2,node a,node b,node p)

}

double volume(node a,node b,node c,node d)

三維幾何 基礎

數學上,三維幾何是3維歐式空間幾何的傳統名稱。因為實際上這大致就是我們生活的空間。我們在前面介紹過向量運算,其中很多內容也適合三維幾何,如點 向量 點,向量 向量 向量,點 點沒有定義。首先是輔助巨集的定義 const double eps 1e 10 const double pi acos 1 ...

Artec獨立三維(3D)掃瞄軟體

1 通過掃瞄物體本身的幾何特徵,在掃瞄過程中對每一3d幀進行實時擬合。2 在掃瞄過程中同時利用紋理 和幾何特徵進行跟蹤。融合可以稍後再進行。3d 三維軟體artec studio9.1可以建立豐富多彩的3d模型的紋理對映。紋理可以與模型一起以png或jpeg檔案格式匯出。3d 三維軟體artec s...

3D 三維資料獲取的運動恢復

研究生課程系列文章參見索引 在信科的那些課 三維資料配準 registration 將在不同的視點採集到的三維資料記錄到同乙個物體基準座標系中。運動恢復 motion recovery 通過對資料 影象 序列的分析求解感測器的運動過程。運動是生物視覺與機器視覺重要的感知功能。運動控制是腦高度發達的機...