Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Filling Graphical Shapes. 2 We know how to draw outlines Can we just fill the “inside”? …but how do we know the difference between the inside and outside?

Similar presentations


Presentation on theme: "1 Filling Graphical Shapes. 2 We know how to draw outlines Can we just fill the “inside”? …but how do we know the difference between the inside and outside?"— Presentation transcript:

1 1 Filling Graphical Shapes

2 2 We know how to draw outlines Can we just fill the “inside”? …but how do we know the difference between the inside and outside? Can we determine if a point is inside a shape?

3 3 A Filling Anomaly

4 CS-321 Dr. Mark L. Hornick 4 One Approach: The Odd-Even Rule 1. Choose an arbitrary point 2. Draw ray to a distant point Don’t intersect any vertices What’s a “distant” point? 3. Count edges crossed Odd count means interior Even count means exterior 1 1 1 3 2 0 2

5 CS-321 Dr. Mark L. Hornick 5 Odd-Even Result 1 1 1 1 3 2

6 CS-321 Dr. Mark L. Hornick 6 Another approach: Nonzero Winding Rule Choose a point Draw ray to a distant point Don’t intersect any vertices Consider edges crossed (right hand rule) Subtract 1 when ray to edge is clockwise Add 1 when ray to edge is counter-clockwise Nonzero count means interior Count = “Winding number” -2 0 0

7 CS-321 Dr. Mark L. Hornick 7 Nonzero Winding Example −1 −2

8 CS-321 Dr. Mark L. Hornick 8 Computing Winding Number Compute cross product Between ray and edge Sign of z value determines direction +z implies CCW (add 1 to winding number) See text, page 128

9 CS-321 Dr. Mark L. Hornick 9 Cross Product Example u=(1,1,0) V B =(2,0,0) V A =(1,0,0) E “−1” means u crosses E clockwise

10 CS-321 Dr. Mark L. Hornick 10 Cross Product Simplification negative means clockwise

11 CS-321 Dr. Mark L. Hornick 11 Computing Winding Number Compute dot product Use perpendicular to ray vs. edge If ray is given by (u x, u y ), perpendicular is (- u y, u x ) Sign of product determines direction +product implies “right-to-left” (add 1 to winding number) See text, page 128

12 CS-321 Dr. Mark L. Hornick 12 Dot Product Example Again, “−1” means u crosses E from left to right u=(1,1,0), w = (−1,1,0) [“right-to-left” perpendicular to u] V B =(2,0,0) V A =(1,0,0) E

13 CS-321 Dr. Mark L. Hornick 13 Dot Product Simplification Same result as from cross product!

14 CS-321 Dr. Mark L. Hornick 14 Inside-Outside Tests Summary Odd-even rule Generalized from scan-line fill May produce unusual results if edges intersect Nonzero winding number rule Alternate way of determining interior


Download ppt "1 Filling Graphical Shapes. 2 We know how to draw outlines Can we just fill the “inside”? …but how do we know the difference between the inside and outside?"

Similar presentations


Ads by Google