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.





