[英]Define coordinates of bounding box
本質上,您要做的是建立一個合適的正交坐標基,這樣一個基矢量沿着給定的線指向,而另兩個矢量正交於該點。 實際選擇取決於您要提及的角度,但是您需要一些參考方向來確定角度零。
通常,我會說讓a為從一個點到另一個點的標准化(到長度1)向量。 令v為某個固定參考方向,例如“向上”。 確保a和v是獨立的,即指向不同的方向。 計算叉積a × v ,歸一化為單位長度,並將其稱為b 。 如果v向上,它將是與a和v都正交的向量,因此,它類似於在水平面上遠離直線的方向。 計算c = a × b ,這將是第三基矢量,與a和b正交,並且已經存在單位長度。
現在取任一端點,並在其上加上± w / 2∙ b ± h / 2∙ c ,其中w和h是邊界框的尺寸。 這為您提供了邊界框的8個角點。 如果要圍繞直線旋轉框,請對向量b和c進行二維旋轉:
b' = cos(θ)∙ b + sin(θ)∙ c
c' = cos(θ)∙ c − sin(θ)∙ b
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.