Algoritmus: usecka, kruznice
Va_Sm
spiritusII@seznam.cz
Pondělí Září 3 19:03:35 CEST 2007
Snail Instruments napsal(a):
>> kdysi jsem pocital v PICu primku, jednalo se o prevodnit z PC mys na
>> AMIGA mys. Stahnite si z meho webu navod na tento prevodnik. Jedine co
>> tam bylo slozitejsi je deleni, to vzdy probehlo v 8mi pruchodedech
>> smickou, jinak uz nasledovalo pricitani a nebo odecitani.....
>>
>
> Na usecku neni potreba deleni. Viz treba:
> http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm
> velmi nazorny je odstavec 'Different approach to the algorithm',
> kruznici popisuje nize odstavec 'Circle Variant'
>
> J. Hanzal
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> __________ Informace od NOD32 2500 (20070903) __________
>
> Tato zprava byla proverena antivirovym systemem NOD32.
> http://www.nod32.cz
>
>
>
>
Ano, podobny algoritmus jsem ve vysledku pouzil.
Ona jde i kruznice bez deleni,sinu nebo odmocnin
void Kruh(int xCenter, int yCenter, int r){
int x=0,y=r;
int d=3-(2*r);
while(x<=y){
putpixel(xCenter+x,yCenter+y,15);
putpixel(xCenter+y,yCenter+x,15);
putpixel(xCenter-x,yCenter+y,15);
putpixel(xCenter+y,yCenter-x,15);
putpixel(xCenter-x,yCenter-y,15);
putpixel(xCenter-y,yCenter-x,15);
putpixel(xCenter+x,yCenter-y,15);
putpixel(xCenter-y,yCenter+x,15);
if (d<0)
d += (4*x)+6;
else
{
d += (4*(x-y))+10;
y -= 1;
}
x++;
}
}
Další informace o konferenci Hw-list