gpt4 book ai didi

c++ - 给定两个点和两个 vector ,找到交点

转载 作者:太空狗 更新时间:2023-10-29 21:46:53 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How do you detect where two line segments intersect?

给定两个点 ab 加上两个 vector vu 我想找到第三个点c,交点如下:

vector2 intersection(vector2 a, vector2 v, vector2 b, vector2 u)
{
float r, s;

a + r * v = b + s * u;
r * v - s * u = b - a

r * v.x - s * u.x = b.x - a.x
r * v.y - s * u.y = b.y - a.y
}

除了用高斯消元法求解这个系统还有别的办法吗?还是这是处理此问题的最佳(或至少是可接受的)方式?

编辑:vector2

的定义
typedef union vector2
{
float v[2];
struct { float x, y; };
} vector2;

ab 也是 vector2 类型,因为点和 vector 之间的唯一区别在于它的方式通过仿射变换进行变换。

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