Vector3
Methods
Vector3 là một vector 3 thành phần có độ chính xác double-precision với x, y, và z các thành phần. Nó được sử dụng rộng rãi trong Aspose.3D cho vị trí, hướng, pháp tuyến và giá trị tỉ lệ. Tất cả các phép toán số học trả về một Vector3 các thể hiện; bản gốc không bị thay đổi.
from aspose.threed.utilities import Vector3
# Construct from components
v = Vector3(1.0, 2.0, 3.0)
# Copy constructor
v2 = Vector3(v)
# Default (zero vector)
zero = Vector3()Methods
| Methods | Methods |
|---|---|
Vector3() | Khởi tạo vector zero (0, 0, 0) |
Vector3(x, y, z) | Khởi tạo từ ba float thành phần |
Vector3(other) | Hàm khởi tạo sao chép — chấp nhận một Vector3 |
Methods
Tất cả các thành phần là các thuộc tính có thể đọc và ghi; truy cập chúng mà không cần dấu ngoặc đơn.
| Methods | Methods | Methods |
|---|---|---|
x | float | thành phần X |
y | float | thành phần Y |
z | float | thành phần Z |
length | float | Độ dài Euclid (sqrt(x²+y²+z²)), chỉ đọc |
length2 | float | Độ dài bình phương (x²+y²+z²), chỉ đọc; rẻ hơn so với length khi chỉ cần so sánh. |
zero | Vector3 | Methods Vector3(0, 0, 0) |
one | Vector3 | Methods Vector3(1, 1, 1) |
unit_x | Vector3 | Methods Vector3(1, 0, 0) |
unit_y | Vector3 | Methods Vector3(0, 1, 0) |
unit_z | Vector3 | Methods Vector3(0, 0, 1) |
Methods
| Methods | Kiểu trả về | Methods |
|---|---|---|
set(x, y, z) | None | Thiết lập cả ba thành phần tại chỗ |
dot(rhs) | float | Tích vô hướng với một vector khác Vector3 |
cross(rhs) | Vector3 | Tích có hướng — trả về một vector vuông góc với cả hai toán hạng |
normalize() | Vector3 | Trả về một bản sao có độ dài đơn vị; trả về vector không nếu độ dài bằng không |
angle_between(dir) | float | Góc tính bằng radian giữa vector này và dir |
angle_between(dir, up) | float | Gó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() | Vector3 | Sin từng thành phần |
cos() | Vector3 | Cos từng thành phần |
compare_to(other) | int | So sánh từ điển: trả về −1, 0, hoặc 1 |
Vector3.parse(s) | Vector3 | Tĩnh. Phân tích "x y z" đại diện chuỗi |
Truy cập theo chỉ mục
Các thành phần có thể được truy cập bằng chỉ số nguyên: v[0] → x, v[1] → y, v[2] → z.
Methods
from aspose.threed.utilities import Vector3
# Basic arithmetic (standard Python operators are supported)
a = Vector3(1.0, 0.0, 0.0)
b = Vector3(0.0, 1.0, 0.0)
# Dot and cross products
dot = a.dot(b) # 0.0
perp = a.cross(b) # Vector3(0, 0, 1)
# Normalize
direction = Vector3(3.0, 4.0, 0.0)
unit = direction.normalize() # Vector3(0.6, 0.8, 0.0)
print(unit.length) # 1.0
# Angle between vectors
import math
angle = a.angle_between(b)
print(math.degrees(angle)) # 90.0
# Use with a scene node transform
from aspose.threed import Scene
scene = Scene()
node = scene.root_node.create_child_node("box")
node.transform.translation = Vector3(10.0, 0.0, 0.0)