מתמטיקה :: quaternion.

מתמטיקה :: quaternion הוא בכיתה perl לייצג quaternions.
הורד עכשיו

מתמטיקה :: quaternion. דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Jonathan Chin
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~jchin/

מתמטיקה :: quaternion. תגים


מתמטיקה :: quaternion. תיאור

מתמטיקה :: Quaternion היא מחלקה Perl לייצג quaternions. מתמטיקה :: Quaternion היא מחלקה Perl לייצג מתמטיקה quaternions.SYNOPSIS שימוש :: Quaternion QW (slerp); q $ שלי = מתמטיקה :: Quaternion-> חדשות; # בצע # קואטרניון יחיד חדש יעשה סיבוב על הציר (0,1,0) Q2 $ שלי = המתמטיקה :: Quaternion-> חדשות ({ציר => , זווית => 0.1}) ; @v שלי = (1,2,3); # וקטור. שלי @vrotated = $ q2-> rotate_vector (@v); # סובב @v על (0,1,0). Q3 $ שלי = מתמטיקה :: Quaternion :: סיבוב (0.7,2,1,4); # סיבוב שונה. Q4 $ שלי = slerp ($ Q2, $ q3,0.5); # סיבוב אינטרפולציה. שלי @vinterp = $ q4-> rotate_vector (@v); חבילה זו מאפשרת לך ליצור ולטפל quaternions. קואטרניון הוא אובייקט מתמטי שפותח כסוג של הכללה של מספרים מרוכבים, בדרך כלל מיוצג על ידי מערך של ארבעה מספרים אמיתיים, והוא משמש לעתים קרובות כדי לייצג סיבובים ב space.See תלת מימדי, למשל, http: // MathWorld. wolfram.com/Quaternion.html לפרטים נוספים על המתמטיקה של quaternions.Quaternions ניתן להוסיף, לחסר, ו מדורג בדיוק כמו מספרים או וקטורים מורכבים - הם יכולים גם להיות מוכפלים, אבל כפל קואטרניון לא ניידות. כלומר, אם יש לך quaternions $ q1 ו- q2 $, אז q1 $ הכללי * $ Q2! = $ Q2 * $ q1. זה קשור לשימוש שלהם סיבובים המייצג, אשר גם לא commute.If אתה רק רוצה לייצג סיבובים ולא אכפת על הפרטים המתמטיים הפנימיים, זה צריך להיות כל מה שאתה צריך לדעת: כל quaternions יש כמות הנקרא "נורמה", בדומה לכל אורכו של וקטור. קואטרניון עם נורמה שווה 1 נקרא "קואטרניון היחיד". כול quaternions המייצגים סיבובים הוא יחידת quaternions.If אתה קורא חדש () בלי שום ויכוחים, זה ייתן לך קואטרניון יחיד מייצגים אין רוטציה: $ q = המתמטיקה :: Quaternion-> חדשות; אתה יכול לעשות קואטרניון המייצגת הסיבוב של זווית נתונה (ברדיאנים) סביב ציר נתון: $ qrot = מתמטיקה :: Quaternion-> חדשות ({ציר => 0.1, זווית => }); נניח שיש לך שני סיבובים, q1 $ ו $ Q2, ואתה רוצה לעשות קואטרניון המייצג סיבוב של $ q1 ואחריו $ Q2. ואז, אתה עושה: Q3 $ = $ Q2 * $ Q1; # סובב ידי $ q1, ואחריו $ q2.Remember כי זה לא אותו הדבר כמו q1 $ * $ Q2, אשר יהפוך את סדר rotations.If לך לבצע פעולות קואטרניון איטרטיביות רבות, התוצאה עלולה לא להיות די יחידה קואטרניון בשל אי דיוקים מספריים. אתה יכול לוודא כל קואטרניון יש אורך יחידה, על ידי עושה: $ unitquat = $ anyquat-> לנרמל; אם יש לך סיבוב קואטרניון, ואתה רוצה למצוא את המטריצה 3x3 אשר מייצג את הסיבוב המקביל, אז: @matrix = $ q -> matrix3x3; באופן דומה, אתה יכול ליצור מטריצת 4x4 מהסוג שהיית לעבור ל- OpenGL: @glmatrix = $ Q-> matrix4x4; אם יש לך וקטור מייצג כיוון, ואתה רוצה לסובב את הווקטור ידי קואטרניון $ q: @vector שלי = (0,0,1); # וקטור מצביע בכיוון Z. שלי @newvec = $ Q-> rotate_vector (@vector); # החדש direction.Say אתה משתמש quaternions לייצג את הכיוון של מצלמה, ויש לך שתי quaternions: אחד לייצג אורינטציה מתחילה, ועוד לייצג עמדת גמר. אם אתה רוצה למצוא את כל quaternions המייצגים אוריינטציות בין, המאפשר המצלמה שלך כדי לעבור בצורה חלקה, מתחילתה ועד סופה, להשתמש slerp () שגרתית: שימוש מתמטיקה :: Quaternion QW (slerp); שלי ($ qstart, $ qend) = ...; # סט tween $ ל 9 נקודות בין ההתחלה והסיום, בלעדי. עבור t $ שלי (1..9) {tween $ שלי = slerp ($ qstart, $ qend, 0.1 * $ t); ...} דרישות: · פרל


מתמטיקה :: quaternion. תוכנה קשורה

מחלקה :: DBI :: מפעל

מחלקה :: DBI :: המפעל הוא ממשק המפעל קבוצה של מחלקה :: DBI שיעורים, עם שלד אופציונלי mod_perl יישום. ...

187

הורד

svnauto

svnauto הוא כלי בדיקה אוטומטי עבור חתרנות, עם מדיניות בדיקת ספרייה. ...

63

הורד

אוקטבה-אן

אוקטבה-אן היא קבוצה של כריכות המאפשרות לאדם להשתמש בספריית אן מתוך אוקטבה. ...

204

הורד