Programovanie (1) v C/C++
1-INF-127, ZS 2024/25

Úvod · Pravidlá · Prednášky · Softvér · Testovač
· Kontaktujte nás pomocou e-mailovej adresy E-prg.png (bude odpovedať ten z nás, kto má príslušnú otázku na starosti alebo kto má práve čas).
· Prosíme študentov, aby si pravidelne čítali e-maily na @uniba.sk adrese alebo aby si tieto emaily preposielali na adresu, ktorú pravidelne čítajú.


SVGdraw: Rozdiel medzi revíziami

Z Programovanie
Skočit na navigaci Skočit na vyhledávání
 
(8 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
=SVGdraw=
 
 
 
Knižnica SVGdraw umožňuje vytvoriť obrázok v SVG formáte a vykresľovať do neho rôzne geometrické útvary, animovať ich a používať korytnačiu grafiku.  
 
Knižnica SVGdraw umožňuje vytvoriť obrázok v SVG formáte a vykresľovať do neho rôzne geometrické útvary, animovať ich a používať korytnačiu grafiku.  
* [[Netbeans|Návod na použitie knižnice v prostredí Netbeans]]
+
* Návod na použitie knižnice [[2018/19_Programovanie_(1)_v_C/C%2B%2B#Pr.C3.A1ca_v_Netbeans_s_grafickou_kni.C5.BEnicou_SVGdraw|v prostredí Netbeans]] a [[Zimný_semester, softvér#Pr.C3.A1ca_v_Kate_s_grafickou_kni.C5.BEnicou_SVGdraw|v prostredí Kate]]
 
* [http://compbio.fmph.uniba.sk/vyuka/prog-data/svgdraw/ Stiahnutie knižnice]
 
* [http://compbio.fmph.uniba.sk/vyuka/prog-data/svgdraw/ Stiahnutie knižnice]
* Príklady programov na [[Prednáška 1|prvej prednáške]]
+
* Príklady programov na [[Prednáška 5|prednáške 5]]
  
 
==Vykresľovanie v SVG formáte==
 
==Vykresľovanie v SVG formáte==
  
 
* Ako prvé musíme vytvoriť súbor s obrázkom v SVG formáte s určitými rozmermi príkazom typu <tt>SVGdraw drawing(150, 100, "hello.svg");</tt>
 
* Ako prvé musíme vytvoriť súbor s obrázkom v SVG formáte s určitými rozmermi príkazom typu <tt>SVGdraw drawing(150, 100, "hello.svg");</tt>
* Do obrázku môžeme kresliť príkazmi drawRectangle, drawEllipse, drawLine, drawText.  
+
* Do obrázku môžeme kresliť príkazmi <tt>drawRectangle</tt>, <tt>drawEllipse</tt>, <tt>drawLine</tt>, <tt>drawText</tt>.  
* Ak chceme vykresľovať mnohouholníky, použijeme skupinu príkazov startPolygon, addPolygonPoint a drawPolygon. Pomocou startPolygon a addPolygonPoint postupne vymenujeme vrcholy a pomocou drawPolygon mnohouholník uzavrieme a vykreslíme.
+
* Ak chceme vykresľovať mnohouholníky, použijeme skupinu príkazov <tt>startPolygon</tt>, <tt>addPolygonPoint</tt> a <tt>drawPolygon</tt>. Pomocou <tt>startPolygon</tt> a <tt>addPolygonPoint</tt> postupne vymenujeme vrcholy a pomocou <tt>drawPolygon</tt> mnohouholník uzavrieme a vykreslíme.
* Pomocou príkazov setLineColor, setFillColor, setNoFill nastavujeme farbu čiar a vyfarbovania. Farby zadávame buď troma číslami od 0 do 255 určujúcimi intenzitu červenej, zelenej a modrej, alebo názvom, napr. "red" ([http://www.w3.org/TR/SVG/types.html#ColorKeywords zoznam mien farieb]). Príkaz setFontSize nastavuje veľkosť písma a setLineWidth nastavuje hrúbku čiary.
+
* Pomocou príkazov <tt>setLineColor</tt>, <tt>setFillColor</tt>, <tt>setNoFill</tt> nastavujeme farbu čiar a vyfarbovania. Farby zadávame buď troma číslami od 0 do 255 určujúcimi intenzitu červenej, zelenej a modrej, alebo názvom, napr. <tt>"red"</tt> ([http://www.w3.org/TR/SVG/types.html#ColorKeywords zoznam mien farieb]). Príkaz <tt>setFontSize</tt> nastavuje veľkosť písma a <tt>setLineWidth</tt> nastavuje hrúbku čiary.
* Po vykreslení všetkých útvarov ukončíme vykresľovanie príkazom drawing.finish();
+
* Po vykreslení všetkých útvarov ukončíme vykresľovanie príkazom <tt>drawing.finish();</tt>
* Po spustení programu by vám mal vzniknúť súbor hello.svg, ktorý si môžete prezrieť napríklad v internetovom prehliadači.
+
* Po spustení programu by mal vzniknúť súbor <tt>hello.svg</tt>, ktorý si môžete prezrieť napríklad v internetovom prehliadači.
  
 
==Animácie==
 
==Animácie==
  
* Príkaz wait umožní pozastaviť vykresľovanie SVG súboru o zadaný čas v sekundách, takže jednotlivé útvary sa objavujú postupne.
+
* Príkaz <tt>wait</tt> umožní pozastaviť vykresľovanie SVG súboru o zadaný čas v sekundách, takže jednotlivé útvary sa objavujú postupne.
* Príkaz clear schová všetky vykreslené útvary, takže môžeme kresliť znova na prázdnu plochu. Pred príkazom clear je vhodné použiť wait.  
+
* Príkaz <tt>clear</tt> schová všetky vykreslené útvary, takže môžeme kresliť znova na prázdnu plochu. Pred príkazom <tt>clear</tt> je vhodné použiť <tt>wait</tt>.  
* Príkaz hideItem schová objekt (napr. čiaru) so zadaným číslom. Každý kresliaci príkaz vráti číslo práve vykresleného objektu, takže si ho stačí uložiť v nejakej premennej pre neskoršie mazanie.
+
* Príkaz <tt>hideItem</tt> schová objekt (napr. čiaru) so zadaným číslom. Každý kresliaci príkaz vráti číslo práve vykresleného objektu, takže si ho stačí uložiť v nejakej premennej pre neskoršie mazanie.
  
 
==Príkazy pre korytnačiu grafiku==
 
==Príkazy pre korytnačiu grafiku==
  
 
Namiesto vykresľovania obdĺžnikov, čiar a pod na zadané súradnice môžeme obrázok vytvoriť aj korytnačou grafikou. Na obrázku bude pohyb korytnačky znázornený ako červený trojuholník a za sebou bude nechávať čiernu čiaru.
 
Namiesto vykresľovania obdĺžnikov, čiar a pod na zadané súradnice môžeme obrázok vytvoriť aj korytnačou grafikou. Na obrázku bude pohyb korytnačky znázornený ako červený trojuholník a za sebou bude nechávať čiernu čiaru.
* Príkazom typu Turtle turtle(200, 300, "domcek2.svg", 50, 250, 0); vytvoríme SVG obrázok určitej veľkosti a s určitým menom súboru. Posledné tri čísla udávajú počiatočnú polohu korytnačky a jej natočenie.
+
* Príkazom typu <tt>Turtle turtle(200, 300, "domcek2.svg", 50, 250, 0);</tt> vytvoríme SVG obrázok určitej veľkosti a s určitým menom súboru. Posledné tri čísla udávajú počiatočnú polohu korytnačky a jej natočenie.
* Korytnačka si pamätá svoju polohu a natočenie na ploche. Príkaz forward posunie korytnačku dopredu, príkazy turnLeft a turnRight ju otočia.
+
* Korytnačka si pamätá svoju polohu a natočenie na ploche. Príkaz <tt>forward</tt> posunie korytnačku dopredu, príkazy <tt>turnLeft</tt> a <tt>turnRight</tt> ju otočia.
* Príkaz setSpeed umožňuje zmeniť rýchlosť korytnačky, aby sme lepšie videli, ako sa postupne hýbe.
+
* Príkaz <tt>setSpeed</tt> umožňuje zmeniť rýchlosť korytnačky, aby sme lepšie videli, ako sa postupne hýbe.

Aktuálna revízia z 15:57, 8. október 2019

Knižnica SVGdraw umožňuje vytvoriť obrázok v SVG formáte a vykresľovať do neho rôzne geometrické útvary, animovať ich a používať korytnačiu grafiku.

Vykresľovanie v SVG formáte

  • Ako prvé musíme vytvoriť súbor s obrázkom v SVG formáte s určitými rozmermi príkazom typu SVGdraw drawing(150, 100, "hello.svg");
  • Do obrázku môžeme kresliť príkazmi drawRectangle, drawEllipse, drawLine, drawText.
  • Ak chceme vykresľovať mnohouholníky, použijeme skupinu príkazov startPolygon, addPolygonPoint a drawPolygon. Pomocou startPolygon a addPolygonPoint postupne vymenujeme vrcholy a pomocou drawPolygon mnohouholník uzavrieme a vykreslíme.
  • Pomocou príkazov setLineColor, setFillColor, setNoFill nastavujeme farbu čiar a vyfarbovania. Farby zadávame buď troma číslami od 0 do 255 určujúcimi intenzitu červenej, zelenej a modrej, alebo názvom, napr. "red" (zoznam mien farieb). Príkaz setFontSize nastavuje veľkosť písma a setLineWidth nastavuje hrúbku čiary.
  • Po vykreslení všetkých útvarov ukončíme vykresľovanie príkazom drawing.finish();
  • Po spustení programu by mal vzniknúť súbor hello.svg, ktorý si môžete prezrieť napríklad v internetovom prehliadači.

Animácie

  • Príkaz wait umožní pozastaviť vykresľovanie SVG súboru o zadaný čas v sekundách, takže jednotlivé útvary sa objavujú postupne.
  • Príkaz clear schová všetky vykreslené útvary, takže môžeme kresliť znova na prázdnu plochu. Pred príkazom clear je vhodné použiť wait.
  • Príkaz hideItem schová objekt (napr. čiaru) so zadaným číslom. Každý kresliaci príkaz vráti číslo práve vykresleného objektu, takže si ho stačí uložiť v nejakej premennej pre neskoršie mazanie.

Príkazy pre korytnačiu grafiku

Namiesto vykresľovania obdĺžnikov, čiar a pod na zadané súradnice môžeme obrázok vytvoriť aj korytnačou grafikou. Na obrázku bude pohyb korytnačky znázornený ako červený trojuholník a za sebou bude nechávať čiernu čiaru.

  • Príkazom typu Turtle turtle(200, 300, "domcek2.svg", 50, 250, 0); vytvoríme SVG obrázok určitej veľkosti a s určitým menom súboru. Posledné tri čísla udávajú počiatočnú polohu korytnačky a jej natočenie.
  • Korytnačka si pamätá svoju polohu a natočenie na ploche. Príkaz forward posunie korytnačku dopredu, príkazy turnLeft a turnRight ju otočia.
  • Príkaz setSpeed umožňuje zmeniť rýchlosť korytnačky, aby sme lepšie videli, ako sa postupne hýbe.