تمثل الفئة متجه 4D [link:https://en.wikipedia.org/wiki/Vector_space vector]. متجه 4D هو رباعي من الأرقام المرتبة (مسمى x و y و z و w) ، والذي يمكن استخدامه لتمثيل عدد من الأشياء ، مثل:
هناك أشياء أخرى يمكن استخدام متجه 4D لتمثيلها ، ولكن هذه هي الاستخدامات الأكثر شيوعًا في *three.js*.
التكرار عبر مثيل [name] سيعطي مكوناته `(x، y، z، w)` بالترتيب المقابل.
const a = new THREE.Vector4( 0, 1, 0, 0 );
//لا معاملات؛ سيتم تهيئته إلى (0 ، 0 ، 0 ، 1)
const b = new THREE.Vector4( );
const d = a.dot( b );
[page:Float x] - قيمة x لهذا المتجه. الافتراضية هي `0`.
[page:Float y] - قيمة y لهذا المتجه. الافتراضية هي `0`.
[page:Float z] - قيمة z لهذا المتجه. الافتراضية هي `0`.
[page:Float w] - قيمة w لهذا المتجه. الافتراضية هي `1`.
ينشئ جديدًا [name].
علامة للقراءة فقط للتحقق مما إذا كان كائنًا معطىً من نوع [name].
الاسم المستعار لـ [page:.z z].
الاسم المستعار لـ [page:.w w].
يضيف [page:Vector4 v] إلى هذا المتجه.
يضيف القيمة القياسية s إلى قيم [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] لهذا المتجه.
يضيف مضاعفة [page:Vector4 v] و [page:Float s] إلى هذا المتجه.
يضبط هذا المتجه على [page:Vector4 a] + [page:Vector4 b].
يضرب هذا المتجه في 4 × 4 [page:Matrix4 m].
يتم تقريب مكونات [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] من هذا المتجه إلى أعلى إلى أقرب قيمة صحيحة.
[page:Vector4 min]- الحد الأدنى للقيمة [page:.x x] و [page:.y y] و
[page:.z z] و[page:.w w].
[page:Vector4 max]- الحد الأقصى للقيمة [page:.x x] و [page:.y y] و
[page:.z z] و[page:.w w] في النطاق المطلوب
إذا كانت قيم x أو y أو z أو w لهذا المتجه أكبر من قيمة x أو y أو z أو w للمتجه الأقصى ، فإنها
تستبدل بالقيمة المقابلة.
إذا كانت قيم x أو y أو z أو w لهذا المتجه أقل من قيمة x أو y أو z
أو w للمتجه الأدنى ، يتم استبداله بالقيمة المقابلة.
[page:Float min]- الحد الأدنى للقيمة التي سيتم تثبيتها على الطول
[page:Float max]- الحد الأقصى للقيمة التي سيتم تثبيتها على الطول
إذا كان طول هذا المتجه أكبر من القيمة القصوى ، يتم استبداله بـ
القيمة القصوى.
إذا كان طول هذا المتجه أقل من الحد الأدنى للقيمة ، يتم استبداله بـ
الحد الأدنى للقيمة.
[page:Float min]- الحد الأدنى للقيمة التي سيتم تثبيت المكونات عليها
[page:Float max]- الحد الأقصى للقيمة التي سيتم تثبيت المكونات عليها
إذا كانت قيم x أو y أو z أو w لهذا المتجه أكبر من الحد الأقصى للقيمة ، فإنها
تستبدل بالحد الأقصى للقيمة.
إذا كانت قيم x أو y أو z أو w لهذا المتجه أقل من الحد الأدنى للقيمة ، فإنها
تستبدل بالحد الأدنى للقيمة.
يرجع Vector4 جديدًا بنفس قيم [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] كهذا.
ينسخ قيم خصائص [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] من Vector4 المار إلى هذا Vector4.
يقسم هذا المتجه على العدد القياسي [page:Float s].
يحسب [link:https://en.wikipedia.org/wiki/Dot_product حاصل ضرب نقطة] هذا المتجه و [page:Vector4 v].
يرجع `true` إذا كانت مكونات هذا المتجه و [page:Vector4 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:.w w] لتكون `array [offset + 3]`.
[page:BufferAttribute attribute]- السمة المصدر.
[page:Integer index]- فهرس في السمة.
يضبط قيم [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w]
لهذا المتجه من [page:BufferAttribute attribute].
[page:Integer index]- 0، 1، 2 أو 3.
إذا كان index يساوي 0 يعود بقيمة [page:.x x].
إذا كان index يساوي 1 يعود بقيمة [page:.y y].
إذا كان index يساوي 2 يعود بقيمة [page:.z z].
إذا كان index يساوي 3 يعود بقيمة [page:.w w].
يحسب [link:https://en.wikipedia.org/wiki/Euclidean_distance الطول الإقليدي] (طول المستقيم) من `(0، 0، 0، 0)` إلى `(x، y، z، w)`.
يحسب طول مانهاتن لهذا المتجه.
يحسب مربع [link:https://en.wikipedia.org/wiki/Euclidean_distance الطول الإقليدي] (طول المستقيم) من `(0، 0، 0، 0)` إلى `(x، y، z، w)`. إذا كنت تقارن أطوال المتجهات ، فيجب عليك مقارنة الطول المربع بدلاً من ذلك لأنه أكثر كفاءة قليلاً في الحساب.
[page:Vector4 v]- [page:Vector4] للتداخل نحوه.
[page:Float alpha]- عامل التداخل ، عادةً في الفاصل المغلق
الفاصل "[0، 1]".
يتداخل بشكل خطي بين هذا المتجه و [page:Vector4 v] ، حيث
alpha هو نسبة المسافة على طول الخط - سيكون `alpha = 0` هذا
المتجه ، و `alpha = 1` سيكون [page:Vector4 v].
[page:Vector4 v1]- [page:Vector4] الابتدائية.
[page:Vector4 v2]- [page:Vector4] للتداخل نحوه.
[page:Float alpha]- عامل التداخل ، عادةً في الفاصل المغلق
الفاصل `[0، 1]`.
يضبط هذا المتجه ليكون المتجه المتداخل خطيًا بين
[page:Vector4 v1] و [page:Vector4 v2] حيث alpha هو نسبة
المسافة على طول الخط الذي يربط بين المتجهين - سيكون alpha = 0
[page:Vector4 v1] ، وسيكون alpha = 1 [page:Vector4 v2].
يعكس هذا المتجه - أي يضبط x = -x و y = -y و z = -z و w = -w.
يحول هذا المتجه إلى [link:https://en.wikipedia.org/wiki/Unit_vector متجه وحدة] - أي يضعه يساوي متجهًا بنفس الاتجاه كهذا ، لكن [page:.length الطول] 1.
إذا كانت قيمة x أو y أو z أو w لهذا المتجه أقل من قيمة x أو y أو z أو w لـ [page:Vector4 v] ، استبدل تلك القيمة بالقيمة القصوى المقابلة.
إذا كانت قيمة x أو y أو z أو w لهذا المتجه أكبر من قيمة x أو y أو z أو w لـ [page:Vector4 v] ، استبدل تلك القيمة بالقيمة الدنيا المقابلة.
يضرب هذا المتجه في [page:Vector4 v].
يضرب هذا المتجه بالعدد القياسي [page:Float s].
يتم تقريب مكونات هذا المتجه إلى أقرب قيمة صحيحة.
يتم تقريب مكونات هذا المتجه نحو الصفر (لأعلى إذا كانت سالبة ، لأسفل إذا كانت موجبة) إلى قيمة صحيحة.
يضبط مكونات [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] من هذا المتجه.
[page:Quaternion q] - a normalized [page:Quaternion]
يضبط مكونات [page:.x x] و [page:.y y] و [page:.z z] من هذا
المتجه على محور الرباعية و[page:.w w] على الزاوية.
[page:Matrix4 m] - a [page:Matrix4] of which the upper left 3x3 matrix is
a pure rotation matrix.
يضبط [page:.x x] و [page:.y y] و [page:.z z] على محور الدوران
و[page:.w w] على الزاوية.
[page:Integer index]- 0، 1، 2 أو 3.
[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].
إذا كان index يساوي 3 ، فقم بتعيين [page:.w w] إلى [page:Float value].
يضبط هذا المتجه على متجه بنفس الاتجاه كهذا ، لكن [page:.length الطول] [page:Float l].
يضبط قيم [page:.x x] و [page:.y y] و [page:.z z] و [page:.w w] من هذا المتجه متساوية مع [page:Float scalar].
يستبدل قيمة [page:.x x] لهذا المتجه بـ [page:Float x].
يستبدل قيمة [page:.y y] لهذا المتجه بـ [page:Float y].
يستبدل قيمة [page:.z z] لهذا المتجه بـ [page:Float z].
يستبدل قيمة [page:.w w] لهذا المتجه بـ [page:Float w].
يطرح [page:Vector4 v] من هذا المتجه.
يطرح [page:Float s] من مكونات هذا المتجه [page:.x x] و [page:.y y] و[page:.z z] و[page:.w w].
يضبط هذا المتجه على [page:Vector4 a] - [page:Vector4 b].
[page:Array array]- (اختياري) مصفوفة لتخزين هذا المتجه فيها. إذا لم يتم توفير هذا ، سيتم إنشاء مصفوفة جديدة.
[page:Integer offset]- (اختياري) إزاحة اختيارية في المصفوفة.
يرجع مصفوفة [x، y، z، w] ، أو ينسخ x و y و z و w في المصفوفة المقدمة
[page:Array array].
يضبط كل مكون من مكونات هذا المتجه على قيمة شبه عشوائية بين 0 و 1 ، باستثناء 1.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]