类 FieldVector2D<T extends CalculusFieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
CalculusFieldElement
重新实现的Vector2D
类。
此类的实例保证是不可变的。
- 从以下版本开始:
- 1.6
-
构造器概要
构造器说明FieldVector2D
(double a, FieldVector2D<T> u) 乘法构造函数:从另一个向量和一个比例因子构建向量。FieldVector2D
(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2) 线性构造函数。FieldVector2D
(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3) 线性构造函数。FieldVector2D
(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3, double a4, FieldVector2D<T> u4) 线性构造函数。FieldVector2D
(Field<T> field, Vector2D v) 从Vector2D
构建FieldVector2D
。FieldVector2D
(T[] v) 简单构造函数。FieldVector2D
(T a, FieldVector2D<T> u) 乘法构造函数:从另一个向量和一个比例因子构建向量。FieldVector2D
(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2) 线性构造函数:从另外两个向量和相应的比例因子构建向量。FieldVector2D
(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3) 线性构造函数。FieldVector2D
(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3, T a4, FieldVector2D<T> u4) 线性构造函数。FieldVector2D
(T a, Vector2D u) 乘法构造函数:从另一个向量和一个比例因子构建向量。FieldVector2D
(T a1, Vector2D u1, T a2, Vector2D u2) 线性构造函数。线性构造函数。线性构造函数。FieldVector2D
(T x, T y) 简单构造函数。 -
方法概要
修饰符和类型方法说明add
(double factor, FieldVector2D<T> v) 将缩放向量添加到实例。将缩放向量添加到实例。add
(FieldVector2D<T> v) 将向量添加到实例。将向量添加到实例。add
(T factor, FieldVector2D<T> v) 将缩放向量添加到实例。将缩放向量添加到实例。static <T extends CalculusFieldElement<T>>
Tangle
(FieldVector2D<T> v1, FieldVector2D<T> v2) 计算两个向量之间的角度间隔。static <T extends CalculusFieldElement<T>>
Tangle
(FieldVector2D<T> v1, Vector2D v2) 计算两个向量之间的角度间隔。static <T extends CalculusFieldElement<T>>
Tangle
(Vector2D v1, FieldVector2D<T> v2) 计算两个向量之间的角度间隔。crossProduct
(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算实例和给定点的叉积。crossProduct
(Vector2D p1, Vector2D p2) 计算实例和给定点的叉积。distance
(FieldVector2D<T> v) 根据L2范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(FieldVector2D<T> p1, FieldVector2D<T> p2) 根据L2范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(FieldVector2D<T> p1, Vector2D p2) 根据L2范数计算两个向量之间的距离。根据L2范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(Vector2D p1, FieldVector2D<T> p2) 根据L2范数计算两个向量之间的距离。distance1
(FieldVector2D<T> v) 根据L1范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(FieldVector2D<T> p1, FieldVector2D<T> p2) 根据L2范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(FieldVector2D<T> p1, Vector2D p2) 根据L2范数计算两个向量之间的距离。根据L1范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(Vector2D p1, FieldVector2D<T> p2) 根据L2范数计算两个向量之间的距离。根据L∞范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(FieldVector2D<T> p1, FieldVector2D<T> p2) 根据L∞范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(FieldVector2D<T> p1, Vector2D p2) 根据L∞范数计算两个向量之间的距离。根据L∞范数计算实例和另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(Vector2D p1, FieldVector2D<T> p2) 根据L∞范数计算两个向量之间的距离。distanceSq
(FieldVector2D<T> v) 计算实例和另一个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算两个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(FieldVector2D<T> p1, Vector2D p2) 计算两个向量之间的距离的平方。计算实例和另一个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(Vector2D p1, FieldVector2D<T> p2) 计算两个向量之间的距离的平方。dotProduct
(FieldVector2D<T> v) 计算实例和另一个向量的点积。计算实例和另一个向量的点积。boolean
测试两个2D向量是否相等。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取第一个规范向量的相反向量(坐标:-1)。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取第二个规范向量的相反向量(坐标:0,-1)。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取所有坐标都设置为NaN的向量。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> getNegativeInfinity
(Field<T> field) 获取所有坐标都设置为负无穷大的向量。getNorm()
获取向量的L2范数。getNorm1()
获取向量的L1范数。获取向量的L∞范数。获取向量的范数的平方。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取第一个规范向量(坐标:1,0)。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取第二个规范向量(坐标:0,1)。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> getPositiveInfinity
(Field<T> field) 获取所有坐标都设置为正无穷大的向量。getX()
获取向量的横坐标。getY()
获取向量的纵坐标。static <T extends CalculusFieldElement<T>>
FieldVector2D<T> 获取零向量(坐标:0,0)。int
hashCode()
获取3D向量的哈希码。boolean
如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。boolean
isNaN()
如果此向量的任何坐标为NaN,则返回true;否则返回false。negate()
获取实例的相反向量。获取与实例对齐的归一化向量。static <T extends CalculusFieldElement<T>>
Torientation
(FieldVector2D<T> p, FieldVector2D<T> q, FieldVector2D<T> r) 计算三个点的方向。scalarMultiply
(double a) 将实例乘以标量。scalarMultiply
(T a) 将实例乘以标量。subtract
(double factor, FieldVector2D<T> v) 从实例中减去一个缩放向量。从实例中减去一个缩放向量。subtract
(FieldVector2D<T> v) 从实例中减去一个向量。从实例中减去一个向量。subtract
(T factor, FieldVector2D<T> v) 从实例中减去一个缩放向量。从实例中减去一个缩放向量。T[]
toArray()
将向量坐标作为二维数组返回。toString()
获取此向量的字符串表示。toString
(NumberFormat format) 获取此向量的字符串表示。转换为没有额外字段部分的常量向量。
-
构造器详细资料
-
FieldVector2D
简单构造函数。根据其坐标构建向量- 参数:
-
x
- 横坐标 -
y
- 纵坐标 - 另请参阅:
-
FieldVector2D
简单构造函数。根据其坐标构建向量- 参数:
-
v
- 坐标数组 - 抛出:
-
MathIllegalArgumentException
- 如果数组不具有2个元素 - 另请参阅:
-
FieldVector2D
乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u- 参数:
-
a
- 比例因子 -
u
- 基础(未缩放)向量
-
FieldVector2D
乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u- 参数:
-
a
- 比例因子 -
u
- 基础(未缩放)向量
-
FieldVector2D
乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u- 参数:
-
a
- 比例因子 -
u
- 基础(未缩放)向量
-
FieldVector2D
线性构造函数:从另外两个向量和相应的比例因子构建向量。构建的向量将为a1 * u1 + a2 * u2- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量
-
FieldVector2D
线性构造函数。从另外两个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量
-
FieldVector2D
线性构造函数。从另外两个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量
-
FieldVector2D
public FieldVector2D(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3) 线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量
-
FieldVector2D
线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量
-
FieldVector2D
public FieldVector2D(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3) 线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量
-
FieldVector2D
public FieldVector2D(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3, T a4, FieldVector2D<T> u4) 线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量 -
a4
- 第四个比例因子 -
u4
- 第四个基础(未缩放)向量
-
FieldVector2D
线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量 -
a4
- 第四个比例因子 -
u4
- 第四个基础(未缩放)向量
-
FieldVector2D
public FieldVector2D(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3, double a4, FieldVector2D<T> u4) 线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- 第一个比例因子 -
u1
- 第一个基础(未缩放)向量 -
a2
- 第二个比例因子 -
u2
- 第二个基础(未缩放)向量 -
a3
- 第三个比例因子 -
u3
- 第三个基础(未缩放)向量 -
a4
- 第四个比例因子 -
u4
- 第四个基础(未缩放)向量
-
FieldVector2D
从FieldVector2D
构建一个Vector2D
。- 参数:
-
field
- 组件的字段 -
v
- 要转换的向量
-
-
方法详细资料
-
getZero
获取空向量(坐标:0, 0)。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getPlusI
获取第一个规范向量(坐标:1, 0)。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getMinusI
获取第一个规范向量的相反向量(坐标:-1)。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getPlusJ
获取第二个规范向量(坐标:0, 1)。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getMinusJ
获取第二个规范向量的相反向量(坐标:0, -1)。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getNaN
获取所有坐标都设置为NaN的向量。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getPositiveInfinity
public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getPositiveInfinity(Field<T> field) 获取所有坐标都设置为正无穷大的向量。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getNegativeInfinity
public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getNegativeInfinity(Field<T> field) 获取所有坐标都设置为负无穷大的向量。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 组件的字段 - 返回:
- 一个新的向量
-
getX
获取向量的横坐标。- 返回:
- 向量的横坐标
- 另请参阅:
-
getY
获取向量的纵坐标。- 返回:
- 向量的纵坐标
- 另请参阅:
-
toArray
将向量坐标作为二维数组返回。- 返回:
- 向量坐标
- 另请参阅:
-
toVector2D
转换为没有额外字段部分的常量向量。- 返回:
- 一个常量向量
-
getNorm1
获取向量的L1范数。- 返回:
- 向量的L1范数
-
getNorm
获取向量的L2范数。- 返回:
- 向量的欧几里德范数
-
getNormSq
获取向量的范数的平方。- 返回:
- 向量的欧几里德范数的平方
-
getNormInf
获取向量的L∞范数。- 返回:
- 向量的L∞范数
-
add
将一个向量添加到实例中。- 参数:
-
v
- 要添加的向量 - 返回:
- 一个新的向量
-
add
将一个向量添加到实例中。 </- 参数:
-
v
- vector to add - 返回:
- a new vector
-
add
Add a scaled vector to the instance.- 参数:
-
factor
- scale factor to apply to v before adding it -
v
- vector to add - 返回:
- a new vector
-
add
Add a scaled vector to the instance.- 参数:
-
factor
- scale factor to apply to v before adding it -
v
- vector to add - 返回:
- a new vector
-
add
Add a scaled vector to the instance.- 参数:
-
factor
- scale factor to apply to v before adding it -
v
- vector to add - 返回:
- a new vector
-
add
Add a scaled vector to the instance.- 参数:
-
factor
- scale factor to apply to v before adding it -
v
- vector to add - 返回:
- a new vector
-
subtract
Subtract a vector from the instance.- 参数:
-
v
- vector to subtract - 返回:
- a new vector
-
subtract
Subtract a vector from the instance.- 参数:
-
v
- vector to subtract - 返回:
- a new vector
-
subtract
Subtract a scaled vector from the instance.- 参数:
-
factor
- 在减去之前应用于v的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新的向量
-
subtract
从实例中减去一个经过缩放的向量。- 参数:
-
factor
- 在减去之前应用于v的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新的向量
-
subtract
从实例中减去一个经过缩放的向量。- 参数:
-
factor
- 在减去之前应用于v的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新的向量
-
subtract
从实例中减去一个经过缩放的向量。- 参数:
-
factor
- 在减去之前应用于v的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新的向量
-
normalize
获取与实例对齐的归一化向量。- 返回:
- 一个新的归一化向量
- 抛出:
-
MathRuntimeException
- 如果范数为零
-
angle
public static <T extends CalculusFieldElement<T>> T angle(FieldVector2D<T> v1, FieldVector2D<T> v2) throws MathRuntimeException 计算两个向量之间的角分离。此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为零
-
angle
public static <T extends CalculusFieldElement<T>> T angle(FieldVector2D<T> v1, Vector2D v2) throws MathRuntimeException 计算两个向量之间的角分离。此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为零
-
angle
public static <T extends CalculusFieldElement<T>> T angle(Vector2D v1, FieldVector2D<T> v2) throws MathRuntimeException 计算两个向量之间的角分离。此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为零
-
negate
获取实例的相反向量。- 返回:
- 一个与实例相反的新向量
-
scalarMultiply
将实例乘以一个标量。- 参数:
-
a
- 标量 - 返回:
- 一个新的向量
-
scalarMultiply
将实例乘以一个标量。- 参数:
-
a
- 标量 - 返回:
- 一个新的向量
-
isNaN
public boolean isNaN()如果此向量的任何坐标为NaN,则返回true;否则返回false- 返回:
- 如果此向量的任何坐标为NaN,则返回true;否则返回false
-
isInfinite
public boolean isInfinite()如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false- 返回:
- 如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false
-
equals
测试两个2D向量是否相等。如果两个2D向量的所有坐标完全相同,并且它们的任何
实部
都不是NaN
,则认为两个2D向量相等。NaN
坐标被认为全局影响向量并彼此相等 - 即,如果3D向量的坐标的任一(或全部)实部为NaN
,则2D向量为NaN
。 -
hashCode
public int hashCode()获取3D向量的哈希码。所有NaN值具有相同的哈希码。
-
distance1
根据L1范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm1()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L1范数,实例与p之间的距离
-
distance1
根据L1范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm1()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L1范数,实例与p之间的距离
-
distance
根据L2范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L2范数,实例与p之间的距离
-
distance
根据L2范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L2范数,实例与p之间的距离
-
distanceInf
根据L∞范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNormInf()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L∞范数,实例与p之间的距离
-
distanceInf
根据L∞范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNormInf()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L∞范数,实例与p之间的距离
-
distanceSq
计算实例与另一个向量之间的距离的平方。调用此方法等效于调用:
q.subtract(p).getNormSq()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 实例与p之间的距离的平方
-
distanceSq
计算实例与另一个向量之间的距离的平方。调用此方法等效于调用:
q.subtract(p).getNormSq()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 实例与p之间的距离的平方
-
dotProduct
计算实例与另一个向量的点积。该实现使用特定的乘法和加法算法来保持精度并减少抵消效应。即使对于几乎正交的向量,它也应该非常准确。
- 参数:
-
v
- 第二个向量 - 返回:
- 点积this.v
- 另请参阅:
-
dotProduct
计算实例与另一个向量的点积。该实现使用特定的乘法和加法算法来保持精度并减少抵消效应。即使对于几乎正交的向量,它也应该非常准确。
- 参数:
-
v
- 第二个向量 - 返回:
- 点积 this.v
- 另请参阅:
-
crossProduct
计算实例和给定点的叉积。叉积可用于确定点相对于由(p1, p2)形成的直线的位置,计算如下:\[ P = (x_2 - x_1)(y_3 - y_1) - (y_2 - y_1)(x_3 - x_1) \] 其中 \(p3 = (x_3, y_3)\) 是这个实例。
如果结果为0,则点共线,即位于一条直线 L 上;如果为正,则该点位于(p1, p2)形成的直线的左侧,否则位于右侧。
- 参数:
-
p1
- 直线的第一个点 -
p2
- 直线的第二个点 - 返回:
- 叉积
- 另请参阅:
-
crossProduct
计算实例和给定点的叉积。叉积可用于确定点相对于由(p1, p2)形成的直线的位置,计算如下:\[ P = (x_2 - x_1)(y_3 - y_1) - (y_2 - y_1)(x_3 - x_1) \] 其中 \(p3 = (x_3, y_3)\) 是这个实例。
如果结果为0,则点共线,即位于一条直线 L 上;如果为正,则该点位于(p1, p2)形成的直线的左侧,否则位于右侧。
- 参数:
-
p1
- 直线的第一个点 -
p2
- 直线的第二个点 - 返回:
- 叉积
- 另请参阅:
-
distance1
public static <T extends CalculusFieldElement<T>> T distance1(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distance1
计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distance1
计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distance
public static <T extends CalculusFieldElement<T>> T distance(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distance
计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distance
计算两个向量之间的距离,根据 L2 范数。调用此方法等同于调用:
p1.subtract(p2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L2 范数的 p1 和 p2 之间的距离
-
distanceInf
public static <T extends CalculusFieldElement<T>> T distanceInf(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算两个向量之间的距离,根据 L∞ 范数。调用此方法等同于调用:
p1.subtract(p2).getNormInf()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L∞ 范数的 p1 和 p2 之间的距离
-
distanceInf
计算两个向量之间的距离,根据 L∞ 范数。调用此方法等同于调用:
p1.subtract(p2).getNormInf()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L∞ 范数的 p1 和 p2 之间的距离
-
distanceInf
计算两个向量之间的距离,根据 L∞ 范数。调用此方法等同于调用:
p1.subtract(p2).getNormInf()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- 根据 L∞ 范数的 p1 和 p2 之间的距离
-
distanceSq
public static <T extends CalculusFieldElement<T>> T distanceSq(FieldVector2D<T> p1, FieldVector2D<T> p2) 计算两个向量之间的距离的平方。调用此方法等同于调用:
p1.subtract(p2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- p1 和 p2 之间距离的平方
-
distanceSq
计算两个向量之间的距离的平方。调用此方法等同于调用:
p1.subtract(p2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- p1 和 p2 之间距离的平方
-
distanceSq
计算两个向量之间的距离的平方。调用此方法等同于调用:
p1.subtract(p2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p1
- 第一个向量 -
p2
- 第二个向量 - 返回:
- p1 和 p2 之间距离的平方
-
orientation
public static <T extends CalculusFieldElement<T>> T orientation(FieldVector2D<T> p, FieldVector2D<T> q, FieldVector2D<T> r) 计算三个点的方向。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
p
- 三元组的第一个向量 -
q
- 三元组的第二个向量 -
r
- 三元组的第三个向量 - 返回:
- 如果 (p, q, r) 定义为逆时针定向三角形,则为正值,如果 (p, q, r) 定义为顺时针定向三角形,则为负值,如果 (p, q, r) 共线或某些点相等,则为0
- 从以下版本开始:
- 1.2
-
toString
获取此向量的字符串表示形式。 -
toString
获取此向量的字符串表示形式。- 参数:
-
format
- 组件的自定义格式 - 返回:
- 此向量的字符串表示形式
-