쾌락없는 책임 (공부)/그래픽스
-
도형이 오목 다각형인지 알아보기 - Concave 판단쾌락없는 책임 (공부)/그래픽스 2022. 1. 10. 14:11
서론 도형을 크게 2가지로 분류한다면 하나는 일반적으로 볼 수 있는 볼록 다각형과 오목하게 들어가있는 오목 다각형이 있습니다. 오목 다각형의 경우 내각들 중 하나라도 180도를 넘어가는 각이 있다면 오목 다각형이 됩니다. 이를 영어로 Concave Polygon이라고 하는데 그래픽스에서 혹시나 이런 도형들이 있다면 다루기가 복잡하기 때문에 일반적인 Convex(볼록) Polygon으로 만들어줘야 합니다. 그래서 이번 글에서는 혹시나 Concave Polygon이 있다고 하면 이를 어떻게 판단하는지, 어떻게 처리할 것인지 정하는 방법들을 공부한 뒤 정리해 보았습니다. Concave Polygon판단하기 위와 같은 식으로 오목 다각형이 있다고 하면 벡터들의 외적을 통해서 구분이 가능하게 됩니다. 반시계 방향..
-
픽셀 위에서 원을 그리는 알고리즘 - Midpoint Algorithm쾌락없는 책임 (공부)/그래픽스 2022. 1. 6. 14:49
서론 이전에 직선 그리는 알고리즘에서 브레젠헴이 만든 알고리즘을 사용을 했는데, 픽셀 위 원을 그리는데도 이 사람의 알고리즘을 사용하게 됩니다. 왜 Midpoint 알고리즘이냐고 묻는다면 대답해드리는 게 인지상정. 그래서 이전의 알고리즘과 비슷하다고 생각을 하면서 보면 좋을 것 같습니다. 픽셀 위에 직선 그리는 알고리즘 - 2. Bresenham’s Algorithm, 브레젠헴 알고리즘 픽셀 위에 직선 그리는 알고리즘 - 1. Digital Differential Analyzer (DDA) 알고리즘 화면에 직선을 그리기 위해 고려할 것들 - 현대 모니터들은 전부 픽셀로 이루어져 있습니다. - 이 위에 직선을 그린다면 husk321.tistory.com 기존 선을 그리는 알고리즘을 그대로 적용하게 되면 원..
-
픽셀 위에 직선 그리는 알고리즘 - 2. Bresenham’s Algorithm, 브레젠헴 알고리즘쾌락없는 책임 (공부)/그래픽스 2021. 10. 23. 22:32
픽셀 위에 직선 그리는 알고리즘 - 1. Digital Differential Analyzer (DDA) 알고리즘 화면에 직선을 그리기 위해 고려할 것들 - 현대 모니터들은 전부 픽셀로 이루어져 있습니다. - 이 위에 직선을 그린다면 최대한 직선에 가깝게 표현되어야 합니다. 이 뜻은 픽셀들의 연속으로 husk321.tistory.com 서론 이전에 픽셀에 직선을 그리는 알고리즘으로 DDA 알고리즘을 알아봤었습니다. 글 마지막에 설명한 대로 DDA 알고리즘의 경우 float과 관련한 연산들이 있어 이를 개선해줄 필요가 있었습니다. 여기서 생각을 틀어서 어차피 사각형으로 된 좌표들 위에 픽셀을 찍는 것이니 직선의 경우 (x, y) 에 점을 찍었다면 다음 점은 (x+1, y+1) 이거나 (x+1, y), 2개..
-
픽셀 위에 직선 그리는 알고리즘 - 1. Digital Differential Analyzer (DDA) 알고리즘쾌락없는 책임 (공부)/그래픽스 2021. 10. 23. 16:28
화면에 직선을 그리기 위해 고려할 것들 - 현대 모니터들은 전부 픽셀로 이루어져 있습니다. - 이 위에 직선을 그린다면 최대한 직선에 가깝게 표현되어야 합니다. 이 뜻은 픽셀들의 연속으로 되어야 하며 끊기지 않아야 한다는 것입니다. - 픽셀의 중심이 좌표의 정수 부분이 됩니다. Digital Differential Analyzer - DDA 알고리즘 DDA 알고리즘은 양 끝점이 주어졌을 때 화면 위 직선을 그릴 수 있는 알고리즘입니다. 원리는 아래에 있으며 아주 간단합니다. 양 끝점을 이용해서 X, Y의 증분을 구합니다. 이후 X 가 1 증가할 때 Y가 어느정도로 증가하는지를 계산, 좌표를 구하고 해당 좌표의 픽셀을 채워줍니다. 위 정의의 경우 X가 +1 될때 Y가 어느정도로 증가하는지를 구하는 것으로 ..