شرح و توضیح کامل خطوط سه بعد در متلب
خطوط در سه بعد
؟؟سه بعدی plot عبارت است از:
؟،uj، vj ، wjبه ترتیب مختصات (x,y,z)یک نقطه یا مجموعه ای از نقاط هستند. همچنین یک سه تایی اعداد ، بردارهایی با طول یکسان ، ماتریس های هم بعد ، یا عباراتی که پس از محاسبه بصورت یکی از این سه کمیت در می آیند می باشند. کمیت cjگروهی از کاراکترهااست که یک کاراکتر رنگ و کاراکتر دیگر ویژگی های نقطه و ؟؟ از دو کاراکتر ، نوع خط را مشخص می کند.
فرض کنید که می خواهیم یک مجموعه n تایی از خطوط غیر متصل با نقاط انتهایی (x1n,y1n,z1n) و (x2n,y2n,z2n)را بکشیم، برای انجام دادن این کار ، شش بردار زیر را ایجاد می کنیم.
شرح و توضیح کامل خطوط سه بعد در متلب
سپس ساختار دستورplot3 بصورت زیر است.
هر کدام ماتریس های (2×n) هستند.
تمام روش های توضیح داده شده برای رسم اشکال دو بعدی در بخش قبل ، برای دستورات تولید کننده سطوح و منحنی و در سایت سیم پاور های سه بعدی قابل استفاده است، بجز مورد text3 که بجای text و zlableکه برای برچسب گذاری محور بکار برده می شود.
مثال ۱-۷ جعبه لبه سیمی
شرح و توضیح کامل خطوط سه بعد در متلب
جعبه ای به ابعاد Lx×Ly×Lzنشان شداده شده در شکل ۱-۷ را در نظر بگیرید. تابع Boxplot3را برای رسم چهار گوشه هریک از شش سطح جعبه بکار می بریم . موقعیت مکانی جعبه بوسیله مختصات های دو قطر گوشه های متقابل هم تعیین می شود: .
۵۵
دستورات زیر را که سه جعبه با ابعاد زیر و موقعیت یکی از گوشه های آن ایجاد می کند در نظر بگیرید:
جعبه شماره۱
اندازه :3×5×7
موقعیت: (1,1,1)
جعبه شماره 2
اندازه:4×5×1
موقعیت: (3,4,5)
جعبه شماره ۳:
اندازه:1×1×1
موقعیت: (4.5,5.5,6)
دقت شود برای اجرای دستورات زیر فایل تابعی Boxplot3با رعایت حروف بزرگ و کوچک ذخیره شده باشد و در مسیر جاری قرار داشته باشد.
؟؟بعد از اجرا، شکل ۲-۷ را نتیجه می دهد.
شرح و توضیح کامل خطوط سه بعد در متلب
۵۶
؟سطوح
تابع ترسیم سه بعدی قدرتمند تر ، آنهایی هستند که سطوح ، منحنی و در سایت سیم پاور ها ، احجام و تغییرات این فرم های اصلی را ایجاد می کنند.توابع اصلی رسم سطوح عبارتند از surfو mesh .تابع surfیک سطح متشکل از قطعات رنگی ایجاد می کند.
تابع meshیک سطح با قطعات سفید ایجاد می کند که با مرزهایشان مشخص می شوند.در surf ، رنگ های قطعات با مقدار zو در meshرنگ های خطوط با مقدار zتعیین می شود. یک سطح با عبارت زیر مشخص می شود:z=f(x, ??? که xو yمختصات هایی در صفحهxyو zارتفاع می باشد.ایجاد سطح با تابع زیر انجام می گیرد:
؟؟؟ surf همچنین برای ایجاد شکل 7-3 و meshبرای تولید شکل 7-6 بکار برپه می شود . کاربرد این توابع رابا ؟؟ سطح ایجاد شده با معادله زیر بیشتر توضیح می دهیم.
می باشد.فایل اسکریپت برای رسم این سطح عبارت است از :
تابع meshgrid دو ماتریس (17×15)را آنچنان ایجاد می کندکه zرا در تمام ترکیبات x1و x2می توان محاسبه کرد.محاسبه همع ترکیبات x1و x2 توسط عملگرهای نقطه ای (dot) با محاسبه عبارت z=z(x2,x1)انجام می شود. برای این فایل اسکریپت شکل ۳-۷ را نتیجه می دهد . اگر برای مشاهده تصویر منحنی و در سایت سیم پاور های این سطح در صفحه ؟؟، دستور surfرا با surfcجایگزین کنید، شکل ۴-۷ حاصل می شود.آرگومان های surfcمانند دستور surfاست.
۵۷
شرح و توضیح کامل خطوط سه بعد در متلب
برای رسم یک خط از هریک از چهارگوشه سطح به صفحهz=0باید توجه داشت که مختصات این چهار گوشه عبارتند از .
فایل اسکریپت عبارت است از:
۵۸
برای این فایل اسکریپت ، شکل ۵-۷ را نتیجه می دهد. چهارمین خط پشت تصویر پنهان شده است و دیده می شود . همانطور که قبلا ذکر شد ، رنگ های قطعات بطور خودکار توسط surfبا توجه به مقدار zایجاد می شوند.
؟ همین شکل ، رنگ های خطوط بطور خودکار توسط meshمطابق با مقادیر zایجاد می شوند.
رنگ های قطعات یا خطوط می توانند با استفاده از دستور colormap(c)به یک مقدار ثابت تغییر کنند که در آن cیک بردار سه عضوی است و مقادیر آن بین 0تا1 تغییر می کند.عضو اول معادل شدت رنگ قرمز ، دومی میزان شدت رنگسبز و سومی معادل شدت رنگ آبی است. فایل helpتابع colormap(c)را ببینید. برخی از ترکیبات معمولی بکار رفته عبارتند از :
رنگ ایجاد شده | بردار رنگ | رنگ ایجاد شده | بردار رنگ |
آبی | c=[0 0 1] | سیاه | C=[0 0 0] |
زرد | c=[1 1 0] | سفید | C=[1 1 1] |
صورتی | C=[1 0 1] | قرمز | C=[1 0 0] |
فیروزه ای | C=[0 1 1] | سبز | C=[0 1 0] |
خاکستری | C=[0.5 0.5 0.5] | ||
دستور colormap را می توان با ترکیب کلمات زیر نیز اجرا نمود مانند :
colormap
برای نشان دادن تفاوت بین mesh وsurf و توضیح کاربرد colormap در فایل اسکریپت قبلی surf را با mesh جایگزین می کنیم.
mesh(x1,x2,z)
colormap
پس از اجرا اسکریپت ، شکل ۶-۷ حاصل می شود .
۵۹