lecture 4 graphic primitives, circle. drawing circles
TRANSCRIPT
![Page 1: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/1.jpg)
Lecture 4Graphic Primitives, Circle
![Page 2: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/2.jpg)
Drawing Circles
![Page 3: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/3.jpg)
Brute Force Method
![Page 4: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/4.jpg)
Cheating with 8 arcs
![Page 5: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/5.jpg)
Cheating with 8 arcs Implementation
![Page 6: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/6.jpg)
Cheating with 8 arcs Implementation
![Page 7: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/7.jpg)
Digital Differential Analysis - An incremental algorithm
• Does not require sine or cosine table. • based upon calculating the gradient of a circle at a point
and using that to approximate the position of the next point.
![Page 8: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/8.jpg)
Digital Differential Analysis - An incremental algorithm
![Page 9: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/9.jpg)
Digital Differential Analysis - Implementation
![Page 10: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/10.jpg)
Bresenham’s algorithm for circles• Based on limiting the choice of the next pixel to be plotted
to two alternatives, then creating and testing a decision variable to determine which alternative is actually plotted.
• D(Si) and D(Ti) represent the differences between the squared distance between the center of the circle and the middle of pixels S and T . Whichever is smallest corresponds to the pixel that should be plotted.
• To combine the two calculations into one “decision variable” is simply a matter of subtracting the two expressions:
![Page 11: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/11.jpg)
Bresenham’s algorithm for circles
![Page 12: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/12.jpg)
Implementation for Bresenham’s algorithm
![Page 13: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/13.jpg)
Implementation for circles
![Page 14: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/14.jpg)
Implementation for circles
![Page 15: Lecture 4 Graphic Primitives, Circle. Drawing Circles](https://reader035.vdocuments.us/reader035/viewer/2022062219/551ba484550346942b8b59c5/html5/thumbnails/15.jpg)
Implementation for circles