gpt4 book ai didi

math - 二维中两个向量的平分线(可能共线)

转载 作者:行者123 更新时间:2023-12-04 19:57:13 24 4
gpt4 key购买 nike

一般如何找到两个向量的二等分 b = (bx, by)(我们考虑两个非零向量 u = (ux, uy), v = (vx, vy),它们可能共线)。

对于非共线向量,我们可以写成:

bx = ux/|u| + vx / |v|
by = uy/|u| + vy / |v|

但是对于共线向量
bx = by = 0.

例子:
u = (0 , 1)
v = (0, -1)
b = (0, 0)

最佳答案

通用且统一的方法是获取两个向量的角度

theta_u = math.atan2(ux, uy)
theta_v = math.atan2(vx, vy)

并创建一个具有平均角度的新向量:
middle_theta = (theta_u+theta_v)/2
(bx, by) = (cos(middle_theta), sin(middle_theta))

这样,您就可以避免使用相反向量观察到的陷阱。

PS :请注意,“平分线”向量是什么有歧义:通常有两个平分线向量(通常一个用于较小的角度,一个用于较大的角度)。如果你想要更小的角度内的平分向量,那么你原来的公式就很好;您可以单独处理您观察到的特殊情况,例如通过采用与两个输入向量中的任何一个正交的向量 (-uy/|u|, ux/|u|)如果您的公式产生空向量。

关于math - 二维中两个向量的平分线(可能共线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562784/

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