Google Martinovi našel a Helenka podle toho funguje Line Algorithms. Doporučuji nám věčným grafikům. 😉
Dneska jsem podle toho vyplodila DDA algoritmus pro kreslení čáry se známým počátečním a koncovým bodem, když už jsem dneska nedošla do školy, protože jsem nestihla vláček.
Takže gró programu bychom měli:
x1:=round(GetMaxX/2); y1:=round(GetMaxY/2); x2:=GetMaxX; y2:=GetMaxY; ratio:=(y2-y1)/(x2-x1); x:=x1; y:=y1; for i:=x1 to x2 do begin x:=x+1; y:=y+ratio; PutPixel(x,round(y),white); end;
Pro zájemce (i jako záloha pro mě), je kompletní zdroják k dispozici.
Pak jsme taky C++ (=cépluspluskovali) a to byla spíše Martinova práce, můj úkol to byl hlavně pochopit.
Za nejdůležitější považuju:
void ValSum::PrintOutput() { int soucet=0; cout << "Prvky: "; for (int i=0; i<pocetPrvku; i++) { cout << ((int *)poleHodnot)[i] << " "; soucet = ((int *)poleHodnot)[i] + soucet; } cout < "\nSoucet: " << soucet; return; } int ValSum::InputValues(const void* pValues, int iValueSize, int iCnt) { poleHodnot=pValues; velikostPrvku=iValueSize; pocetPrvku=iCnt; return 0; } --- int main (int argc, char * const argv[]) { ValSum vypocet; int pole_hodnot[] = {1,2}; int velikost=(sizeof(int)); int pocet=2; vypocet.InputValues((void *)pole_hodnot,velikost,pocet); vypocet.PrintOutput(); return 0; }
Kompletní zdroják je ve „školní“ sekci.