gpt4 book ai didi

c++ - 射线与矩形的交点

转载 作者:搜寻专家 更新时间:2023-10-31 00:01:52 26 4
gpt4 key购买 nike

在 C++ 中,在 2D 中,如何找到一条射线(由一个点和一个方向 vector 定义)和一个矩形(由 x、y、w、h 定义)之间的交点?

                   ________
| |
| |
------------------| |
|________|

这是一个基于非帧的模拟,所以我不太确定如何解决这个问题。

最佳答案

二维矩形 = 4 条线段。

所以你的问题实际上是:How do I determine whether or not two lines intersect, and if they do, at what x,y point?

您计算所有线段的交点,然后选择基于 |A-Xi| 的闭合线段,其中 A vector 原点Xi 是交点,|| 代表 vector 的长度(sqrt(A.x*Xi.x + A.y*Xi.y),你不如果您只需要比较距离而不需要确切的数字,则实际上不需要使用 sqrt()

关于c++ - 射线与矩形的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129571/

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