تبلیغات
آموزش مطلب - مطالب خرداد 1385

surfc

نویسنده :امین باشی
تاریخ:جمعه 5 خرداد 1385-09:05 ق.ظ

surfc

این دستور صفحات 3 بعدی سایه دار رسم می‌کند(صفحه سه یعدی؟؟).

شاید بهتر باشد مطلب را با یک مثال شروع کنیم.

البته surf همین کار را بدون سایه انجام می دهد.

[X,Y,Z] = peaks(30);

surfc(X,Y,Z)

colormap hsv

axis([-3 3 -3 3 -10 5])

منظور از صفحه 3 بعدی همین چیزی است که رسم شده.

بر روی محور x ها و در صفحه y=0 منحنی طراز رسم شده است،  برای رسم منحنی طراز می‌توان مستقیما از دستور زیر استفاده کرد.

contour(X,Y,Z)

ساده ترین حالت دستور surf این است که فقط ماتریس Z را به آن بدهیم.

surfc([1 .5 1;0 0.5 0])

باز همون قصه همیشگی وقتی از یک آرگومان استفاده می‌کنیم و ...بقیه اش رو خودتان بلدید، فقط یادتان باشد که Z حتما باید بیشتر از یک سطر یا ستون داشته باشد.در ضمن رنگ صفحه متناسب با ارتفاع آن تعین می‌شود.

surf(X,Y,Z)

در حالت دستور مختصات X و Y را مسقیما وارد می‌کنیم.اگر X و Y بردار باشند ماتریس Z  باید از مرتبه m*n باشد که m طول X و n طول Y است.

حالا ببینیم با این دستور چطور می شه یک مکعب کشید.

surf([0 ;1],[0 ;0],[1 1;1 1])

این که یک خط شد.

surf([0 ;1],[0 ;0],[1 1;0 0])

حالا باید وجه مقابل ان را رسم کنیم.

اگر شما هم مثل من دستور hold on را فراموش کرده باشید، فقط یک وجه بر روی صفحه می‌بینید.

surf([0 ;1],[1 1;0 0],[1 1;1 1])

surf([0 ;1],[1 1;0 0],[0 0 ;0 0])

فکر نمی‌کنید یک جای کار غلط باشه؟

تو اولین مثال یک شکل کاملا پیچیده رسم کردیم و اصلا از دستور holdاستفاده نکردیم!

یک مکعب رو یک کاغذ بکشید و رئوس آن را با شماره 1-8 مشخص کنید،الگوریتم مورد استفاده دستور surf به این صورت است که هر نقطه را به چهار نقطه اطراف خود وصل می‌کند.یعنی نقطه (i,j) را به نقاط        (i+1,j), (i-1,j),(i,j+1),(i,j-1) وصل می‌کند.i,j اندیس‌ مربوط به ماتریسهای X, Y, Z هستند.

نقطه 1 را در درایه (1و1) ماتریس قرار دهید.یعنی اگر نقطه یک در مخنصات (0,1,2) قرار داشت  در ماتریس X درایه (1,1) را صفر قرار می‌دهیم و همینطور برای Z وY

حالا باید نقاط اطراف نقطه 1  را به آن وصل کنیم.در شکل من به نقاط 2 و 3 وصل می‌شود.

      یا

هیچ فرقی نمی‌کنه که از کدام  ماتریس استفاده کنیم.

یک جای خالی مانده، آن را با نقطه‌ای پر کنیم که به هر دو نقطه 2 و 3 وصل شود.در شکل من نقطه چهار است.

حالا اگر ماتریس‌‌های X, Y وZ  به همین ترتیب بسلزیم و از دستور surf استفاده کنیم، وجه 1-2-3-4  رسم می‌شود.بقیه نقاط را هم به همین ترتیب اضافه می‌کنیم.

حالا بقیه وجه را اضافه می کنیم.

خودتان بقیه کار را انجام دهید و با یکبار استفاده از دستور surf مکعب را رسم کنید.


من همیشه مسقیما کد html مطالبم را وارد می کنم(برای اینکه چپ چین و راست چین مطالب درست باشد)اما از وقتی که نسخه جدید میهن بلاگ راه افتاده این کار اصلا فایده ندارد و هر جور دوست داشته باشد مطالب را نشان می دهد.

امروز کلی وقت صرف کردم و مستقیما از ویرایشگر میهن بلاگ استفاده کردم.اما فایده نداشت

همه چیزش بهم ریخته است.



نوع مطلب : surf 





All right reserved©2005 Amin Bashi