410 likes | 654 Views
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.
E N D
ZPG -Základy Počítačové Grafikycvičení Petr Delong petr.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 • 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 • Příklad na 2D grafiku(max. 15 bodů) • Příklad na 3D grafiku (plochy, tělesa) (max. 15 bodů) • 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
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
B A B - A 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čkaAB t < -, > - přímka
R P Přímka a rovina Přímka v 2D … dva body R, P X= P + t . ( R – P ) , p (P, R) t < 0, 1 > … úsečka PR t < 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 < -, >
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 y (bx, by) VK by – ay VS (ax, ay) bx – ax x
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 b2 w = a * b = a1 a2 a3 … w2 = a3 b1 - a1 b3 b1 b2 b3 w3 = a1 b2 - a2 b1 w … normálový vektor vektorů w a b
a b α 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
Opakování Dotazy?
Průsečík přímky a kružnice Sestrojte průsečík přímky p (P, R) a kružnice k (S,r). SD > r … nemá řešení k p r S D . P
Průsečík přímky a kružnice Sestrojte průsečík přímky p (P, R) a kružnice k (S,r). R SD = r … jedno řešení D … dotykový bod k p S . D P
Průsečík přímky a kružnice Sestrojte průsečík přímky p (P, R) a kružnice k (S,r). SD < r … 2 průsečíkyX, Y ΔSDYje pravoúhlý, kde DX = DY= p k Y r r S . D d X P
Identifikace objektů • Proč je to potřeba • Jak • Úsečka • Kružnice
Úsečka Identifikovaný bod leží v obdélníku min max souřadnic počátečního a koncového bodu úsečky. B(xB, yB ) yA> yPvyA < yP P(xP, yP ) A(xA, yA ) xA< xPvxA> xP
Úsečka – krok 1 B(xB, yB ) yA> yPvyA < yP d P(xP, yP ) zvětšeno o rozměry vyhledávacího obdélníka A(xA, yA ) xA< xPvxA> xP
Úsečka – krok 2 Zjistíme vzdálenost d bodu P od úsečky AB. B(xB, yB ) ObsahΔABP > e > 0 d > e … P AB d < e… P AB d P(xP, yP ) A(xA, yA ) e> 0velikost vyhledávacího okénka
Úsečka – krok 3 Výpočet „identifikace“ • Heronův vzorec pro obsah trojúhelníka ABP b) Trojúhelníková nerovnost B |AP + BP– AB| < e P A
Kružnice Identifikace kružnice k( S, r ) |SP – r | < e … P …bod kružnicek P k r body mimokružnice k… kružnice neuchopena S bod kružnicek … kružnice uchopena
Identifikace objektů Dotazy?
Příčka mimoběžek Příčkap mimoběžeka, b bodemP. p a X P Y b
Příčka mimoběžek Řešení: (I) 1. ( a, P ) … p 2. Y (x b ) 3. p ( Y, P ) … příčka [4. X ( a xp ) ] a p a X P (II) 1. (a, P ) … p 2. (b, P ) … p 3. p ( x ) …příčka [4. X ( a xp ) 5. Y ( b xp ) ] Y b
Příčka mimoběžek Příčkap mimoběžeka, b rovnoběžná se směrems. a p X Y b s
Příčka mimoběžek Příčkap mimoběžeka, b rovnoběžná se směrems. a p 1. (a, s ) … p 2. (b, s ) … p 3. p ( x ) …příčka [4. X ( a xp ) 5. Y ( b xp ) ] X Y b s
Příčka mimoběžek Nekratší příčkap mimoběžeka, b. s a, b s … je kolmé na a, b s = ( a * b ) … vektorový součin vektorů přímek a, b a p X w1 w2 w3 s = a * b = a1 a2 a3 b1 b2 b3 Y s1 = a2 b3 + a3 b2 … s2 = a2 b1 + a1 b3 s3 = a1 b2 + a2 b1 s b
Konstrukce pravidelného osmistěnu Sestrojte pravidelný osmistěn, který je dán vrcholem A a přímkou KL, na které leží osa tělesa. K A L
Konstrukce pravidelného osmistěnu K • A a KL • vektor úsečky KL je normálový vektor rovinya E • S ( a * KL ) … průsečík KL s rovinoua B a 3. ABCD … čtverec v roviněa o vrcholu A a středu A S C D 4. E,F KL, kde AS = SE = SF F L
Konstrukce pravidelného osmistěnu K Výsledek: A L