Vector4 — Aspose.3D FOSS for Java

Example

Vector4 является вектором двойной точности из 4 компонентов. Это тип хранения для контрольных точек сетки (где 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

См. также

 Русский