gpt4 book ai didi

c++ - OBB(定向边界框)算法中的点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:00 30 4
gpt4 key购买 nike

给定形成 OBB 的中心点、宽度、高度和角度,如何确定给定点 P 是否在 OBB 内?

谢谢

最佳答案

我认为你的问题中的皱纹是边界框可以旋转?如果是这样,对我来说最简单的解决方案似乎是在以边界框中心为中心的旋转坐标平面中进行所有计算。

要计算点相对于这些轴的坐标:

newy = sin(angle) * (oldy - centery) + cos(angle) * (oldx - centerx);
newx = cos(angle) * (oldx - centerx) - sin(angle) * (oldy - centery);

(您可能需要根据角度的测量方式进行调整,我会把它留给您,因为您没有指定)

然后点击测试,正常方式:

return (newy > centery - height / 2) && (newy < centery + height / 2) 
&& (newx > centerx - width / 2) && (newx < centerx + width / 2);

关于c++ - OBB(定向边界框)算法中的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328424/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com