آموزش MATLAB: فصل دوازدهم، نمودارهای سه بعدی
اسلاید 1: فصل دوازدهم:نمودارهای سهبعدی
اسلاید 2: ۱۱-1- خمهاي فضايي- تابع plot3با استفاده از تابع plot3 در متلب ميتوان يک منحني را در فضاي سهبعدي ترسيم کرد. روش استفاده از اين تابع بسيار شبيه تابع plot است. جز اينکه بازاي هر منحني به سه بردار هم طول نياز است.مثال: رسم يک فنر با شعاع برابر با يک:x=ty= sin(t)t Rz=cos(t)
اسلاید 3: ۱۱-1- خمهاي فضايي-ادامه>>t=0: pi/50:10*pi;>>plot3(sin(t) , cos(t) , t); xlabel(‘sin(x)’); ylabel(‘cos(x)’); zlabel(‘x’)
اسلاید 4: 1۱-2-تغيير زاويه ديدبا استفاده از دکمه فشاري Rotate 3D بر روي هر پنجره شکل متلب و يا با استفاده از دستور view مي توان زاويه ديد را تغيير داد. همچنين در منوي Tools با استفاده از زيرمنوهاي Camera Motion مي توان در فضاي سهبعدي حرکت کرد.شکل کلي استفاده از دستور view بصورت زير است:view([az , el])که در اين رابطه az و el بترتيب زاويه دوربين نسبت به صفحه xy و بخش منفي محور y است.
اسلاید 5: 1۱-3-نمودارهاي شبکهاي: توابع mesh, meshc, meshzبا استفاده از اين توابع ميتوان سطوح شبکهاي(يا توري) ايجاد کرد.شکل کلي استفاده از تابع mesh بصورت زيراست:mesh(x,y,z)که در اين رابطه z تابعي دو متغيره از متغيرهاي x و y ميباشد. بنابراين لازم است که z يک ماتريس دو بعدي باشد که تعداد سطرهاي آن برابر با تعداد عناصر y و تعداد ستونهايش برابر با تعداد عناصر x باشد. x و y بايد بردار باشند اگرچه مي توانند ماتريسهايي همبعد نيز باشند بدينصورت که بردار x به تعداد عناصر بردار y بصورت سطري تکرار شود و بردار y به تعداد عناصر x بصورت ستوني تکرار گردد. که در اينصورت دو ماتريس همبعد خواهيم داشت. تابع meshgrid مي تواند اين عمل را انجام دهد: [x_new,y_new]=meshgrid(x,y);تابع meshc علاوه بر نمودار شبکهاي، نمودارهاي تراز را نيز رسم ميکند. تابع meshz ديوارههايي را در پايين نمودار به سمت صفحه x-y رسم ميکند.
اسلاید 6: 1۱-3-نمودارهاي شبکهاي- ادامه- مثال 1 : تابع peaks يکي از توابع متلب است که يک مدل رياضي از پيشتعريف شده را ايجاد ميکند:>> [x ,y,z]= peaks(30);>> mesh(x,y,z);
اسلاید 7: 1۱-3-نمودارهاي شبکهاي- ادامه- مثال 2 : رسم يک تابع دو بعدي به فرمول z=sin(r)/r که r=sqrt(X^2 + Y^2)>>x=-7.5: 0.5: 7.5; y=x; >> [x_new,y_new]=meshgrid(x,y);>> r = sqrt(x_new.^2 + y_new.^2) + eps;>>z=sin(r) ./ r; mesh(x_new , y_new , z) يا: mesh(x,y,z);
اسلاید 8: 1۱-3-نمودارهاي شبکهاي- ادامه-به صورت پیشفرض متلب نقاطی از نمودار سهبعدی که پشت نقاط جلویی قرار گرفتهاند را مخفی میکند. با استفاده از تابع hidden میتوان این رفتار را تغییر داد:>>hidden off>> hidden on>> hidden
اسلاید 9: 1۱-4- نمودارهاي رويه: surfو surfl و surfcتفاوت نمودارهاي رويه با نمودارهاي شبکهاي آن است که در اينجا بجاي خطوط شبکهاي، وصلهها يا فواصل بين شبکهها ترسيم ميگردد.تابع surf دقيقا مانند تابع mesh بکار برده ميشود.تابع surfl علاوه بر تواناييهاي تابع surf ميتواند خصوصيات نوردهي شيء سهبعدي را نيز تنظيم کند. از قبيل جهت منبع نوري و خصوصيات انعکاسي شيءتابع surfc مانند تابع meshc عمل ميکند
اسلاید 10: 1۱-4- نمودارهاي رويه-ادامهتابع shading :با استفاده از تابع shading ميتوان نوع سايهرنگ نمودار را تعيين کرد. اين تابع بايد پس از يکي از توابع surf بيايد و با يکي از سُه پارامتر زير قابل فراخواني است:shading flatshading interpshading faceted
اسلاید 11: 1۱-4- نمودارهاي رويه-ادامهتابع colormap :با استفاده از اين تابع ميتوان رنگهاي بکار برده شده براي ترسيم نمودار رويه را تعريف کرد تنها پارامتر مورد نياز ميتواند يکي از ثابتهاي زير باشد:hsv, cool , hot, prism, gray
اسلاید 12: 11-5- چرخش دوربین در فضای سه بعدیبا استفاده از تابع camorbit میتوان پس از رسم نمودار سهبعدی، زاویه دید دوربین نسبت به شیء را تغییر داد:camorbit(theta,phi)theta: زاویه چرخش افقیphi: زاویه چرخش عمودیو یا میتوانید از این فرم تابع استفاده کنید:camorbit(theta,phi,’محور چرخش’);آرگومان سوم محوری است که چرخش حول آن انجام میشود را مشخص میکند که به صورت پیشفرض محور z است.
اسلاید 13: 11-5- چرخش دوربین در فضای سه بعدی-ادامه...مثال: surf(peaks)axis vis3daxis offfor i=1:360 camorbit(2,0,data) drawnowend
اسلاید 14: 11-6- تعیین موقعیت دوربینبه منظور تعیین موقعیت دوربین میتوان از تابع campos استفاده کرد:campos([x,y,z]) آرگومان ورودی این تابع موقعیت دوربین را در فضای سهبعدی مشخص میکند.مثال:surf(peaks)axis vis3d offfor x = -200:5:200 campos([x,5,10]) drawnowend
اسلاید 15: 11-7- نمایش میلهرنگبا استفاده از تابع colorbar میتوان پس از نمایش نمودار، رنگهای بکار برده شده در آن را بصورت یک میلهرنگ در کنار نمودار نمایش داد:>> surf(peaks)>> colorbarاعداد نمایش داده شده در کنار میلهرنگ مقداری را که هر رنگ به آن اشاره میکند(به صورت پیشفرض مقدار z) را نمایش میدهد.
اسلاید 16: 1۱-8- نمودارهاي تراز-contour , contour3نمودارهاي تراز خطوط و منحنيهاي بستهاي ميباشند که براي نمايش ارتفاعهاي مختلف يک نمودار سهبعدي، در فضاي دوبعدي يا سهبعدي بکار برده ميشوند. در اين نمودارها، نواحي همارتفاع توسط خطوطي به يکديگر متصل ميشوند.نحوه استفاده از توابع contour و contour3 نيز دقيقا شبيه تابع mesh است.مثال:[c,h] = contour(peaks); clabel(c,h), colorbar
اسلاید 17: 11-9- تابع pcolorاین تابع دادههای مربوط به یک نمودار سهبعدی را در فضای دوبعدی رسم میکند و برای نمایش ارتفاع(مقدار z) از تغییرات رنگ استفاده مینماید. نتیجه حاصل از این تابع ، مشابه تصویر از بالای تابع surf است.مثال ۱:>>pcolor(peaks)مثال ۲:t=tril(ones(10));ts=[t,fliplr(t)];tss=[flipud(ts);ts];pcolor(tss); colormap(gray(2))
اسلاید 18: 11-9- اجراي برنامههاي نمايشي متلب در زمينه ترسيم سهبعديdemo هاي Graphics در متلب راهنماي بسيار خوبي براي آموزش قابليتهاي گرافيکي متلب ميباشد. اين برنامهها از منوي Start متلب در شاخه Demo-> Graphics در دسترسند.
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.