Upload
diem
View
46
Download
3
Embed Size (px)
DESCRIPTION
ZPG - Základy Počítačové Grafiky cvičení. Petr Delong p etr.delong @centrum.cz. Vstupní požadavky :. základy programování (MS DOS, Pascal, C, Java) matematika v rozsahu tří semestrů technické VŠ Programování v C/C++, Úvod do programování (Java), Programovací jazyky a překladače. Literatura. - PowerPoint PPT Presentation
Citation preview
ZPG -Základy Počítačové Grafikycvičení
Petr [email protected]
Vstupní požadavky : základy programování (MS DOS,
Pascal, C, Java)
matematika v rozsahu tří semestrů technické VŠ
Programování v C/C++, Úvod do programování (Java), Programovací jazyky a překladače
Literatura J. Sochor, J. Žára: Algoritmy počítačové grafiky. Skripta
ČVUT Praha 1993 I. Serba, J. Zendulka, J. Sochor: Základy počítačové
grafiky. Skripta VUT Brno 1992 J. Žára a kol.: Počítačová grafika
Články v odborných časopisech a na internetu
Studijní materiály G:\VYUKA\456\ZPG\Prednasky\Doc
Zápočet Odladění a přijetí dvou projektů a prezentace
1. Příklad na 2D grafiku(max. 15 bodů)2. Příklad na 3D grafiku (plochy, tělesa) (max. 15 bodů)3. Prezentace (max. 10 bodů)
Odevzdání První projekt do 7 týdne – oznámení zadaní do 5-6týdne Druhý projekt do 14 týdne (zápočtový)
Programovací jazyk- JAVA (JavaApplet) Po dohodě i jiné
Projekty použitelné pro výuku - body navíc Odevzdání po termínu – max. 5 bodů za jeden program Náměty je nutno předem konzultovat
Nekonzultované náměty nemusí být uznány
Zkouška Podmínky
zápočet (minimální počet 20 bodů) zodpovězení tří otázek při ústní zkoušce
Bodové hodnocení: zápočet - 40 bodů(minimum 20 bodů) zkouška - 45 bodů
3 otázky po 15 bodů aktivita - 15 bodů
originální náměty, znalosti na cvičení, …
Projekty Projekt musí obsahovat:
Zadání projektu, jméno autora, datum, předmět. Název projektu, stručný výpis jednotlivých kroků řešení. Seznam souborů a knihoven potřebných projektem
Zdrojový program všech částí (modulů, procedur) Seznam použitých částí programů a knihoven, které byly
použity v projektu Soubory pro provoz programu ( pokud jsou programem
vyžadovány) Teoretickou část, týkající se programu (nejlépe jako součást
projektu) Chybějící požadavky mají za následek odečítání bodu Pro udělení zápočtu je nutné přijetí obou zápočtových
projektů nejpozději do konce semestru Projekty jsou přijímány na cvičeních formou konzultace
Projekty Kladně je hodnoceno:
srozumitelné a jednoduché ovládání programu snadné a jednoduché zadávání vstupní údajů možnost editace vstupních údajů (ne vlastním
editačním programem ) informace o chodu programu. Co se děje, vstupy
apod. vlastní zadání – námět netradiční řešení, vlastní (vyhovující) řešení možnost využití programu
Projekty Záporně je hodnoceno
chybný chod programu neznalost zdrojového kódu neznalost teorie potřebné k vyřešení
zpracovávaného problému opakované výpočty nadbytečné výpočty gramatické chyby
Jestliže program nejde spustit – není přijat
Prezentace Délka 15 – 30 minut 8 – 10 řádek na slide Font mininálně 16 Kolem 10 slidů na prezentaci Nepoužívat velké množství barev Nainstalovat a vyzkoušet předem
Zápočet – Zkouška
Dotazy?
Porovnání řešení geometrických úloh
z hlediska tradičního řešení (papír, pravítko, kreslící náčiní,..)
s použitím počítače
Tradiční způsob řešení Zobrazení problému do roviny
znalost základních úloh pro zobrazení problému do roviny
nutná prostorová představivost výsledek – málo názorný (nutná prostorová
představivost) Řešení prostorové úlohy (3D) v rovině (2D)
znalost základních úloh pro zobrazení problému do roviny (nutná prostorová představivost)
výsledek – málo názorný (nutná prostorová představivost)
Výsledek řešení je v rovině (2D) nenázorný – na jednom obrázku je vše
Počítačové řešení
Zadání úlohy - řešení Načtení souřadnic bodů a požadavků
(zachovat původní tvar i formu) Úprava vstupní formátu dat (pokud je to
nutné) Prostorové (rovinné) řešení úlohy
(znalost procedur pro řešení úlohy) Výstup
Počítačové řešení
Zobrazení řešení je-li požadováno nebo nutné
přepočet vstupních i výstupních údajů (formát, jednotky, dle zobrazení)
zobrazení (vykreslení) řešení předání výstupních parametrů pro další
zpracování přepočet údajů do původní formy a tvaru bez přepočtu
Porovnání řešení geometrických úloh
Dotazy?
Opakování Přímka, úsečka, vektor, rovina Průsečík přímky a roviny Vektorový a skalární součin
Identifikace objektů
Konstrukce pravidelného osmistěnu
Přímka, úsečka, vektor
Parametrické vyjádření: x( t ) = ax + ( bx – ax ) . t
y( t ) = ay + ( by – ay ) . t t ?
Pro: t < 0, 1 > - úsečka AB t < -, > - přímka
B
A-
BA
Přímka a rovina
Přímka v 2D … dva body R, PX = P + t . ( R – P ) , p (P, R)
t < 0, 1 > … úsečka PRt < 0, > … polopřímka
P t < -, > … přímka p t < a, b > … úsečka na
p,kde a b < -,
>
Rovina v 3D … tři body A, B, C X = A + v. ( B – A ) + t . ( C – A ) , α ( A, B, C )
v, t < -, >
P
R
Směr (vektor) přímky - úsečky by - ay s = … VS = ( bx – ax, by – ay ) … vektor úsečky bx – ax
VK = ( - (by – ay) , bx – ax) … vektor kolmice
VK
VSby – ay
(bx, by)
bx – ax(ax, ay)
x
y
Průsečík přímky a roviny
Řešíme rovnici:
P + u . ( R – P ) = A + v. ( B – A ) + t . ( C – A )
přímka p rovina Q
u, v, t …soustava rovnic
Vektorový součin
w1 w2 w3 w1 = a2 b3 - a3 b2w = a * b = a1 a2 a3 … w2 = a3 b1 - a1 b3
b1 b2 b3 w3 = a1 b2 - a2 b1
w … normálový vektor vektorů
w
b
a
Skalární součin vektorů
Vektory a (a1, a2, a3 ) a b (b1,b2, b3 ) a . b = a . b . cos αa . b = a1 b1 + a2 b2 + a3 b3
α b
a
Opakování
Dotazy?
Průsečík přímky a kružnice
.
S
k
P
p
D
r
SD > r … nemá řešení
Sestrojte průsečík přímky p (P, R) a kružnice k (S,r).
Průsečík přímky a kružniceSestrojte průsečík přímky p (P, R) a kružnice k (S,r).
.S
kp
D
R
P
SD = r … jedno řešení
D … dotykový bod
Průsečík přímky a kružniceSestrojte průsečík přímky p (P, R) a kružnice k (S,r).
.S
k p
D
P
X
Yr
d
r
SD < r … 2 průsečíky X, Y
Δ SDY je pravoúhlý,
kde
DX = DY =
Identifikace objektů
Proč je to potřeba Jak
Úsečka Kružnice
A(xA, yA )
B(xB, yB )
P(xP, yP )
xA < xP v xA > xP
yA > yP v yA < yP
Identifikovaný bod leží v obdélníku min max souřadnic počátečního a koncového bodu úsečky.
Úsečka
A(xA, yA )
B(xB, yB )
P(xP, yP )
d
xA < xP v xA > xP
yA > yP v yA < yP
zvětšeno o rozměry
vyhledávacího obdélníka
Úsečka – krok 1
A(xA, yA )
B(xB, yB )
P(xP, yP )
d
Zjistíme vzdálenost d bodu P od úsečky AB.
Obsah ΔABP > e > 0
e > 0 velikost vyhledávacího okénka
d > e … P AB
d < e … P AB
Úsečka – krok 2
a) Heronův vzorec pro obsah trojúhelníka ABP
b) Trojúhelníková nerovnost
2/)( ,))()(( cbascsbsassABC kde
A
B
P
| AP + BP – AB | < e
Úsečka – krok 3
Výpočet „identifikace“
Identifikace kružnice k( S, r )
P
S
r
| SP – r | < e … P …bod kružnice k
k
body mimo kružnice k… kružnice neuchopena
bod kružnice k … kružnice uchopena
Kružnice
Identifikace objektů
Dotazy?
Příčka mimoběžekPříčka p mimoběžek a, b bodem P .
pa
P
b
Y
X
pa
P
b
Y
X
a Řešení:
(I) 1. ( a, P ) … p
2. Y ( x b )
3. p ( Y, P ) … příčka
[ 4. X ( a x p ) ] (II) 1. (a, P ) … p
2. (b, P ) … p
3. p ( x ) …příčka
[ 4. X ( a x p )
5. Y ( b x p ) ]
Příčka mimoběžek
Příčka p mimoběžek a, b rovnoběžná se směrem s .
a
b
p
X
Y
s
Příčka mimoběžek
Příčka p mimoběžek a, b rovnoběžná se směrem s .
1. (a, s ) … p
2. (b, s ) … p
3. p ( x ) …příčka
[ 4. X ( a x p )
5. Y ( b x p ) ]
a
b
p
X
Y
s
Příčka mimoběžek
Nekratší příčka p mimoběžek a, b.
a
b
p
X
Y
s
s a, b s … je kolmé na a, b
s = ( a * b ) … vektorový součin vektorů přímek a, b
w1 w2 w3
s = a * b = a1 a2 a3
b1 b2 b3
s1 = a2 b3 + a3 b2
… s2 = a2 b1 + a1 b3
s3 = a1 b2 + a2 b1
Příčka mimoběžek
Konstrukce pravidelného osmistěnu
A
L
K
Sestrojte pravidelný osmistěn, který je dán vrcholem A a přímkou KL, na které leží osa tělesa.
Konstrukce pravidelného osmistěnu
aA
L
K 1. A a KL
vektor úsečky KL je normálový vektor roviny a
S
D C
B
F
E
4. E,F KL, kde AS = SE = SF
2. S ( a * KL ) … průsečík KL s rovinou a
3. ABCD … čtverec v rovině a o vrcholu A a středu
A
L
K
Konstrukce pravidelného osmistěnu
Výsledek: