Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Programowanie: grafika w SciLab 15 grudzie ń 2008 Slajd 1 Programowanie: grafika w SciLab Instytut K onstrukcji Budowlanych Zakład K omputeroweg...
Author: Bogdan Skiba
1 downloads 5 Views 953KB Size
Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 1

Programowanie:

grafika w SciLab

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 2

Plan zajęć 1. Wprowadzenie 2. Wykresy 2-D 3. Wykresy 3-D 4. Rysowanie figur geometrycznych

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 6

Ćwiczenie - 1 Wykonaj wykres następującej funkcji:

f  x=sin  x D f ={x : x ∈−2 ,2 } ➔

nazwij oś argumentów 'argumenty'



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



zatytułuj wykres 'mój pierwszy wykres'

!! 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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 8

Wykresy 2-D – cd plot2di(x,y,)



i

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



x

- wektor argumentów



y

- wektor wartości funkcji





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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 0

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

//************************************************** Wektory których -->t=(1:0.1:8)'; składowe -->xset("font",2,3); są wektorami -->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');

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 1

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 2

Ćwiczenie – 2 – cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 1 3

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 4

Ćwiczenie – 3 - cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 1 5

Ćwiczenie – 4 Wykonaj wykres następującej funkcji:

2

x t =r⋅cost⋅1−2⋅sin t  2 y t =r⋅sin t⋅12⋅cos t D={t :t ∈− ,} ➔

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()

!!

Funkcja 2D zadana w postaci PARAMETRYCZNEJ Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 6

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 1 7

Ćwiczenie – 4 - cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 1 8

Wykresy 2-D – cd Opisywanie grafiki: ➔

titlepage()

- dodanie opisu na środku okna



xstring()

- dodanie opisu w dowolnym miejscu okna



plotframe()

- utworzenie ramki rysunkowej

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 1 9

Ćwiczenie – 5 Wykonaj wykres następującej funkcji:

3

r =4⋅a⋅cos /3 D={: ∈−3,3} ➔

skorzystaj z funkcji polarplot()



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



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

!! Funkcja 2D zadana we WSPÓŁRZĘDNYCH BIEGUNOWYCH Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 2 0

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 2 1

Ćwiczenie – 5 – cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 2

Ć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 ) i uzyskaj więcej informacji na temat funkcji plotframe()

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 3

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 4

Ćwiczenie – 7 Wykonaj wykres następującej funkcji:

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

nazwij osie



zatytułuj wykres 'Powierzchnia 3-D'

!! Powierzchnia 3D zadana we współrzędnych kartezjańskich Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 5

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 2 6

Ćwiczenie – 7 – cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 7

Ćwiczenie – 8 Wykonaj wykres następującej funkcji:

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

nazwij osie



zatytułuj wykres 'Powierzchnia 3-D'

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 2 8

Ć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'); Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Zwróć uwagę na tworzenie macierzy z Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 2 9

Ćwiczenie – 8 – cd Wyniki:

!! Wykonaj Cw. 7 i 8 z wykorzystaniem funkcji fplot3d Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 0

Ćwiczenie - 9 Wykonaj wykres następującej funkcji:

x  p1, p2 = p1 sin  p1 cos p 2  y  p1, p2 = p1 cos p1 cos p2  z  p1, p2 = p1 sin  p 2  D={ x ; y : p1 ∈0,10∧ p2 ∈0,10}

!! Powierzchnia 3D zadana we WSPÓŁRZĘDNYCH PARAMETRYCZNYCH Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 1

Ćwiczenie 9 - cd 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 Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 2

Ćwiczenie – 9 – cd Wyniki:

!! Wykonaj Cd. 9 zastepując definicję funkcji scp wykorzystując składnię 'function ... endfunction' Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 3

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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 4

Ćwiczenie – 10 Wykonaj wykres następującej funkcji:

xt =t⋅sin t  y t =t⋅cost t⋅∣t∣ z t = 50 D={t :t ∈−50,50 } ➔

nazwij osie



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

!!

Krzywa przestrzenna zadana we WSPÓŁRZĘDNYCH PARAMETRYCZNYCH Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 5

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

15 grudzie ń 2008

Programowanie: grafika w SciLab

Slajd 3 6

Ćwiczenie – 10 – cd Wyniki:

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 7

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 ABY UZYSKAĆ WIĘCEJ INFORMACJI (z poziomu sesji SciLab !!! )

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 8

Ćwiczenie – 11 Wykonaj następujące czynności: ➔

wczytaj plik /pub/programy/grafika.dem



porównuj wydawane polecenia z rezultatem na ekranie

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 3 9

Ć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 K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.

Programowanie: grafika w SciLab

15 grudzie ń 2008

Slajd 4 0

Ć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)

Instytut K onstrukcji Budowlanych

Zakład K omputerowego Wspomagania Projektowania

Informatyka S tosowana S e m e s tr 1.