1 / 46

برش Clipping

برش Clipping. در این مبحث الگوریتم های برش خط و برش چند ضلعی در دو بعد بررسی می شود. Clipping. 2D Viewing. بــرش خــط Line Clipping -. Cohen-Sutherland Line Clipping. 1001. 1000. 1010. 0001. 0000. 0010. 0101. 0100. 0110. Clipping window. (xwmin, ywmax). (xwmax, ywmax).

lona
Download Presentation

برش Clipping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. برش Clipping در این مبحث الگوریتم های برش خط و برش چند ضلعی در دو بعد بررسی می شود مفاهیم گرافیک کامپیوتری

  2. Clipping مفاهیم گرافیک کامپیوتری

  3. 2D Viewing مفاهیم گرافیک کامپیوتری

  4. بــرش خــطLine Clipping - مفاهیم گرافیک کامپیوتری

  5. Cohen-Sutherland Line Clipping 1001 1000 1010 0001 0000 0010 0101 0100 0110 مفاهیم گرافیک کامپیوتری

  6. Clipping window (xwmin, ywmax) (xwmax, ywmax) (xwmin, ywmin) (xwmax, ywmin) مفاهیم گرافیک کامپیوتری

  7. algorithm • Assign a region code for each endpoints. • If both endpoints have a region code 0000 --- trivially accept these line. • Else, perform the logical AND operation for both region codes. 3.1 if the result is not 0000 - trivially reject the line. 3.2 else – (result = 0000, need clipping) 3.2.1. Choose an endpoint of the line that is outside the window. 3.2.2. Find the intersection point at the window boundary (base on region code). 3.2.3. Replace endpoint with the intersection point and update the region code. 3.2.4. Repeat step 2 until we find a clipped line either trivially accepted or trivially rejected. 4. Repeat step 1 for other lines. مفاهیم گرافیک کامپیوتری

  8. How to check for intersection? if bit 1 = 1  there is intersection on TOP boundary. if bit 2 = 1  .. .. .. .. BOTTOM .. if bit 3 = 1  .. .. .. .. RIGHT .. If bit 4 = 1  .. .. .. .. LEFT .. How to find intersection point? use line equation intersection with LEFT or RIGHT boundary. x = xwmin (LEFT) x = xwmax (RIGHT) y = y1 + m(x –x1) intersection with BOTTOM or TOP boundary. y = ywmin (BOTTOM) y = ywmax (TOP) x = x1 + (y –y1)/m مفاهیم گرافیک کامپیوتری

  9. Example B1 1001 1000 1010 D1 B2 C1 A2 0000 0001 0010 A1 C2 0101 0100 0110 D2 مفاهیم گرافیک کامپیوتری

  10. A2 A1 Example algorithm 1001 1000 1010 1. A1=0000,A2=0000 2. (both 0000) – Yes -> accept & draw 3. 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 1. A1=0000,A2=0000 2. (both 0000) – Yes -> accept & draw 3. 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 0000 0001 0010 0101 0100 0110 مفاهیم گرافیک کامپیوتری

  11. B1 B2 A2 A1 Example algorithm 1000 1001 1010 1. B1=1001,B2=1010 2. (both 0000) – No 3. AND Operation B1  1001 B2  1010 Result 1000 3.1 (not 0000) – Yes  reject 3.2 3.2.1 3.2.2 3.2.3 3.2.4 1. B1=1001,B2=1010 2. (both 0000) – No 3. AND Operation B1  1001 B2  1010 Result 1000 3.1 (not 0000) – Yes  reject 3.2 3.2.1 3.2.2 3.2.3 3.2.4 1. B1=1001,B2=1010 2. (both 0000) – No 3. AND Operation B1  1001 B2  1010 Result 1000 3.1 (not 0000) – Yes  reject 3.2 3.2.1 3.2.2 3.2.3 3.2.4 1. B1=1001,B2=1010 2. (both 0000) – No 3. AND Operation B1  1001 B2  1010 Result 1000 3.1 (not 0000) – Yes  reject 3.2 3.2.1 3.2.2 3.2.3 3.2.4 0000 0001 0010 0101 0100 0110 مفاهیم گرافیک کامپیوتری

  12. 1. C1=0001,C2=0000 2. (both 0000) – No 3. AND Operation 0001 0000 result 0000 3.1(not 0000) - No 3.2. (0000)-Yes 3.2.1. choose C1 3.2.2. Intersection point, C1’ at LEFT 3.2.3 C1 <- C1’ C1 = 0000 3.2.4 repeat 2 1. C1=0001,C2=0000 2. (both 0000) – No 3. AND Operation 0001 0000 result 0000 3.1(not 0000) - No 3.2. (0000)-Yes 3.2.1. choose C1 3.2.2. Intersection point, C1’ at LEFT 3.2.3 C1 <- C1’ C1 = 0000 3.2.4 repeat 2 C1 A2 A1 C1’ C1’ C2 C2 Example algorithm 1001 1000 1010 1. C1=0001,C2=0000 2. (both 0000) – No 3. AND Operation 0001 0000 result 0000 3.1(not 0000) - No 3.2. (0000)-Yes 3.2.1. choose C1 3.2.2. Intersection point, C1’ at LEFT 3.2.3 C1 <- C1’ C1 = 0000 3.2.4 repeat 2 1. C1=0001,C2=0000 2. (both 0000) – No 3.AND Operation 0001 0000 result 0000 3.1(not 0000) - No 3.2. (0000)-Yes 3.2.1. choose C1 3.2.2. Intersection point, C1’ at LEFT 3.2.3 C1 <- C1’ C1 = 0000 3.2.4 repeat 2 1. C1=0001,C2=0000 2. (both 0000) – No 3. AND Operation 0001 0000 result 0000 3.1(not 0000) - No 3.2. (0000)-Yes 3.2.1. choose C1 3.2.2. Intersection point, C1’ at LEFT 3.2.3 C1 <- C1’ C1 = 0000 3.2.4 repeat 2 1. C1=0001,C2=0000 2. (both 0000) – Yes -> accept & draw 3. 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 0000 0010 0001 0101 0100 0110 مفاهیم گرافیک کامپیوتری

  13. D1 D1’ D1’’ D1’’ D1’’ A2 A1 D2’’ D2’ D2 D2 D2 Example algorithm 1001 1000 1010 0000 0010 0001 C1’ C2 0101 0100 0110 مفاهیم گرافیک کامپیوتری

  14. بــرش چند ضلعی Poly Clipping مفاهیم گرافیک کامپیوتری

  15. Poly Clipping مفاهیم گرافیک کامپیوتری

  16. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  17. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  18. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  19. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  20. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  21. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  22. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  23. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  24. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  25. Sutherland-Hodgman Clipping مفاهیم گرافیک کامپیوتری

  26. چهار حالت ممکن برای یک ضلع در الگوریتم Sutherland-Hodgman outside inside outside inside outside inside outside inside v2 v2 v2 v2 v1’ v1’ v1 v1 v1 v1 Outside to inside: Output: v1’ and v2 Inside to inside: Output: v2 Inside to outside: Output: v1’ Outside to outside: Output: nothing مفاهیم گرافیک کامپیوتری

  27. مفاهیم گرافیک کامپیوتری

  28. مفاهیم گرافیک کامپیوتری

  29. مفاهیم گرافیک کامپیوتری

  30. Sutherland-Hodgeman Left <V1, V2, V3> V3 V2 V1 مفاهیم گرافیک کامپیوتری

  31. V1' Sutherland-Hodgeman Left <V1, V2, V3> <V1’ > V3 V2 V1 مفاهیم گرافیک کامپیوتری

  32. Sutherland-Hodgeman Left <V1, V2, V3> <V1’, V2’, V3 > V3 V2’ V1' V1 مفاهیم گرافیک کامپیوتری

  33. Sutherland-Hodgeman Left <V1, V2, V3> <V1’, V2’, V3 , V1 > V3 V2’ V1' V1 مفاهیم گرافیک کامپیوتری

  34. Sutherland-Hodgeman Right <V1’, V2’, V3 , V1 > V3 V2’ V1' V1 مفاهیم گرافیک کامپیوتری

  35. Sutherland-Hodgeman Bottom <V1’, V2’, V3 , V1 > <V1’’ > V3 V2’ V1’’ V1 مفاهیم گرافیک کامپیوتری

  36. Sutherland-Hodgeman Bottom <V1’, V2’, V3 , V1 > <V1’’, V2’, V3 > V3 V2’ V1’’ V1 مفاهیم گرافیک کامپیوتری

  37. Sutherland-Hodgeman Bottom <V1’, V2’, V3 , V1 > <V1’’, V2’, V3, V3’ > V3 V2’ V3’’ V1’’ V1 مفاهیم گرافیک کامپیوتری

  38. Sutherland-Hodgeman Bottom <V1’, V2’, V3 , V1 > <V1’’, V2’, V3, V3’ > V3 V2’ V3’’ V1’’ مفاهیم گرافیک کامپیوتری

  39. Sutherland-Hodgeman Top <V1’’, V2’, V3, V3’ > V3 V2’ V3’’ V1’’ مفاهیم گرافیک کامپیوتری

  40. An Example for the Polygon Clipping v5 v4 v1 v2 v3 مفاهیم گرافیک کامپیوتری

  41. An Example for the Polygon Clipping v5 v5 v4 v1 v1 v1 v2 v3 Clipping edge Clipping edge Clipping edge مفاهیم گرافیک کامپیوتری

  42. An Example for the Polygon Clipping Now v1v2: v5 v4 v1 v1 v1 v2 v2 v3 v2 Clipping edge Clipping edge Clipping edge مفاهیم گرافیک کامپیوتری

  43. An Example for the Polygon Clipping Now v2v3: v5 v4 v1 v1 v2 v3 v2 v2 v3 v2 v3 Clipping edge Clipping edge Clipping edge مفاهیم گرافیک کامپیوتری

  44. An Example for the Polygon Clipping Now v3v4: v5 v4 v4 v1 v1 i1 v2 v3 v2 v3 v2 v3 Clipping edge Clipping edge Clipping edge مفاهیم گرافیک کامپیوتری

  45. An Example for the Polygon Clipping Now v4v5 : v5 v5 v5 v4 i2 v4 v1 v1 i1 v2 v3 v2 v2 v3 Clipping edge Clipping edge Clipping edge مفاهیم گرافیک کامپیوتری

  46. مفاهیم گرافیک کامپیوتری

More Related