簡體   English   中英

定義邊界框的坐標

[英]Define coordinates of bounding box

我有一個3d場景,其中一側的坐標為Xa,Ya,Za,另一側的坐標為Xb,Yb,Zb: 在此處輸入圖片說明

如何確定此線的邊界框的3d坐標(Xa1,Ya1,Za1,Xa2,... Zb4),除了上面的數據外,還具有該框的寬度和高度以及其軸上的旋轉角度: 在此處輸入圖片說明

謝謝

本質上,您要做的是建立一個合適的正交坐標基,這樣一個基矢量沿着給定的線指向,而另兩個矢量正交於該點。 實際選擇取決於您要提及的角度,但是您需要一些參考方向來確定角度零。

通常,我會說讓a為從一個點到另一個點的標准化(到長度1)向量。 v為某個固定參考方向,例如“向上”。 確保av是獨立的,即指向不同的方向。 計算叉積a × v ,歸一化為單位長度,並將其稱為b 如果v向上,它將是與av都正交的向量,因此,它類似於在水平面上遠離直線的方向。 計算c = a × b ,這將是第三基矢量,與ab正交,並且已經存在單位長度。

現在取任一端點,並在其上加上± w / 2∙ b ± h / 2∙ c ,其中wh是邊界框的尺寸。 這為您提供了邊界框的8個角點。 如果要圍繞直線旋轉框,請對向量bc進行二維旋轉:

b' = cos(θ)∙ b + sin(θ)∙ c
c' = cos(θ)∙ c − sin(θ)∙ b

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM