background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 1

SciLab - grafika

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 2

Plan zajęć

1. Wprowadzenie

2. Wykresy 2-D

3. Wykresy 3-D

4. Rysowanie figur geometrycznych

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 3

Wprowadzenie

Grafika w SciLab to:

wykresy dwuwymiarowe,

wykresy trójwymiarowe,

animacje,

wizualizacja wyników obliczeń inżynierskich MES,

możliwość tworzenia graficznego interfejsu dla programów,

praca w kilku oknach,

wydruki, eksport do pliku...

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 4

WYKRESY – uwagi ogólne

Przystępując do rysowania wykresów należy 

Podjąć decyzje, czy wykres jest 2D czy 3D

Wybrać odpowiednią funkcję SciLab'a w zależności 

od sposobu opisu funkcji

 (np. - współrzędne kartezjańskie                 

- biegunowe biegunowe              

-opis parametryczny......)            

Kompletny opis dostępnych funkcji POMOC ---> Graphics - graphics library overview

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 5

Wykresy 2-D

plot(x,y,[xcap,ycap,caption])

- wektor argumentów

y      

- wektor wartości funkcji

xcap   

- opis osi x

ycap   

- opis osi y

caption   - opis wykresu

Nawias kwadratowy [....] w każdej z funkcji SciLab'a 

oznacza argumenty opcjinalne

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 6

Ćwiczenie - 1

Wykonaj wykres następującej funkcji:

nazwij oś argumentów 'argumenty'

nazwij oś wartości funkcji 'wartości'  

zatytułuj wykres 'mój pierwszy wykres'

 x=sin x

D

f

={

x∈−2 ,2}

Każdy wykres (2D , 3D) zbydowany jest ze skończonej liczby 

punktów ( (x,y), (x,y,z) ) połączonych ze sobą odcinkami prostymi

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 7

Ćwiczenie - 1 – cd

-->x=[-2*%pi:0.1:2*%pi];

-->y=sin(x);

-->plot(x,y,'argumenty','wartosci','Moj pierwszy wykres')

Wektory x i y muszą mieć ten sam wymiar

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 8

Wykresy 2-D – cd

plot2d

i

(x,y,<options>)

- określa styl wykresu (możliwe wartości: brak, 2, 3, 4) 

- wektor argumentów

y      

- wektor wartości funkcji

<options>

style

-  styl linii wykreślanej funkcji

rect

-  zakres osi [xmin,ymin,xmax,ymax]

logflag

-  skala osi (liniowa/logarytmiczna)

frameflag

-  modyfikacja zakresu osi

axesflag

-  'gęstość' opisu osi liczbowych

leg

-  legenda

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 9

Wykresy 2-D – cd

xtitle(xtit,[xax,yax,encad])

polecenie to służy do opisywania wykresów 2-D i 3-D

xtit 

- tytuł ogólny wykresu

xax 

- opis osi  x

yax 

- opis osi  y

endcad

- opcjonalna ramka wokół tytułu

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 10

Ćwiczenie - 2

Wykonaj ćwiczenie – zwróć uwagę na składnię 

//**************************************************
-->t=(1:0.1:8)';
-->xset("font",2,3);
-->subplot(2,2,1);
-->plot2d([t t], [1.5+0.2*sin(t) 2+cos(t)]);
-->xtitle('Plot2d - Linia przerywana');
//**************************************************
-->subplot(2,2,2);
-->plot2d(t , [1.5+0.2*sin(t) 2+cos(t)], logflag='ll');
-->xtitle('Plot2d -Skala logarytmiczna');

Wektory których 

składowe 

są wektorami

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 11

Ćwiczenie - 2

Wykonaj ćwiczenie – zwróć uwagę na składnię 

//**************************************************
-->subplot(2,2,3);
-->plot2d2(t, [1.5+0.2*sin(t) 2+cos(t)]);
-->xtitle('Plot2d2 - Schodkowy');
//**************************************************
-->subplot(2,2,4);
-->plot2d3(t, [1.5+0.2*sin(t) 2+cos(t)]);
-->xtitle('Plot2d3 - Slupkowy');

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 12

Ćwiczenie – 2 – cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 13

Ćwiczenie – 3

Wykonaj ćwiczenie – zwróć uwagę na składnię 

-->xmax=5;
-->t=0:0.1:xmax;
-->u=[-0.8+sin(t);-0.6+sin(t);-0.4+sin(t);-0.2+sin(t);sin(t)];
-->u=[u;0.2+sin(t);0.4+sin(t);0.6+sin(t);0.8+sin(t)]';
-->plot2d(t,u,style=[-9,-8,-7,-6,-5,-4,-3,-2,-1,0])

Kod skryptu wykonywany jest linia po lini 

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 14

Ćwiczenie – 3 - cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 15

Ćwiczenie – 4

Wykonaj wykres następującej funkcji:

nazwij oś argumentów 'x(t)'

nazwij oś wartości funkcji 'y(t)'  

zatytułuj wykres 'Krzywa w postaci parametrycznej – CORNOID'

dodaj legendę

przyporządkuj linii typ -1 (style=-1)

dodaj siatkę – polecenie xgrid() 

x=r⋅cost⋅1−2⋅sin

2

=r⋅sint⋅12⋅cos

2

t

D={:∈− ,}

Funkcja 2D zadana w postaci PARAMETRYCZNEJ 

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 16

Ćwiczenie – 4 - cd

-->t=(-%pi:0.05:%pi);r=2;

-->x=r*cos(t).*(1-2*sin(t)^2);

-->y=r*sin(t).*(1+2*cos(t)^2);

-->plot2d(x,y,style=-1,leg='corn');

-->xgrid(2);

-->xtitle('CORNOID','x(t)','y(t)');

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 17

Ćwiczenie – 4 - cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 18

Wykresy 2-D – cd

Opisywanie grafiki:

titlepage()  - dodanie opisu na środku okna

xstring() 

- dodanie opisu w dowolnym miejscu okna

plotframe()  - utworzenie ramki rysunkowej

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 19

Ćwiczenie – 5

Wykonaj wykres następującej funkcji:

skorzystaj z funkcji  polarplot()

skorzystaj z funkcji titlepage() i nazwij okno 'KARDIOIDA'  

przy pomocy funkcji xstring() dodaj napis 'Współrzędne biegunowe'

=4⋅a⋅cos

3

/

3

D={: ∈−3,3}

Funkcja 2D zadana we WSPÓŁRZĘDNYCH BIEGUNOWYCH

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 20

Ćwiczenie – 5 – cd

-->t=(-3*%pi:0.01:3*%pi);a=1;

-->r=4*a*cos(t/3)^3;

-->titlepage("KARDIOIDA");

-->polarplot(t,r);

-->xclea(-2.8,2.5,2.5,1);

-->xstring(-2.8,2,"Wspolrzedne biegunowe");

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 21

Ćwiczenie – 5 – cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 22

Ćwiczenie – 6

Wykonaj następujące czynności:

wczytaj plik /pub/programy/plotframe.sci

porównaj uzyskany wykres z zawartością pliku 

skorzystaj z pomocy (help <polecenie>) i uzyskaj więcej informacji             

na temat funkcji plotframe()

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 23

Wykresy 3-D  -  powierzchnie

plot3d(x,y,z,[theta,alpha,leg,flag,ebox])

x,y

- wektory zmiennych niezależnych

z      

- macierz wartości

theta, alpha    - kąt widzenia wykesu

leg   

- legenda X@Y@Z (opis rozdzielany znakiem @)

flag

- flag=[mode,type,box]

ebox  

- ustawia zakres wykresu gdy type=1

Wektory x i y mogą mieć różne wymiary

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 24

Ćwiczenie – 7

Wykonaj wykres następującej funkcji:

nazwij osie

zatytułuj wykres 'Powierzchnia 3-D'

x , y=sin x⋅cos y
D={x ; y: x∈− ,∧ y∈− }

Powierzchnia 3D zadana we współrzędnych kartezjańskich

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 25

Ćwiczenie – 7 – cd

-->x=(-%pi:0.1:%pi);

-->y=(-%pi:0.1:%pi);

-->z=sin(x)'*cos(y);

-->plot3d(x,y,z,35,45,'X@Y@Z',[2,2,4])

-->xtitle('Powierzchnia 3-D');

Macierz z tworzy się 'automatycznie' dzięki wykorzystaniu

iloczynu macierzowego - porównaj z Cw. 8

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 26

Ćwiczenie – 7 – cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 27

Ćwiczenie – 8

Wykonaj wykres następującej funkcji:

nazwij osie

zatytułuj wykres 'Powierzchnia 3-D'

x , y=sin xcos y
D={x ; y: x∈− ,∧ y∈− }

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 28

Ćwiczenie – 8 – cd

x=(-%pi:0.1:%pi);

y=(-%pi:0.1:%pi);

lx=length(x);

ly=length(y);

for i=1:lx

  for j=1:ly

    z(i,j)=sin(x(i))+cos(y(j));

  end

end

plot3d(x,y,z,35,45,'X@Y@Z',[2,2,4])

xtitle('Powierzchnia 3-D');

Zwróć uwagę na tworzenie macierzy z

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 29

Ćwiczenie – 8 – cd

Wyniki:

Wykonaj Cw. 7 i 8 z wykorzystaniem funkcji fplot3d

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 30

Ćwiczenie - 9 

Powierzchnia 3D zadana we WSPÓŁRZĘDNYCH PARAMETRYCZNYCH

!!

x p

1,

p

2

=

p

1

sin p

1

cos p

2

 p

1,

p

2

=

p

1

cos p

1

cos p

2

 p

1,

p

2

=

p

1

sin p

2

D={ x ; y: p

1

∈

0,10∧ p

2

∈

0,10}

Wykonaj wykres następującej funkcji:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 31

p1=linspace(0,0.2*%pi,10);

p2=linspace(0,0.2*%pi,10);

deff("[x,y,z]=scp(p1,p2)",["x=p1.*sin(p1).*cos(p2)";..            

           

"y=p1.*cos(p1).*cos(p2)";..

                          "z=p1.*sin(p2)"])

[Xf,Yf,Zf]=eval3dp(scp,p1,p2);

plot3d(Xf,Yf,Zf)

Zwróć uwagę na sposób liczenia x, y, z

Dowiedz się do czego służy funkcja  eval3d

!!

Ćwiczenie 9 - cd

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 32

Ćwiczenie – 9 – cd

Wyniki:

Wykonaj Cd. 9 zastepując definicję funkcji scp wykorzystując

składnię 'function ... endfunction'

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 33

Wykresy 3-D   -   krzywe przestrzenne

param3d(x,y,z,[theta,alpha,leg,flag,ebox])

x,y ,z

- współrzędne punktów krzywej 3-D

theta, alpha    - kąt widzenia wykesu

leg   

- legenda X@Y@Z (opis rozdzielany znakiem @)

flag

- flag=[mode,type,box]

ebox  

- ustawia zakres wykresu gdy type=1

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 34

Ćwiczenie – 10

Wykonaj wykres następującej funkcji:

nazwij osie

zatytułuj wykres 'Krzywa 3-D w postaci parametrycznej'

x=t⋅sin

=t⋅cost

=

t⋅∣t
50

D={:∈−50 ,50}

Krzywa przestrzenna zadana we WSPÓŁRZĘDNYCH PARAMETRYCZNYCH

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 35

Ćwiczenie – 10 – cd

-->t=(-50*%pi:0.1:50*%pi);

-->x=t.*sin(t);

-->y=t.*cos(t);

-->z=t.*abs(t)/(50*%pi);

-->param3d(x,y,z,45,60,'X(t)@Y(t)@Z(t)');

-->xtitle('Krzywa 3-D w postaci parametrycznej');

Zwróć uwagę na sposób tworzenia WEKTORÓW x, y, z

!!

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 36

Ćwiczenie – 10 – cd

Wyniki:

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 37

Rysowanie figur geometrycznych

Podstawowe komendy do tworzenia grafiki:

xsegs()  - rysuje odcinek o zadanych współrzędnych końca i początku oraz 

         określonym kolorze

xrect()   - rysuje kwadrat o zadanych współrzędnych lewego narożnika, 

   szerokości i wysokości (xrects())

xfrect()  - rysuje wypełniony prostokąt

xpoly()   - rysuje łamaną otwartą lub zamkniętą (xpolys())

xfpoly()  - rysuje wypełnioną łamaną (xfpolys())

xarrows() - rysuje strzałkę (jedną lub wiele)

xarc()    - łuk otwarty lub zamknięty (okręgi, elipsy)

xfarc()  - rysuje wypełnione łuki otwarte bądź zamknięte

xclea()

usuwa określony prostokąt 

UŻYJ 

 help <nazwa-polecenia> 

ABY UZYSKAĆ WIĘCEJ INFORMACJI (z poziomu sesji SciLab !!! )

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 38

Ćwiczenie – 11

Wykonaj następujące czynności:

wczytaj plik /pub/programy/grafika.dem

porównuj wydawane polecenia z rezultatem na ekranie

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 39

Ćwiczenie – 12

Wykonaj następujące czynności:

z paska menu wybierz   Demos -> Graphics, przejrzyj przykłady, zwróć 

uwagę na ukazującą się składnię poleceń

background image

Instytut Konstrukcji Budowlanych

Informatyka Stosowana

Zakład Komputerowego Wspomagania Projektowania 

Semestr 1.

8 styczeń 2009

 

SciLab – grafika

Slajd 40

Ćwiczenie – 13

Wykonaj następujące czynności:

z paska menu wybierz   Demos -> Scicos, przejrzyj przykłady (aby uruchomić 

wybrany przykład z ustawieniami domyślnymi wybierz

 Simulate -> Run)


Document Outline