بسم الله الرحمن الرحیم

ماتریس ها همیشه توی دوران دبیرستان و کنکور توی ریاضیات و هندسه تحلیلی همراه ما بودن و شاید ما یه جورایی حقشون رو ادا نکردیم چون ماتریس ها خیلی کاربرد دارن

سخت ترین چیزها توی ماتریس، ضرب کردن و همچنین پیدا کردن دترمینان ماتریس های بزرگتر از ۲ در ۲ بود.

اگه یادتون باشه یه ماتریس توی دبیرستان داشتیم تحت عنوان ماتریس چرخش (rotate) که با r نشون میدادیم و یه مزیب خوب این ماتریس این بود که اگر به توان عددی میرسید اون عدد میتونست پشت زاویه ی توی عناصر ماتریس بشینه

حالا نکات کنکوری رو نادیده می گیریم و میریم سراغ اصل مطلب

توی این آموزش کار ما با ماتریس های ۴ در ۴ هست:

۱) ماتریس شناسه: ماتریسی قطری که روی قطر آن عدد ۱ هست (ماتریس اسکالر ۴ در ۴)

۲) ماتریس جابه جایی (translate): ماتریس شناسه ای که در سطر چهارم آن به ترتیب مولفه های x و y و z قرار دارد

۳) ماتریس بزرگ نمایی (scale): ماتریس قطری است که ۳ عدد اول روی قطر آن به ترتیب مولفه های x و y و z را تشکیل میدهد

۴) دوران حول محور x: ماتریس شناسه را رسم کنید و ماتریس دورانی که در دوران دبیرستان خواندیم را در وسط این ماتریس رسم کنید تا ماتریسی برای دوران حول محور ایکس بدست آید.

۵) دوران حول محور y: ماتریس شناسه را رسم کنید و از درایه ۱و۱ به فاصله یکی در میان درایه های ماتریس دوران را جایگذاری کنید

۶) دوران حول محور z: ماتریس شناسه را بنویسید و دقیقا ماتریس ۲ در ۲ دوران را از روی درایه ۱ و ۱ شروع به نوشتن کنید .

در نهایت تصویر زیر جمع بندی مطالب بالاست:

در سویفت برای استفاده از ماتریس های بالا میتوانید از دستور زیر استفاده کنید که یک ماتریس ۴ در ۴ را از شما میگیرد:

Layer.transform = CATransform3D(
            m11: 1, m12: 0, m13: 0, m14: 0,
            m21: 0, m22: 1, m23: 0, m24: 0,
            m31: 0, m32: 0, m33: 1, m34: 0,
            m41: 0, m42: 0, m43: 0, m44: 1)

در کد بالا ماتریس شناسه جایگذاری شده است و هیچ تغییری در رسم نمیدهد.

موفق باشید

یاعلی