[MFC :: OpenGL] DXF :: Part 5 (옮김)

심플디 2014.04.25 12:56 조회 수 : 1601














Part 4를 통해 우리는 이 프로젝트에서 무엇인가 중요한 것을 놓치고 있다는 느낌을 받고 있다.

그것이 무엇일까.

Part 5는 오류의 원인을 위한 노력이 기술 될 것이다.

<gluNurbsSurface ( ) 오류분석>














먼저, 양해를 구한다.
이 게시물은 오류를 잡기위한 내용이 기술 될 것이다... (성공할 때 까지)

1. '점(Point)'만 그려진다.
점이 많아지면 잘 그려지지 않았다...
따라서 점 데이타의 양을 다채롭게 구성해주는 '모듈.cpp'를 만들고 dxf를 생성시킨 후, ProjectOpenGL 프로젝트로 긁어오는 과정을 거칠 것이다.

1-1. [1001][1001][3]의 평면

<그림 1 :: [1001][1001][3] 배열 평면 좌표>


 <그림 2 :: 실행 모습>


<그림 1> -500부터 500까지 꽉 들어 차려면 1001개의 배열이 필요하고 2축으로 뻗어 있으므로 <그림 1>과 같이 배열을 저장해 주었다.

<그림 2>와 같이 프로그램을 실행시키면 Dxf_1000.dat 파일이 해당 프로젝트 디렉토리안에 생성되는데, 

확장자를 dxf로 바꾸고 ProjectOpenGL로 실행시켜 보았다.

그랬더니, 제어점만 나오고 Nurbs curve는 출력되지 않았다.


욕심이 너무 과했나보다. (젠장!)


 

<그림 3 - 1 :: [21][21][3]의 평면 (제어점 출력 안함) >


 

<그림 3 - 2  :: [101][101][3]의 평면 (제어점 출력 안함) >


<그림 3 - 3  :: [101][101][3]의 평면 (제어점 출력함) >

 

<그림 3 >을 통해 예상과는 다르게, Nurbs curve가 만능은 아님을 볼 수 있다.


<그림 4  - 1 :: z값이 랜덤인 [21][21][3]의 곡면>


<그림 4 - 2 :: Test_Vertex.dxf 실행 모습>

 

또한 소스코드를 아예 처음부터 파일을 읽을 때만 Nurbs 커브를 출력 하도록 수정했더니 <그림 3 - 1>이 잔상효과에 의한 버그임을 알아냈다.


그런데 이런 난황에도 불구하고 여전히 Test_Vertex.dxf는 기똥차게 잘 읽히는 모습을 볼 수 있다.

뭔가 이상하지 않은가?


<그림 5 - 1 :: z값이 랜덤인 [11][11][3]의 곡면>

 

정말 백번 양보해서 배열의 크기를 [11][11]로 줄여보았다 ㅠㅠㅠㅠ 그럼에도 불구하고 잘 되지 않았다.



 <그림 6 - 1 :: z값이 랜덤인 [10][10][3]의 곡면>


 <그림 6 - 2 :: z값이 랜덤인 [8][8][3]의 곡면>

 ( 9 x 9 안되는거 확인 함 )


<그림 6 - 3 :: z값이 랜덤인 [7][7][3]의 곡면>


 

천번을 양보해서 배열을 대폭 줄였다... 그러니까 되더라. ...x발, 이런 x나리 같은 상황이...ㅠㅠㅠㅠ

그렇다. 애초부터 gluNurbsSurface 함수는 [8][8][3] 이하의 배열상태를 갖는 변수의 곡면만 그려주는 함수였던 것이다.


구글 네이버 서적 그 어느곳도 이런 엿같은 사실을 알려주고 있지 않아서 필자가 여태껏 삽질을 한것이다.

잠깐 화 좀 식히고...



아쉽지만 DXF프로젝트는 이쯤으로 끝내야 할 것 같다.

다음은 '점을 어떻게 전부 '면'으로 표현 할 수 있을까?'란 주제로 이어진다.

번호 제목 글쓴이 날짜 조회 수
공지 본 게시글의 첨부파일 권한 심플디 2014.08.22 2410
47 [MFC :: OpenGL] 컴공 수업 발표 자료 (옮김) [2] 심플디 2014.04.25 2903
46 [MFC :: OpenGL] Project 시즌 2 후기 (옮김) 심플디 2014.04.25 1594
45 [MFC :: OpenGL] File output (옮김) 심플디 2014.04.25 1522
44 [MFC :: OpenGL] Tool bar(툴바) 편집방법 (옮김) 심플디 2014.04.25 1844
43 [MFC :: OpenGL] IntroPage (옮김) file 심플디 2014.04.25 1524
42 [MFC :: OpenGL] IPC 적용 (옮김) file 심플디 2014.04.25 1577
41 MFC :: OpenGL] ProjectMFCReport 와꾸짜기 (옮김) 심플디 2014.04.25 1736
40 [MFC :: OpenGL] Data Dialog 와꾸짜기 (옮김) 심플디 2014.04.25 1735
39 [MFC :: OpenGL] 시즌 2 개요 (옮김) file 심플디 2014.04.25 1520
38 [MFC :: OpenGL] Project 시즌 2 시작 (옮김) [1] 심플디 2014.04.25 1532
37 [MFC :: OpenGL] Project 시즌 1 후기 (옮김) file 심플디 2014.04.25 1593
36 [MFC :: OpenGL] Mesh :: Part 2 (옮김) [1] file 심플디 2014.04.25 1557
35 [MFC :: OpenGL] Mesh :: Part 1 (옮김) file 심플디 2014.04.25 1607
» [MFC :: OpenGL] DXF :: Part 5 (옮김) file 심플디 2014.04.25 1601
33 [MFC :: OpenGL] DXF :: Part 4 (옮김) file 심플디 2014.04.25 1497
32 [MFC :: OpenGL] DXF :: Part 3 (옮김) file 심플디 2014.04.25 1471
31 [MFC :: OpenGL] DXF :: Part 2 (옮김) file 심플디 2014.04.25 1529
30 [MFC :: OpenGL] DXF :: Part 1 (옮김) file 심플디 2014.04.25 1574
29 [MFC :: OpenGL] Proposal 및 앞으로의 계획 (옮김) 심플디 2014.04.25 1564