سؤال

هل تدوير الربع مجرد متجه مع x و y و z الذي سيدوره الكائن نحوه ، ولفافة تحول الكائن على محوره؟

هل هذا بسيط؟

بمعنى إذا كان لديك x = 0 ، z = 0 و y = 1 سيواجه الكائن صعودًا؟
وإذا كان لديك y = 0 ، z = 0 و x = 1 سيواجه الكائن إلى اليمين؟

(على افتراض x الحق ، y up و z عمق)

هل كانت مفيدة؟

المحلول

يحتوي الربع على 4 مكونات ، والتي يمكن أن تكون مرتبطة بزاوية θ وناقل المحور ن. سيجعل الدوران الكائن يدور حول المحور ن بزاوية θ.

على سبيل المثال ، إذا كان لدينا مكعب مثل

 ______
|\  6  \
| \_____\     z
|5 |    | : y ^
 \ | 4  |    \|
  \|____|     +--> x

ثم دوران 90 درجة حول المحور (x = 0 ، y = 0 ، z = 1) سوف يدور الوجه "5" من اليسار إلى الأمام.

 ______
|\  6  \
| \_____\      z
|3 |    | :  x ^
 \ | 5  |     \|
  \|____|  y<--+

(ملاحظة: هذا هو وصف المحور/الزاوية للدوران ، وهو ما يربكه البروتوكول الاختياري. لكيفية تطبيق الربع على الدوران ، انظر http://en.wikipedia.org/wiki/quaternions_and_spatial_rotation)

نصائح أخرى

أ رباعي بشكل عام ، تمديد عدد معقد إلى 4 أبعاد. لذلك لا ، فهي ليست فقط x و y و z ، وزاوية ، لكنها قريبة. المزيد أدناه ...

يمكن استخدام Quaternions تمثل الدوران, ، لذلك فهي مفيدة للرسومات:

توفر Quaternions وحدة تدوين رياضي مريح لتمثيل التوجهات والتناوب للكائنات في ثلاثة أبعاد. بالمقارنة مع زوايا Euler ، فهي أبسط لتكوين وتجنب مشكلة قفل gimbal. بالمقارنة مع مصفوفات الدوران فهي أكثر استقرارًا عدديًا وقد تكون أكثر كفاءة.

إذن ما هي المكونات الأربعة و كيف ترتبط بالتناوب؟

تمثل نقطة [وحدة الوحدة] (W ، X ، Y ، Z) دوران حول المحور الموجهة بواسطة المتجه (X ، Y ، z) بزاوية ألفا = 2 cos-1 ث = 2 الخطيئة-1 SQRT (x22+z2).

لذا عد إلى سؤالك ،

بمعنى إذا كان لديك x = 0 ، z = 0 و y = 1 سيواجه الكائن صعودًا؟

لا ... سوف يدور الكائن حول هذا <0,1,0> المتجه ، أي أنه سيدور حول محور Y ، ويتحول عكس اتجاه عقارب الساعة كما هو موضح أعلاه ، إذا كان نظام الرسومات الخاص بك يستخدم دوران اليد اليمنى. (وإذا قمنا بتوصيل W = SQRT (1 - (0 + 1 + 0)) ، فإن رباعك هو (0،0،1،0) ، وسيتم تدويره بواسطة Angle 2 cos-10 ، = 2 * 90 درجة = 180 درجة أو راديان PI.)

وإذا كان لديك y = 0 ، z = 0 و x = 1 سيواجه الكائن إلى اليمين؟

هذا سوف يدور حول المتجه <1,0,0>, ، المحور X ، لذلك سوف يدور عكس اتجاه عقارب الساعة كما هو موضح من اتجاه X الموجب (على سبيل المثال اليمين). لذلك سوف يتحول الجزء العلوي إلى الأمام (180 درجة ، لذلك سوف يدور حتى يواجه لأسفل).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top