Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 1
SciLab - grafika
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
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...
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
!!
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])
➔
x
- 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
!!
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'
f x=sin x
D
f
={
x : 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
!!
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
!!
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>)
➔
i
- określa styl wykresu (możliwe wartości: brak, 2, 3, 4)
➔
x
- 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
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
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
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');
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 12
Ćwiczenie – 2 – cd
Wyniki:
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
!!
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 14
Ćwiczenie – 3 - cd
Wyniki:
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()
xt =r⋅cost⋅1−2⋅sin
2
t
y t =r⋅sint⋅12⋅cos
2
t
D={t :t ∈− ,}
Funkcja 2D zadana w postaci PARAMETRYCZNEJ
!!
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)');
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 17
Ćwiczenie – 4 - cd
Wyniki:
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
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'
r =4⋅a⋅cos
3
/
3
D={: ∈−3,3}
Funkcja 2D zadana we WSPÓŁRZĘDNYCH BIEGUNOWYCH
!!
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");
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 21
Ćwiczenie – 5 – cd
Wyniki:
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()
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
!!
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'
z x , y=sin x⋅cos y
D={x ; y: x∈− ,∧ y∈− , }
Powierzchnia 3D zadana we współrzędnych kartezjańskich
!!
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
!!
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 26
Ćwiczenie – 7 – cd
Wyniki:
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'
z x , y=sin xcos y
D={x ; y: x∈− ,∧ y∈− , }
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
!!
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
!!
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
y p
1,
p
2
=
p
1
cos p
1
cos p
2
z 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:
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
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'
!!
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
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'
xt =t⋅sint
y t =t⋅cost
z t =
t⋅∣t∣
50
D={t :t ∈−50 ,50}
Krzywa przestrzenna zadana we WSPÓŁRZĘDNYCH PARAMETRYCZNYCH
!!
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
!!
Instytut Konstrukcji Budowlanych
Informatyka Stosowana
Zakład Komputerowego Wspomagania Projektowania
Semestr 1.
8 styczeń 2009
SciLab – grafika
Slajd 36
Ćwiczenie – 10 – cd
Wyniki:
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 !!! )
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
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ń
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)