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

MethodsMethods
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.

MethodsMethodsMethods
xfloatthành phần X
yfloatthành phần Y
zfloatthành phần Z
lengthfloatĐộ dài Euclid (sqrt(x²+y²+z²)), chỉ đọc
length2floatĐộ 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.
zeroVector3Methods Vector3(0, 0, 0)
oneVector3Methods Vector3(1, 1, 1)
unit_xVector3Methods Vector3(1, 0, 0)
unit_yVector3Methods Vector3(0, 1, 0)
unit_zVector3Methods Vector3(0, 0, 1)

Methods

MethodsKiểu trả vềMethods
set(x, y, z)NoneThiết lập cả ba thành phần tại chỗ
dot(rhs)floatTích vô hướng với một vector khác Vector3
cross(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ề vector không nếu độ dài bằng không
angle_between(dir)floatGóc tính bằng radian giữa vector này và dir
angle_between(dir, up)floatGó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
compare_to(other)intSo sánh từ điển: trả về −1, 0, hoặc 1
Vector3.parse(s)Vector3Tĩ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)

Xem thêm

 Tiếng Việt