تبلیغات
آموزش مطلب - مطالب Organization of Graphics Objects

نویسنده :امین باشی
تاریخ:دوشنبه 7 شهریور 1384-09:08 ق.ظ

Core Graphics Objects

این  مجموعه شامل  دستورات   اولیه رسم توابع ، محورها ، تصاویر و ... می‌باشد. در ساختار درختی این اشیا زیرمجموعه axes هستند.

این مجمعه شلمب توابع زیر می‌باشد.

 

Axes

این تابع برای تعریف كردن محورهای مختصات در یك پنجره استفاده می‌شود.

Image

برای نمایش تصویر بكارمی‌رود.

image(imread(' ***** '))

بجای ستاره‌ها ادرس بك عكس را قرار دهید.

Light

برای تنظیم نور بكار می‌رود و تنها بر اشیایی از نوع patch  و surface اثر می‌كند.

h = surf(peaks);

set(h,'FaceLighting','phong','FaceColor','interp',...

      'AmbientStrength',0.5)

light('Position',[1 0 0],'Style','infinite');

figure;

h = surf(peaks);

set(h,'FaceLighting','phong','FaceColor','interp',...

      'AmbientStrength',0.5)

با توجه به مثال بالا كارایی این تبع به وضوح قابل مشاهده است.

Line

بزای رسم خط استفاده می‌شود.

t = 0:pi/20:2*pi;

hline = line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);

Patch

برای رسم چند ضلعی‌ها مورد استفاده قرار می‌گیرد.

x = [0 0;0 1;1 1];

y = [1 1;2 2;2 1];

z = [1 1;1 1;1 1];

tcolor(1,1,1:3) = [1 1 1];

tcolor(1,2,1:3) = [.7 .7 .7];

patch(x,y,z,tcolor)

 Rectangle

تابعی كه برای رسم مستطیل ، بیضی ، دایره و ... بكارمی‌رود.

rectangle('Position',[0.59,0.35,3.75,1.37],...

          'Curvature',[0.8,0.4],...

         'LineWidth',2,'LineStyle','--')

Surface

یك شی 3 بعدی كه هر آرایه آن با توجه به colormap رنگ می‌شود.

load clown

surface(peaks,flipud(X),...

        'FaceColor','texturemap',...

        'EdgeColor','none',...

        'CDataMapping','direct')

colormap(map)

view(-35,45)

 Text

برای نوشتن بر روی پنجره (در ناحیه‌ای كه محورتعریف شده باشد) بكار می‌رود.

 plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))

text(pi,0,' \leftarrow sin(\pi)','FontSize',18)

در مطالب بعدی به هركدام از این توابع خواهم پرداخت.



نوع مطلب : Organization of Graphics Objects 

نویسنده :امین باشی
تاریخ:دوشنبه 31 مرداد 1384-09:08 ق.ظ

یك مقدار هم در مورد ساختار درختی اشیا گرافیكی در مطلب صحبت  كنم. ادرس زیر را در command window وارد كنید . منظور از matlabroot محل نصب مطلب است.

web('jar:file:mathlabroot/help/techdoc/help.jar!/creating_plots/hg_obje2.html', '-helpbrowser')

 

ریشه این درخت كه دستگیره ی آن (handle) عدد 0 است root نام دارد .

یك پله بالاتر figure ها قرار دارند. كه به عنوان زیرمجموعه(childrens) برای root و root پدر (parent) آنهاست.

در پله بعد درخت به سه شاخه تقسیم می شود.axes و .....

نكنه مهم در این ساختار آن است كه مثلا برای ایجاد یك شی از نوع core  یك محور(axes) نیاز است و خود محور نیاز به figure دارد.البته همه این ها با توجه به مفادیر پیش فرض ایجاد می شود.و یادتان باشد كه شما می توانید برای كنترل بهتر خودتان آنها را ایجاد كنید.

ما معمولا با root كاری نداریم مگر آنكه چندین پنجره باز باشد و بخواهیم آنها را كنترل كنیم.

Findobj(0)

دستور بالا را در شرایطی كه هیچ پنجره ای باز نیست و هنگامی كه یك پنجره باز باشد اما چیزی روی آن رسم نشده باشد  و همچنین هنگامی كه بر روی پنجره چیزی كشیده شده است استفاده كنید و تفاوت را ببنید.

 

 

>> findobj(0)

 

ans =

 

     0

 

 

>> figure

>> findobj(0)

 

ans =

 

     0

     1

 

 

>> figure

>> plot([1])

>> findobj(0)

 

ans =

 

         0

    1.0000

  151.0021

  152.0026

در این حالت عدد 0 نشان دهنده‌ی  root

عدد 1 دستگیره‌ی (handle) پنجره  

عدد سوم دستگیره‌ی محور

و عدد آخر نشان دهنده‌ی دستگیره‌ی تابع plot است.

اینم بگم كه تابع plot از نوع core است .

 



نوع مطلب : Organization of Graphics Objects 





All right reserved©2005 Amin Bashi