Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

(구)boymin

타원 그리기 프로그램 본문

Programming/Program

타원 그리기 프로그램

boymin 2018. 7. 27. 01:18

너무 오랜만의 포스팅.


고등학교 3학년이라 바빴고(라는 핑계를 대고),

또 정보올림피아드니 C++공부니(라는 핑계를 대고),

일이 좀 많았다.


이번 포스팅은 타원 그리기 프로그램이다.

엄청나게 간단한 프로그램이지만...


기하와 벡터를 공부하며, 배운 평면도형을 실제로 프로그램으로서 구현해보며,

원하는 평면도형에 대한 방정식을 즉작적으로 알아내는 프로그램이 있다면

평면도형을 더 쉽게 공부할 수 있지 않을까, 하는 생각이 들어

본보기로 타원 그리기 프로그램을 만들어 보았다.


프로그램의 한 장면이다.


원리는 죽도록 간단하다.(사실 이 원리를 떠올리기 위해 고민을 좀 했다.)


우선 타원의 장축과 단축의 길이를 받는다.

이를 통해 타원 방적식을 구해내고, 초점의 좌표 역시 알아낸다.

그리고, 타원의 장축을 N등분하여(이 N이 커질수록 부드러운 타원이 된다.),

각 N등분한 점의 x좌표를 타원 방정식에 대입해 y좌표를 계산해내고, 해당 좌표들을 배열에 담는다.

이렇게 담은 점들을 이어 타원을 그린다.


추가로, 구한 타원 방정식과 초점의 좌표를 타원 우측 상단에서 볼 수 있도록 하였다.

WASD, 방향키, IJKL로 타원의 장축과 단축의 길이를 바꾸고 평행이동 시킬 수 있고, 카메라의 위치를 바꿀 수 있다.


data.win

ellipse.exe



타원 그리기 프로그램을 체험해 볼 수 있다.

두 파일을 모두 받고, ellipse.exe를 실행하면 된다.

Comments