Vector3 — Aspose.3D FOSS for Java

Example

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

import com.aspose.threed.*;

// Construct from components
Vector3 v = new Vector3(1.0, 2.0, 3.0);

// Copy constructor
Vector3 v2 = new Vector3(v);

// Default (zero vector)
Vector3 zero = new Vector3();

Example

ExampleExample
Vector3()یک بردار صفر را می‌سازد (0, 0, 0)
Vector3(double x, double y, double z)از سه جزئیه می‌سازد
Vector3(Vector3 other)سازندهٔ کپی

فیلدهای عمومی

Vector3 از فیلدهای عمومی برای دسترسی به جزئیه‌ها (نه متدهای getter/setter):

ExampleExampleExampleExample
xdoublev.xمولفه X
ydoublev.yمولفه Y
zdoublev.zمولفه Z

ویژگی‌های محاسبه‌شده

ExampleExampleExampleExample
lengthdoublegetLength()طول اقلیدسی (sqrt(x^2+y^2+z^2)), فقط خواندنی
length2doublegetLength2()طول مربعی، فقط خواندنی؛ ارزان‌تر از getLength() زمانی که فقط مقایسه لازم است

فیلدهای ایستا

ExampleExampleExample
ZEROVector3Vector3(0, 0, 0)
ONEVector3Vector3(1, 1, 1)
UNIT_XVector3Vector3(1, 0, 0)
UNIT_YVector3Vector3(0, 1, 0)
UNIT_ZVector3Vector3(0, 0, 1)

Example

Exampleنوع بازگشتExample
set(double x, double y, double z)voidتمام سه مؤلفه را درجا تنظیم می‌کند
dot(Vector3 rhs)doubleضرب نقطه‌ای با دیگری Vector3
cross(Vector3 rhs)Vector3ضرب خارجی – یک بردار عمود بر هر دو عملوند برمی‌گرداند
normalize()Vector3یک نسخه با طول واحد برمی‌گرداند؛ اگر طول صفر باشد، بردار صفر را برمی‌گرداند
angleBetween(Vector3 dir)doubleزاویه به رادیان بین این بردار و dir
angleBetween(Vector3 dir, Vector3 up)doubleزاویهٔ علامت‌دار به رادیان که بر روی صفحهٔ تعریف‌شده توسط up
sin()Vector3سین مؤلفه‌ای
cos()Vector3کسینوس مؤلفه‌ای
compareTo(Vector3 other)intمقایسهٔ لغوی: -1، 0 یا 1 برمی‌گرداند
Vector3.parse(String s)Vector3استاتیک. تجزیه می‌کند "x y z" نمایش رشته‌ای

Example

import com.aspose.threed.*;
import com.aspose.threed.Scene;

// Basic arithmetic
Vector3 a = new Vector3(1.0, 0.0, 0.0);
Vector3 b = new Vector3(0.0, 1.0, 0.0);

// Dot and cross products
double dot = a.dot(b);           // 0.0
Vector3 perp = a.cross(b);      // Vector3(0, 0, 1)

// Normalize
Vector3 direction = new Vector3(3.0, 4.0, 0.0);
Vector3 unit = direction.normalize();   // Vector3(0.6, 0.8, 0.0)
System.out.println(unit.getLength());    // 1.0

// Angle between vectors
double angle = a.angleBetween(b);
System.out.println(Math.toDegrees(angle));   // 90.0

// Use with a scene node transform
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("box");
node.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

موارد مرتبط

 فارسی