1. Visual Studio 2015와 OpenGL 사용
아래 글 참조 http://fatc.club/2017/03/25/1814
위의 깃허브 참조
3. 데모 영상
콘솔창 + OpenGL 영상 https://www.youtube.com/watch?v=pxCs9ynF_OA&feature=youtu.beOpenGL 영상
https://www.youtube.com/watch?v=fBwQU2o17aQ
4. 기타
초기 시작시 X-coordinate 순으로 점이 추가됨.
그 다음 Upper Chain은 초록색, Lower Chain은 파랑색으로 나타남.
여기서 Leftmost, Rightmost 점이 파란색인건 그냥 무시하기 바람.
어차피 알고리즘 자체에서 양 끝 점이 어느 체인에 포함되는지 여부는 딱히 필요없음.
Triangulation Pseudo Code는 아래와 같음.
그리고 OpenGL은 글자 출력이 딱히 편리한게 아니라서, 스택의 상태나 리스트의 상태는 콘솔에 출력하였음.
참고.
known Upper & Lower chain
merge Upper & Lower chain ordered by X coordinate, Y coordinate asc
init stack, list
push 1st, 2nd points into stack
loop from 2 to n-1
if the top point of the stack and ith point are in same chain
stack.pop
loop stack is not empty
pts <- stack.top
stack.pop
if pts and ith point make a diagonal
insert the diagonal into L
push the last point which was saved in stack
push ith point into stack
otherwise
while stack.size >= 1
pts <- stack.top
stack.pop
temporalStack <- pts
if pts and ith point make a diagonal
insert the diagonal into L
stack.pop
recover stack from temporalStack
push ith point into stack
'프로그래밍 > C, C++, Java, Python' 카테고리의 다른 글
[Python] 코드로 이미지에 문구 넣기 (0) | 2019.04.05 |
---|---|
[Python] Modbus CRC16 파이썬3 예제 코드 (0) | 2019.03.28 |
[VB] 윈도우에서 프로그램을 백그라운드로 실행하는 방법 (0) | 2019.03.06 |
[C, C++] 1~N 연속된 수로 이루어진 랜덤 배열 (0) | 2019.03.04 |
[Java] Jsoup을 이용한 간단한 웹 크롤러 만들기 (0) | 2019.03.02 |