Vector3

Methods

Vector3 è un vettore a doppia precisione a 3 componenti con x, y, e z componenti. È usato in tutto Aspose.3D per posizioni, direzioni, normali e valori di scala. Tutte le operazioni aritmetiche restituiscono nuovi Vector3 istanze; l’originale non viene modificato.

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()Costruisce il vettore zero (0, 0, 0)
Vector3(x, y, z)Costruisce da tre float componenti
Vector3(other)Costruttore di copia — accetta un altro Vector3

Methods

Tutte le componenti sono proprietà leggibili e scrivibili; accedetele senza parentesi.

MethodsMethodsMethods
xfloatComponente X
yfloatComponente Y
zfloatComponente Z
lengthfloatLunghezza euclidea (sqrt(x²+y²+z²)), sola lettura
length2floatLunghezza al quadrato (x²+y²+z²), sola lettura; più economico rispetto a length quando è necessario solo il confronto
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

MethodsTipo di ritornoMethods
set(x, y, z)NoneImposta tutti e tre i componenti in loco
dot(rhs)floatProdotto scalare con un altro Vector3
cross(rhs)Vector3Prodotto vettoriale — restituisce un vettore perpendicolare a entrambi gli operandi
normalize()Vector3Restituisce una copia di lunghezza unitaria; restituisce il vettore zero se la lunghezza è zero
angle_between(dir)floatAngolo in radianti tra questo vettore e dir
angle_between(dir, up)floatAngolo con segno in radianti proiettato sul piano definito da up
sin()Vector3Seno per componente
cos()Vector3Coseno per componente
compare_to(other)intConfronto lessicografico: restituisce −1, 0 o 1
Vector3.parse(s)Vector3Statico. Analizza "x y z" rappresentazione stringa

Accesso per indice

I componenti possono essere accessi tramite indice intero: 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)

Vedi anche

 Italiano