gpt4 book ai didi

math - 如何计算叉积?

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

我有以下伪 C/Java/C# 代码:

int a[]= { 30, 20 };
int b[] = { 40, 50 };
int c[] = {12, 12};

如何计算叉积 ABxAC?

最佳答案

在上一个问题中提供给您的解决方案基本上为您的所有点添加了 Z=0。通过如此扩展的向量,您可以计算叉积。在几何上,叉积产生一个与用于计算的两个向量正交的向量,因为您的两个向量都位于 XY 平面中,结果将只有 Z 分量。该 z 分量的符号表示该向量是在 XY 平面上向上看还是向下看。该符号取决于 AB 之间的顺时针或逆时针顺序。这反过来意味着 z 分量的符号会显示您正在查看的点是否位于 AB 上的线的左侧或右侧。

因此,两个向量 A 和 B 的叉积是向量

AxB = (AyBz − AzBy, AzBx − AxBz, AxBy − AyBx)

如果 Az 和 Bz 为零,则剩下该向量的第三个分量
AxBy - AyBx

其中 A 是 a 点到 b 点的向量,B 是 a 点到 c 点的向量,表示
Ax = (b[x]-a[x])
Ay = (b[y]-a[y])
Bx = (c[x]-a[x])
By = (c[y]-a[y])

给予
AxBy - AyBx = (b[x]-a[x])*(c[y]-a[y])-(b[y]-a[y])*(c[x]-a[x])

这是一个标量,该标量的符号将告诉您点 c 位于向量 ab 的左侧还是右侧

或者你可以看看 stack overflowgamedev

关于math - 如何计算叉积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533011/

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