فئة تمثل [link:https://en.wikipedia.org/wiki/Vector_space متجه] ثلاثي الأبعاد. متجه ثلاثي الأبعاد هو ثلاثي مرتب من الأرقام (مسمى x و y و z) ، والذي يمكن استخدامه لتمثيل عدد من الأشياء ، مثل:
هناك أشياء أخرى يمكن استخدام متجه ثلاثي الأبعاد لتمثيلها ، مثل متجهات الزخم وما إلى ذلك ، ومع ذلك فإن هذه هي الاستخدامات الأكثر شيوعًا في three.js.
التكرار عبر مثيل [name] سوف ينتج عنه مكوناته `(x, y, z)` بالترتيب المقابل.
const a = new THREE.Vector3( 0, 1, 0 );
//no arguments; will be initialised to (0, 0, 0)
const b = new THREE.Vector3( );
const d = a.distanceTo( b );
[page:Float x] - قيمة x لهذا الفيكتور. القيمة الافتراضية هي `0`.
[page:Float y] - قيمة y لهذا الفيكتور. القيمة الافتراضية هي `0`.
[page:Float z] - قيمة z لهذا الفيكتور. القيمة الافتراضية هي `0`.
ينشئ [name] جديد.
علامة للتحقق مما إذا كان الكائن المعطى من نوع [name] أم لا.
يضيف [page:Vector3 v] إلى هذا الفيكتور.
يضيف قيمة العدد s إلى قيم [page:.x x]، [page:.y y] و [page:.z z] لهذا الفيكتور.
يضيف الضرب المتعدد لـ [page:Vector3 v] و [page:Float s] إلى هذا الفيكتور.
يعيد هذا الفيكتور إلى [page:Vector3 a] + [page:Vector3 b].
[page:Vector3 axis] - محور [page:Vector3] موحّد.
[page:Float angle] - زاوية بالراديان.
يطبق تحويلًا يُحدد بواسطة محور وزاوية على هذا الفيكتور.
يطبق تحويل أويلر على هذا الفيكتور من خلال تحويل الكائن [page:Euler] إلى [page:Quaternion] وتطبيقه.
يضرب هذا الفيكتور بواسطة [page:Matrix3 m].
يضرب هذا الفيكتور (مع وجود 1 ضمن الأبعاد الرابعة) بـ m، ويقسمه على التوازن.
يضرب هذا الفيكتور بواسطة مصفوفة القوامة العادية [page:Matrix3 m] ويقوم بتطبيع النتيجة.
يطبق تحويل [page:Quaternion] على هذا الفيكتور.
يعيد الزاوية بين هذا الفيكتور وفيكتور [page:Vector3 v] بالراديان.
يقوم بتقريب مكونات [page:.x x]، [page:.y y] و [page:.z z] لهذا الفيكتور إلى أقرب قيمة صحيحة.
[page:Vector3 min] - القيم [page:.x x]، [page:.y y] و [page:.z z] الدنيا.
[page:Vector3 max] - القيم [page:.x x]، [page:.y y] و [page:.z z] العليا في النطاق المطلوب.
إذا كانت قيم x أو y أو z لهذا الفيكتور أكبر من قيم x أو y أو z العليا للفيكتور، يتم استبدالها بالقيم المقابلة.
إذا كانت قيم x أو y أو z لهذا الفيكتور أقل من قيم x أو y أو z الدنيا للفيكتور، يتم استبدالها بالقيم المقابلة.
[page:Float min] - القيمة الدنيا التي ستتم تقييدها للطول
[page:Float max] - القيمة العليا التي ستتم تقييدها للطول
إذا كان طول هذا الفيكتور أكبر من القيمة العليا، سيتم تصغير الفيكتور بحيث يصبح طوله هو القيمة العليا.
إذا كان طول هذا الفيكتور أقل من القيمة الدنيا، سيتم تكبير الفيكتور بحيث يصبح طوله هو القيمة الدنيا.
[page:Float min] - القيمة الدنيا التي ستتم تقييدها للمكونات
[page:Float max] - القيمة العليا التي ستتم تقييدها للمكونات
إذا كانت قيم x أو y أو z لهذا الفيكتور أكبر من القيمة العليا، سيتم استبدالها بالقيمة العليا.
إذا كانت قيم x أو y أو z لهذا الفيكتور أقل من القيمة الدنيا، سيتم استبدالها بالقيمة الدنيا.
يعيد فيكتور3 جديدًا بنفس القيم x، y، و z كهذا الفيكتور.
ينسخ قيم خصائص x، y، و z لفيكتور3 الممرر إلى هذا الفيكتور.
يضبط هذا الفيكتور إلى ناتج الضرب النقطي بينه وبين Vector3 v.
يضبط هذا الفيكتور إلى ناتج الضرب النقطي بين Vector3 a و Vector3 b.
يحسب المسافة من هذا الفيكتور إلى Vector3 v.
يحسب [link:https://en.wikipedia.org/wiki/Taxicab_geometry Manhattan distance] من هذا المتجه إلى [page:Vector3 v].
يحسب المسافة المربعة من هذا المتجه إلى [page:Vector3 v]. إذا كنت تقارن المسافة مع مسافة أخرى، يجب عليك مقارنة المسافة المربعة بدلاً من ذلك كما هو أكثر كفاءة قليلاً في الحساب.
يقسم هذا المتجه بواسطة [page:Vector3 v].
يقسم هذا المتجه بواسطة العدد الفردي [page:Float s].
حساب [link:https://en.wikipedia.org/wiki/Dot_product dot product] لهذا المتجه و[page:Vector3 v].
يعود `true` إذا كانت مكونات هذا المتجه و[page:Vector3 v] هي صارمة متساوية؛ `false` في حالات أخرى.
يتم تقريب مكونات هذا المتجه إلى أسفل إلى أقرب قيمة صحيحة قيمة.
[page:Array array] - المصفوفة المصدر.
[page:Integer offset] - ( اختياري) الإزاحة في المصفوفة. الافتراضي هو
0.
يضع قيمة هذا المتجه [page:.x x] لتكون `array[ offset + 0 ]`، قيمة [page:.y y]
لتكون `array[ offset + 1 ]` وقيمة [page:.z z] لتكون `array[ offset + 2 ]`.
[page:BufferAttribute attribute] - السمة المصدر.
[page:Integer index] - الفهرس في السمة.
يضع قيم هذا المتجه [page:.x x]، [page:.y y] و [page:.z z] من
ال[page:BufferAttribute attribute].
[page:Integer index] - 0، 1 أو 2.
إذا كان الفهرس يساوي 0 يعيد قيمة [page:.x x].
إذا كان الفهرس يساوي 1 يعيد قيمة [page:.y y].
إذا كان الفهرس يساوي 2 يعيد قيمة [page:.z z].
يحسب [link:https://en.wikipedia.org/wiki/Euclidean_distance الطول الإقليدي] (طول الخط المستقيم) من (0، 0، 0) إلى (x، y، z).
يحسب طول مانهاتن لهذا المتجه.
يحسب مربع [link:https://en.wikipedia.org/wiki/Euclidean_distance الطول الإقليدي] (طول الخط المستقيم) من (0، 0، 0) إلى (x، y، z). إذا كنت تقارن أطوال المتجهات، يجب عليك مقارنة طول المربع بدلاً من ذلك كما أنه أكثر كفاءة قليلاً في الحساب.
[page:Vector3 v] - [page:Vector3] للتداخل نحوه.
[page:Float alpha] - عامل التداخل، عادة في المغلق
الفاصل `[0, 1]`.
تداخل خطي بين هذا المتجه و[page:Vector3 v]، حيث alpha
هو نسبة المسافة على طول الخط - alpha = 0 سيكون هذا المتجه،
وalpha = 1 ستكون [page:Vector3 v].
[page:Vector3 v1] - البداية [page:Vector3].
[page:Vector3 v2] - [page:Vector3] للتداخل نحوه.
[page:Float alpha] - عامل التداخل، عادة في الفاصل المغلق
`[0، 1]`.
يضع هذا المتجه ليكون المتجه المتداخل خطيًا بين
[page:Vector3 v1] و [page:Vector3 v2] حيث يكون ألفا هو النسبة
المئوية للمسافة على طول الخط الذي يربط المتجهين - سيكون ألفا = 0
[page:Vector3 v1]، وسيكون ألفا = 1 [page:Vector3 v2].
إذا كانت قيمة x أو y أو z لهذا المتجه أقل من قيمة x أو y أو z لـ [page:Vector3 v]، استبدل تلك القيمة بالقيمة القصوى المقابلة.
إذا كانت قيمة x أو y أو z لهذا المتجه أكبر من قيمة x أو y أو z لـ [page:Vector3 v]، استبدل تلك القيمة بالقيمة الدنيا المقابلة.
يضرب هذا المتجه بـ [page:Vector3 v].
يضرب هذا المتجه بالعدد القائم [page:Float s].
يضع هذا المتجه يساوي [page:Vector3 a] * [page:Vector3 b]، مكونًا حكيمًا.
يعكس هذا المتجه - أي يضع x = -x، y = -y و z = -z.
تحويل هذا المتجه إلى متجه وحدة - أي يضعه يساوي متجه بنفس الاتجاه كهذا واحد، ولكن طول الصفحة 1.
[page:Camera camera] — الكاميرا المستخدمة في الإسقاط.
يسقط هذا المتجه من مساحة العالم إلى مساحة جهاز الكاميرا المعيارية
(NDC).
[page:Vector3 planeNormal] - متجه يمثل عادي الطائرة.
[link:https://en.wikipedia.org/wiki/Vector_projection يسقط] هذا
المتجه على طائرة عن طريق طرح هذا المتجه المسقط على عادي الطائرة من هذا
المتجه.
[link:https://en.wikipedia.org/wiki/Vector_projection يسقط] هذا المتجه على [page:Vector3 v].
[page:Vector3 normal] - العادي إلى طائرة الانعكاس
يعكس هذا المتجه قبالة طائرة متعامدة على [page:Vector3 normal].
يفترض أن يكون العادي لديه طول وحدة.
تتم جولة مكونات هذا المتجه إلى أقرب قيمة صحيحة.
تتم جولة مكونات هذا المتجه نحو الصفر (لأعلى إذا كان سالبًا، لأسفل إذا كان إيجابيًا) إلى قيمة صحيحة.
يضبط مكونات [page:.x x]، [page:.y y] و [page:.z z] من هذا المتجه.
[page:Integer index] - 0، 1 أو 2.
[page:Float value] - [page:Float]
إذا كان index يساوي 0 يضبط [page:.x x] على [page:Float value].
إذا كان index يساوي 1 يضبط [page:.y y] على [page:Float value].
إذا كان index يساوي 2 يضبط [page:.z z] على [page:Float value]
يضبط مكونات [page:.x x] و [page:.y y] و [page:.z z] لهذا المتجه من مكونات r و g و b لـ[page:Color color] المحدد.
يضبط هذا المتجه من الإحداثيات الأسطوانية [page:Cylindrical c].
يضبط هذا المتجه من الإحداثيات الأسطوانية [page:Cylindrical radius]، و[page:Cylindrical theta] و[page:Cylindrical y].
يضبط مكونات [page:.x x] و[page:.y y] و[page:.z z] لهذا المتجه من مكونات x و y و z لـ[page:Euler Euler Angle] المحدد.
يضبط مكونات [page:.x x] و[page:.y y] و[page:.z z] لهذا المتجه من العمود [page:Integer index] من [page:Matrix4 matrix].
يضبط مكونات [page:.x x] و [page:.y y] و [page:.z z] لهذا المتجه من العمود [page:Integer index] من [page:Matrix3 matrix].
يضبط هذا المتجه على عناصر الموضع لـ [link:https://en.wikipedia.org/wiki/Transformation_matrix مصفوفة التحويل] [page:Matrix4 m].
يضبط هذا المتجه على عناصر الحجم لـ [link:https://en.wikipedia.org/wiki/Transformation_matrix مصفوفة التحويل] [page:Matrix4 m].
يضبط هذا المتجه من الإحداثيات الكروية [page:Spherical s].
يضبط هذا المتجه من الإحداثيات الكروية [page:Spherical radius]، و[page:Spherical phi] و[page:Spherical theta].
يضبط هذا المتجه على متجه بنفس اتجاه هذا، ولكن بـ [page:.length length] يساوي [page:Float l].
يضبط قيمة كل من [page:.x x] و[page:.y y] و[page:.z z] لهذا المتجه على قيمة مساوية لـ[page:Float scalar].
يستبدل قيمة [page:.x x] لهذا المتجه بـ[page:Float x].
يستبدل قيمة [page:.y y] لهذا المتجه بـ[page:Float y].
يستبدل قيمة [page:.z z] لهذا المتجه بـ[page:Float z].
يطرح [page:Vector3 v] من هذا المتجه.
يطرح [page:Float s] من مكونات [page:.x x] و [page:.y y] و [page:.z z] لهذا المتجه.
يضبط هذا المتجه على [page:Vector3 a] - [page:Vector3 b].
[page:Array array] - (اختياري) مصفوفة لتخزين هذا المتجه فيها. إذا لم يتم توفير هذا، سيتم إنشاء مصفوفة جديدة.
[page:Integer offset] - (اختياري) إزاحة اختيارية في المصفوفة.
يرجع مصفوفة [x، y، z]، أو ينسخ x و y و z في المصفوفة المعطاة من نوع [page:Array array].
يحول اتجاه هذا المتجه بمصفوفة (المجموعة العلوية اليسرى 3 × 3 من [page:Matrix4 m]) ثم يقوم بـ [page:.normalize تطبيع] النتيجة.
[page:Camera camera] — الكاميرا المستخدمة في الإسقاط.
يُسقِط هذا المتجه من مساحة الجهاز المعيارية للكاميرا (NDC) إلى مساحة العالم.
يضبط كل مكون من مكونات هذا المتجه على قيمة شبه عشوائية بين 0 و 1، باستثناء 1.
يضبط هذا المتجه على نقطة عشوائية موحدة على كرة وحدة.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]