Vector3
Paket: @aspose/3d (v24.12.0)
Vector3 je primarni matematički tip koji se koristi u cijelom @aspose/3d API-ju za pozicije, smjerove, Eulerove uglove i faktore skaliranja. Izvozi se iz @aspose/3d/utilities poddirektorija.
export class Vector3import { Vector3 } from '@aspose/3d/utilities';
// or via the main entry point when used with Transform/GlobalTransform
import { Scene } from '@aspose/3d';Izračunajte sredinu između dve pozicije i normalizujte vektor pravca.
import { Vector3 } from '@aspose/3d/utilities';
const a = new Vector3(1, 0, 0);
const b = new Vector3(0, 0, 4);
// Midpoint: average the components manually
const mid = new Vector3(
(a.x + b.x) * 0.5,
(a.y + b.y) * 0.5,
(a.z + b.z) * 0.5
);
console.log(`Midpoint: ${mid}`);
// Midpoint: Vector3(0.5, 0, 2)
// Normalized direction from a to b
const dir = b.minus(a).normalize();
console.log(`Direction: ${dir}`);
// Direction: Vector3(-0.2425..., 0, 0.9701...)
| Name | Type | Access | Description |
|---|---|---|---|
x | number | Read/Write | Gets the x. |
y | number | Read/Write | Gets the y. |
z | number | Read/Write | Gets the z. |
length | number | Read | Gets the length. |
length2 | number | Read | Gets the length2. |
zero | Vector3 | Read | Gets the zero. |
one | Vector3 | Read | Gets the one. |
unitX | Vector3 | Read | Gets the unit x. |
unitY | Vector3 | Read | Gets the unit y. |
unitZ | Vector3 | Read | Gets the unit z. |
| Signature | Description |
|---|---|
constructor(x: number, y: number, z: number) | Creates a new Vector3 using either a number or FVector3 for x and separate y, z |
constructor(vec: FVector3) | |
constructor(v: number) | |
| `constructor(x: number | FVector3, y: number, z: number)` |
set(newX: number, newY: number, newZ: number) | Assigns new x, y, z values to the vector |
dot(rhs: Vector3) → number | Returns the dot product of this vector with another Vector3 |
cross(rhs: Vector3) → Vector3 | |
normalize() → Vector3 | Returns a unit-length vector in the same direction |
angleBetween(dir: Vector3, up: Vector3) → number | Returns the angle in radians between this vector and dir, using up as reference |
sin() → Vector3 | Returns a vector whose components are the sine of this vector’s components |
cos() → Vector3 | |
compareTo(other: Vector3) → number | Returns a numeric comparison of this vector with another vector |
parse(input: string) → Vector3 | Creates a Vector3 from a string representation |
getItem(key: number) → number | |
setItem(key: number, value: number) | Sets the item value. |
toString() → string | |
equals(other: Vector3) → boolean | Returns true if this vector has the same components as another |
minus(v: Vector3) → Vector3 | Returns a new vector equal to this vector minus the given vector |
times(scalar: number) → Vector3 | Returns a new vector scaled by the given scalar |
set(x, y, z)
Mutira vektor na mestu, postavljajući sve tri komponente.
set(newX: number, newY: number, newZ: number): voiddot(rhs)
Vraća skalarni proizvod ovog vektora i rhs.
dot(rhs: Vector3): numberconst up = new Vector3(0, 1, 0);
const dir = new Vector3(0.5, 0.5, 0).normalize();
const alignment = up.dot(dir);
console.log(Dot: ${alignment.toFixed(4)}); // Dot: 0.7071
---
### cross(rhs)
Vraća novi `Vector3` koji je vektorski proizvod ovog vektora i `rhs`.
```typescript
cross(rhs: Vector3): Vector3const right = new Vector3(1, 0, 0);
const up = new Vector3(0, 1, 0);
const forward = right.cross(up);
console.log(Forward: ${forward});
// Forward: Vector3(0, 0, -1)
---
### normalize()
Vraća novi `Vector3` sa istim smerom, ali jediničnom dužinom. Vraća `(0, 0, 0)` ako ovaj vektor ima nultu dužinu.
```typescript
normalize(): Vector3minus(v)
Vraća novi Vector3 jednak this - v.
minus(v: Vector3): Vector3times(scalar)
Vraća novi Vector3 jednak this * scalar.
times(scalar: number): Vector3angleBetween(dir, up?)
Vraća ugao u radijanima između ovog vektora i dir. Ako up je navedeno, ugao se izračunava u ravni normalnoj na up (potpisani ugao u toj ravni).
angleBetween(dir: Vector3, up?: Vector3): numbersin()
Vraća novi Vector3 sa Math.sin primenjen komponentno.
sin(): Vector3cos()
Vraća novi Vector3 sa Math.cos primenjen komponentno.
cos(): Vector3equals(other)
equals(other: Vector3): booleancompareTo(other)
compareTo(other: Vector3): numberstatic parse(input)
Parsira string odvojen belinama koji sadrži tri broja u Vector3. Baca izuzetak ako je format neispravan.
static parse(input: string): Vector3const v = Vector3.parse(‘1.5 2.0 -3.0’);
console.log(${v}); // Vector3(1.5, 2, -3)
---
### toString()
Vraća string u obliku `Vector3(x, y, z)`.
```typescript
toString(): string