pozdrav,
ne znam koliko je bitno, ali za crtanje krugova moze da se iskoristi Brezenhajm. kao i kod Brezenhajma za linije, moze samo manji ugao od 45 stepeni, tako da se crta u 8 "oktanata":
razlika u odnosu na crtanje linije je sto se "nagib" (odnos izmedju Y i X) u svakom koraku menja.
https://en.wikipedia.org/wiki/Midpoint_circle_algorithm
Inace je isto kao i za liniju "perfektan", nacrtana tacka je najbliza idealnoj i crta se tacno jedan pixel po liniji ciji je uspon manji od 45 stepeni.
Ovde je objasnjeno izvodjenje:
https://www.javatpoint.com/computer-grap...-algorithm
Ko implementira u asembleru, moze da "shiftuje" promenljivu za odlucivanje, tako da se uvek poredi sa 0. I preformulise se izraz, teko da nema IF i THEN grane, vec ostaje samo IF.
Inace GRBL koristi segmente, otprilike kao sto je mikikg pokazao, verovatno je problem sto broj koraka/mm za pojedinacne ose ne mora uvek da bude isti - onda crtanje kruga prelazi u crtanje elipse.
Crtanje elipse takodje moze da se odradi brezenhajmom, samo je proracun nesto malo komplikovaniji.
ne znam koliko je bitno, ali za crtanje krugova moze da se iskoristi Brezenhajm. kao i kod Brezenhajma za linije, moze samo manji ugao od 45 stepeni, tako da se crta u 8 "oktanata":
razlika u odnosu na crtanje linije je sto se "nagib" (odnos izmedju Y i X) u svakom koraku menja.
https://en.wikipedia.org/wiki/Midpoint_circle_algorithm
Inace je isto kao i za liniju "perfektan", nacrtana tacka je najbliza idealnoj i crta se tacno jedan pixel po liniji ciji je uspon manji od 45 stepeni.
Ovde je objasnjeno izvodjenje:
https://www.javatpoint.com/computer-grap...-algorithm
Ko implementira u asembleru, moze da "shiftuje" promenljivu za odlucivanje, tako da se uvek poredi sa 0. I preformulise se izraz, teko da nema IF i THEN grane, vec ostaje samo IF.
Inace GRBL koristi segmente, otprilike kao sto je mikikg pokazao, verovatno je problem sto broj koraka/mm za pojedinacne ose ne mora uvek da bude isti - onda crtanje kruga prelazi u crtanje elipse.
Crtanje elipse takodje moze da se odradi brezenhajmom, samo je proracun nesto malo komplikovaniji.