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

Вижте също

 Български