Rýchle zhrnutie referátu

Korytnačia grafika je spôsob kreslenia na obrazovke pomocou relatívnych príkazov, ktoré ovládajú pohyb grafickej korytnačky. Tento prístup umožňuje jednoduché a intuitívne vytváranie grafiky v programovacom jazyku C++. Korytnačka sa pohybuje po obrazovke a zanecháva stopu, pričom sa dá otáčať a presúvať dopredu.

  • Korytnačia grafika používa relatívne príkazy na kreslenie.
  • Korytnačka sa pohybuje a otáča, čím vytvára obrazce.
  • Príkazy na kreslenie sú implementované v špeciálnej knižnici Kor.cpp.
  • Korytnačka môže meniť smer, polohu a hrúbku čiary.
  • Príklady ukazujú, ako vytvoriť rôzne obrazce pomocou cyklov.

Čo je grafika/" class="wiki-link" title="Viac o: korytnačia grafika">korytnačia grafika

Doteraz sme do grafickej plochy kreslili príkazmi:

MoveTo(X, Y); LineTo(X, Y); Rectangle(X1, Y1, X2, Y2); Ellipse(X1, Y1, X2, Y2);

Tie pracovali s absolútnymi súradnicami. Dá sa kresliť aj iným - relatívnym spôsobom. Na kreslenie použijeme špeciálne grafické pero - korytnačku. Predstave si korytnačku, ktorá sa prechádza po piesočnatej pláži a v piesku zanecháva stopu. To, čo korytnačka v piesku nakreslí, uvidíme na obrazovke. Korytnačka sa hýbe dopredu a občas sa otočí vľavo alebo vpravo.

Grafickú korytnačku možno:

  • otáčať o zadaný uhol smerom vľavo alebo vpravo
  • presúvať dopredu o určenú vzdialenosť v smere, v ktorom je práve natočená.

Príklad: Nasledujúce príkazy nakreslia štvorec:

Dopredu(100); // choď dopredu 100 krokov Vlavo(90); // otoč sa vľavo o 90 stupňov Dopredu(100); Vlavo(90); Dopredu(100); Vlavo(90); Dopredu(100);

To isté dosiahneme aj cyklom:

for (int i=0; iWidth/2; Y=Image->Height/2; }

Metóda ZmenSmer nastaví smer gramatika-sloh/korytnacky-seminarna-praca/" class="wiki-link" title="Viac o: korytnačky">korytnačky. Chceme, aby Smer Î :

void TKor::ZmenSmer(float nSmer) { if (Smer==nSmer) return; Smer=nSmer; while (Smer+180) Smer=Smer-360; }

Metóda ZmenXY presunie korytnačku na nové súradnice na obrazovke. Navyše, ak korytnačka kreslí čiary (pero je dolu), ZmenXY nakreslí čiaru do tohto nového bodu:

void TKor::ZmenXY(float nX, float nY) { if (X==nX && Y==nY) return; Image->Canvas->MoveTo(X+0.5, Y+0.5); Image->Canvas->LineTo(nX+0.5, nY+0.5); X=nX; Y=nY; }

V premenných X, Y sú reálne čísla, ale príkazy MoveTo a LineTo pracujú s celými číslami. Ak sa má vykonať LineTo(1.8, 1.1), koniec úsečky bude ležať v bode (1, 1) a nie v bode (2, 1), ktorý je k uvedeným súradniciam "bližšie". Pripočítaním +0.5 získame zaokrúhlené celé číslo (1.8+0.5=2.3 ... po konverzii konverzii =2, zatiaľ čo 1.1+0.5=1.6 ... po konverzii konverzii =1). Pozor, táto "finta" funguje iba pre kladné čísla.

  • 4. Nasledujúcimi metódami riadime relatívny pohyb korytnačky:

void TKor::Vlavo(float Uhol) { ZmenSmer(Smer-Uhol); }

void TKor::Vpravo(float Uhol) { ZmenSmer(Smer+Uhol); }

void TKor::Dopredu(float Dlzka) { float a; a=Smer/180*M_PI; ZmenXY(X+Dlzka*sin(a), Y-Dlzka*cos(a)); }

  • 5. Korytnačku "naučíme" aj príkazové skratky - napríklad, príkaz Vlavo bude mať skratku vl:
void TKor::vl(float Uhol) { Vlavo(Uhol); }; Pretože tieto metódy sú jednoduché, ich telá môžeme napísať aj priamo v definícii triedy: class TKor {

private:

...

public:

... void vl(float Uhol) {Vlavo(Uhol);}; void vp(float Uhol) {Vpravo(Uhol);}; void dp(float Dlzka) {Dopredu(Dlzka);}; };

informatika/programovanie-pokus-o-vypracovanie-poziadaviek-na-skusku-z-predmetu/" class="wiki-link" title="Viac o: programovanie">Programovanie metód priamo v definícii triedy robievame v C++ iba výnimočne a obozretne, pretože tým môžeme skomplikovať čitateľnosť programu.

  • 6. V kompletnej knižnici Kor.cpp má trieda TKor nasledujúce vylepšenia:

  • metóda ZmenHrubku(int nHrubka) nastaví hrúbku čiary, ktoré korytnačka kreslí;
  • metóda ZmenFarbu(TColor nFarba) nastaví farbu čiary
  • metóda PeroHore() korytnačka prestane kresliť (až pokým nezavoláme PeroDolu);
  • metóda PeroDolu() korytnačka položí pero na papier a pri pohybe bude kresliť čiary;
  • metóda Smerom(float aX, float aY) vráti uhol k bodu aX, aY;
  • vlastnosť Smer;
  • vlastnosti X, Y.

fyzika/jednosmerny-prud-priklady/" class="wiki-link" title="Viac o: príklady">Príklady s korytnačkou

Keď potrebujeme v projekte používať korytnačiu grafiku, skopírujeme súbor Kor.cpp do adresára (priečinku) projektu a kompilátoru oznámime, že používame našu knižnicu Kor.cpp:

#include #pragma hdrstop

#include "Unit.h" #include "Kor.cpp" //-------------------------------------- ---------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;

//-------------------------------------- ---------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //-------------------------------------- ---------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { TKor k; k.Inic(Image1); int i; for (i=0; i

🤔 Najčastejšie otázky k téme

Čo je korytnačia grafika?

Korytnačia grafika je technika kreslenia na obrazovke pomocou príkazov, ktoré ovládajú pohyb grafickej korytnačky, pričom táto zanecháva stopu.

Aké príkazy sa používajú na ovládanie korytnačky?

Na ovládanie korytnačky sa používajú príkazy ako Dopredu, Vlavo, Vpravo, ktoré umožňujú pohybovať sa a otáčať.

Ako sa vytvára korytnačia knižnica v C++?

Korytnačia knižnica sa vytvára ako objektová trieda v súbore Kor.cpp, ktorý sa následne zahrnie do programov pomocou príkazu #include.