相关疑难解决方法(0)

计算2D矢量的叉积

来自维基百科:

交叉乘积是对三维欧几里德空间中的两个向量的二元运算,其导致另一个向量垂直于包含两个输入向量的平面.

鉴于定义仅定义在三个(或七个,一个和零)维度中,如何计算两个二维向量的叉积?

我见过两个实现.一个返回一个新的向量(但只接受一个向量),另一个返回一个标量(但是是两个向量之间的计算).

实现1(返回标量):

float CrossProduct(const Vector2D & v1, const Vector2D & v2) const
{
    return (v1.X*v2.Y) - (v1.Y*v2.X);
}
Run Code Online (Sandbox Code Playgroud)

实现2(返回向量):

Vector2D CrossProduct(const Vector2D & v) const
{
    return Vector2D(v.Y, -v.X);
}
Run Code Online (Sandbox Code Playgroud)

为什么不同的实施?我将使用标量实现?我将使用矢量实现?

我问的原因是因为我自己编写了一个Vector2D类,并且不知道使用哪种方法.

language-agnostic math 2d vector

71
推荐指数
5
解决办法
12万
查看次数

查找Cross Product以在MatplotLib中找到线上方/下方的点

我试图在MatPlotLib中绘制一条线,并根据斜率找到线上方或下方的所有点.

阅读本文,阅读Cross Product,我相信这是我检查要点的最佳方法.

我不确定在python中实现它的最佳方法是什么.

v1 = {x2-x1, y2-y1}   # Vector 1
v2 = {x2-xA, y2-yA}   # Vector 2
xp = v1.x*v2.y - v1.y*v2.x  # Cross product
Run Code Online (Sandbox Code Playgroud)

有没有人试过实现类似的东西?

我还有其他方法可以找到地块上的点是否在MatPlotLib中的线上方或下方?

python matplotlib

3
推荐指数
1
解决办法
1752
查看次数

标签 统计

2d ×1

language-agnostic ×1

math ×1

matplotlib ×1

python ×1

vector ×1