ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ASCII art로 3d 공간 구현하기
    C&E: career & experience/Experience 2024. 9. 26. 10:17

    컴퓨터 프로그래밍 수업 Cpp 프로젝트의 일환으로 ascii 3d 프로젝트를 진행하였다.

    3d 공간에 큐브, 사각형 그리고 삼각형 등의 입체와 평면들을 생성하고, 생성한 입체를 아스키 아트로 콘솔에 출력하는 것을 목표로 했다. 프로젝트의 소스는 github.com/KMSstudio/ascii3d 에서 볼 수 있다.


     

    프로젝트의 

    사용법은 유튜브 영상 youtu.be/Yqwu8YJYayA에서도 확인할 수 있다.
    프로그램 내에서는 두 가지 window가 존재한다. 하나는 공간의 편집을 위해서, 나머지 하나는 공간을 보여주기 위해 존재한다. 프로그램을 처음 시작시키면, show window가 실행된다.

     

    A. Command window

    이 창에서는 명령어를 이용하여 Space의 속성을 조회하거나, 변경한다. 명령어는 대소문자를 구분하지 않는다.

    Commands
    HELP H 사용할 수 있는 명령어 리스트를 보여줍니다.
    LIST L Camera, Screen 그리고 Object의 속성을 전부 나열합니다.
    CREATE (N) C 새로운 물체를 공간에 추가합니다. N인 인덱스 번호입니다. -1을 입력할 때 비어있는 아무 곳에 물체를 넣습니다.
    ALTER [N] A N 번 인덱스에 있는 물체를 삭제하고 새로운 물체를 만들어 넣습니다.
    DROP [N] D N 번 인덱스에 있는 물체를 삭제합니다.
    QUIT|SHOW Q 현재 Command window를 나가고 화면을 Show window로 전환합니다.
    EXIT|TERM X 프로그램을 종료합니다.

     

    B. Show window

    Show window 창에서는 Space를 ASCII art로 출력한다. 공간을 회전하거나, 카메라를 이동시킬 수 있다. 명령어는 대소문자를 구분하지 않는다.

    Commands
    A 공간을 좌측으로 회전시킵니다.
    W 공간을 위로 회전시킵니다.
    S 공간을 아래로 회전시킵니다.
    D 공간을 우측으로 회전시킵니다.
    L 공간을 시계방향으로 회전시킵니다.
    J 공간을 반시계 방향으로 회전시킵니다.
    I 카메라를 더 가까이 가져갑니다.
    J 카메라를 더 멀리 가져갑니다.
    Q Show window를 종료하고 Command window를 엽니다.
    X 프로그램을 종료합니다.

     

    구체적인 기술 스펙은 하단 파일에 작성되어있다. github의 document에서도 같은 파일을 확인가능하다.

    ascii3d.hwpx
    0.14MB
    ascii3d.pdf
    0.18MB

하면된다 學業報國