Vector4 — Aspose.3D FOSS for Java

Example

Vector4 是一个双精度的四分量向量。它是网格控制点的存储类型(其中 w = 1.0 用于位置)以及在 VertexElementNormal 层中(其中 w 未使用)。.

Example: com.aspose.threed

import com.aspose.threed.*;

Vector4 point = new Vector4(1.0, 2.0, 3.0, 1.0);

Example

ExampleExample
Vector4()Example (0, 0, 0, 1)
Vector4(double x, double y, double z, double w)从四个分量构造
Vector4(double x, double y, double z)使用构造 w = 1.0
Vector4(Vector3 v3)从一个 Vector3 使用 w = 1.0
Vector4(Vector4 other)拷贝构造函数

公共字段

Vector4 使用 公共字段 用于组件访问(非 getter/setter 方法)::

ExampleExampleExampleExample
xdoublev.xX 组件
ydoublev.yY 组件
zdoublev.zZ 组件
wdoublev.wW 组件(齐次坐标)

Example

Example返回类型Example
set(double x, double y, double z, double w)void设置所有四个组件
toVector3()Vector3返回一个 Vector3(x, y, z) 去除 w 组件

Example

import com.aspose.threed.*;

Mesh mesh = new Mesh();

// Add control points (w=1.0 for positions)
mesh.getControlPoints().add(new Vector4(0.0, 0.0, 0.0, 1.0));
mesh.getControlPoints().add(new Vector4(1.0, 0.0, 0.0, 1.0));
mesh.getControlPoints().add(new Vector4(0.5, 1.0, 0.0, 1.0));
mesh.createPolygon(0, 1, 2);

// Convert to Vector3
Vector4 v4 = new Vector4(1.0, 2.0, 3.0, 1.0);
Vector3 v3 = v4.toVector3();   // Vector3(1.0, 2.0, 3.0)

// Construct from Vector3
Vector3 pos = new Vector3(5.0, 0.0, 0.0);
Vector4 homogeneous = new Vector4(pos);   // w = 1.0

另见

 中文