Vector3

Methods

Vector3 یک بردار ۳ مؤلفه‌ای با دقت دو برابر است x, y,، و z مؤلفه‌ها. در سراسر Aspose.3D برای موقعیت‌ها، جهت‌ها، نرمال‌ها و مقادیر مقیاس استفاده می‌شود. تمام عملیات حسابی یک نمونه جدید برمی‌گردانند Vector3 نمونه‌ها؛ نمونه اصلی تغییر نمی‌کند.

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()بردار صفر را می‌سازد (0, 0, 0)
Vector3(x, y, z)از سه مقدار می‌سازد float مؤلفه‌ها
Vector3(other)سازندهٔ کپی — یک شیء دیگر را می‌پذیرد Vector3

Methods

تمام مؤلفه‌ها ویژگی‌های قابل خواندن و نوشتن هستند؛ بدون پرانتز به آن‌ها دسترسی پیدا کنید.

MethodsMethodsMethods
xfloatمؤلفه X
yfloatمؤلفه Y
zfloatمولفه Z
lengthfloatطول اقلیدسی (sqrt(x²+y²+z²)), فقط‑خواندنی
length2floatطول مربعی (x²+y²+z²), فقط‑خواندنی؛ ارزان‌تر از length وقتی فقط مقایسه لازم است
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

Methodsنوع بازگشتMethods
set(x, y, z)Noneتمام سه مولفه را در‌جا تنظیم می‌کند
dot(rhs)floatضرب نقطه‌ای با دیگری Vector3
cross(rhs)Vector3ضرب متقاطع — یک بردار عمود بر هر دو عملوند برمی‌گرداند
normalize()Vector3یک نسخه با طول واحد برمی‌گرداند؛ اگر طول صفر باشد، بردار صفر را برمی‌گرداند
angle_between(dir)floatزاویه به رادیان بین این بردار و dir
angle_between(dir, up)floatزاویه علامت‌دار به رادیان که بر روی صفحه تعریف‌شده توسط up
sin()Vector3سینوس مؤلفه به مؤلفه
cos()Vector3کسینوس مؤلفه به مؤلفه
compare_to(other)intمقایسهٔ لغوی: −1، 0 یا 1 برمی‌گرداند
Vector3.parse(s)Vector3استاتیک. تجزیه می‌کند "x y z" نمایش رشته‌ای

دسترسی به ایندکس

اجزاء می‌توانند با اندیس عدد صحیح دسترسی پیدا کنند: 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)

موارد مرتبط

 فارسی