Vector3 — Aspose.3D FOSS for Java

Properties

Vector3 là một vector 3 thành phần có độ chính xác double với x, y, và z các thành phần. Nó được sử dụng xuyên suốt Aspose.3D cho vị trí, hướng, pháp tuyến và các giá trị tỉ lệ. Tất cả các phép toán số học trả về một new Vector3 các thể hiện; đối tượng gốc không bị thay đổi.

import com.aspose.threed.*;

// Construct from components
Vector3 v = new Vector3(1.0, 2.0, 3.0);

// Copy constructor
Vector3 v2 = new Vector3(v);

// Default (zero vector)
Vector3 zero = new Vector3();

Properties

PropertiesProperties
Vector3()Khởi tạo vector zero (0, 0, 0)
Vector3(double x, double y, double z)Khởi tạo từ ba thành phần
Vector3(Vector3 other)Hàm khởi tạo sao chép

Các trường công khai

Vector3 sử dụng các trường public để truy cập thành phần (không phải phương thức getter/setter):

PropertiesPropertiesPropertiesProperties
xdoublev.xthành phần X
ydoublev.ythành phần Y
zdoublev.zthành phần Z

Các thuộc tính tính toán

PropertiesPropertiesPropertiesProperties
lengthdoublegetLength()độ dài Euclid (sqrt(x^2+y^2+z^2)), chỉ đọc
length2doublegetLength2()độ dài bình phương, chỉ đọc; rẻ hơn so với getLength() khi chỉ cần so sánh

Trường tĩnh

PropertiesPropertiesProperties
ZEROVector3Vector3(0, 0, 0)
ONEVector3Vector3(1, 1, 1)
UNIT_XVector3Vector3(1, 0, 0)
UNIT_YVector3Vector3(0, 1, 0)
UNIT_ZVector3Vector3(0, 0, 1)

Properties

PropertiesKiểu trả vềProperties
set(double x, double y, double z)voidThiết lập cả ba thành phần tại chỗ
dot(Vector3 rhs)doubleTích vô hướng với một vector khác Vector3
cross(Vector3 rhs)Vector3Tích có hướng – trả về một vector vuông góc với cả hai toán hạng
normalize()Vector3Trả về một bản sao có độ dài đơn vị; trả về zero vector nếu độ dài bằng không
angleBetween(Vector3 dir)doubleGóc (radian) giữa vector này và dir
angleBetween(Vector3 dir, Vector3 up)doubleGóc có dấu tính bằng radian được chiếu lên mặt phẳng được định nghĩa bởi up
sin()Vector3Sin từng thành phần
cos()Vector3Cos từng thành phần
compareTo(Vector3 other)intSo sánh từ điển: trả về -1, 0, hoặc 1
Vector3.parse(String s)Vector3Static. Phân tích "x y z" đại diện dạng chuỗi

Properties

import com.aspose.threed.*;
import com.aspose.threed.Scene;

// Basic arithmetic
Vector3 a = new Vector3(1.0, 0.0, 0.0);
Vector3 b = new Vector3(0.0, 1.0, 0.0);

// Dot and cross products
double dot = a.dot(b);           // 0.0
Vector3 perp = a.cross(b);      // Vector3(0, 0, 1)

// Normalize
Vector3 direction = new Vector3(3.0, 4.0, 0.0);
Vector3 unit = direction.normalize();   // Vector3(0.6, 0.8, 0.0)
System.out.println(unit.getLength());    // 1.0

// Angle between vectors
double angle = a.angleBetween(b);
System.out.println(Math.toDegrees(angle));   // 90.0

// Use with a scene node transform
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("box");
node.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

Xem thêm

 Tiếng Việt