[英]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.