기초 컴퓨터 그래픽스 - 프로그래밍 숙제 3

grmanet 2019.05.08 19:50 조회 수 : 214

기초 컴퓨터 그래픽스 프로그래밍 숙제 3 공지 및 피드백 게시판입니다.

 

자주 확인하셔야 불이익을 받지 않을 수 있습니다.

 

업데이트

--------------------------

05/18

 

Q. 부카메라 토글 키를 어떻게 구현해야 하는건가요?

A. 예를 들어 부카메라 토글 버튼이 각각 'a', 'b', 'c'라고 하면

    'a' 버튼으로 A 부카메라, 'b'버튼으로 B 부카메라 'c' 버튼으로 C 부카메라가

    각각 윈도우의 다른 위치에 토글 되는 식으로 구현하면 됩니다.

 

Q. 움직임의 복잡도를 구현하기 위해 반드시 뉴턴의 운동법칙을 적용해야 하나요?

A. 뉴턴의 운동법칙은 이동경로의 복잡도의 예시로 주어진 것일뿐

    뉴턴의 운동법칙을 반드시 적용해야만 가산점을 받을 수 있는 것은 아닙니다.

 

--------------------------

05/17

 

**수정사항** 

제출 파일 형식 과 메일 제목 HW3_S****** (학번 뒤 6자리) 이 맞음

 

--------------------------

05/16

 

Q. 왼쪽 마우스 버튼을 down 상태에서 Shift 키를 press했을 때 Shift 키 press event를 받아 올 수 없는데 어떻게 하나요?

A. 카메라 줌 인/아웃 시 무조건 Shift 버튼을 먼저 누른 상태에서 마우스 클릭을 한다고 가정하세요.

 

--------------------------

05/13

 

Q. 조건 (a)의 iv에서 말하는 기본물체에 호랑이와 자동차도 포함되나요? 

A. 네. 호랑이, 자동차, 선택한 5개의 물체 - 총 7개의 물체를 포함합니다.

 

Q. 문제에서 말하는 움직임의 복잡도의 기준이 기하변환의 횟수를 말하는건가요?

A. 움짐임의 복잡도는 단순히 기하변환의 횟수라기 보다 이동경로의 복잡성을 말하는 것 입니다.

    (예를 들어 단순히 원점 둘레로 원을 따라 도는 것보다 뉴턴의 운동법칙이 적용되어 있다면 더 복잡한 움직임이라고 할 수 있습니다.)

 

Q. 조건 (a)의 ii에서 '좌우 회전방향에 맞게 바퀴가 회전한다'는 말이 차체가 좌우로 회전한 만큼 바퀴도 그만큼 회전이 되는 것을 말하는 건가요?

A.  네. 자동차가 좌우로 움직일 때 바퀴는 가만히(차체와 평행하게) 있는게 아니라 차체의 방향에 따라 좌우로 움직이는 것을 말합니다. 

 

Q. 주카메라를 제외한 세개의 카메라를 윈도우상에 특정키를 누르면 토글 되는식으로 구현했습니다.

    예를 들어, s를 누르면 부카메라화면이 나타나고 다시 s를 누르면 부카메라 화면이 사라지는 식입니다. 이렇게 구현하면 되나요?

A. 네 토글되는 식으로 구현하시면 됩니다. 원도우는 전체적으로 주 카메라의 뷰윈도우을 보여주고 있고

    토글 키를 누르면 전체 윈도우의 특정 부분에만 해당 뷰윈도우가 토글되는 식으로 구현해주세요.

 

--------------------------

 

[채점 기준]

 

명세서를 보면 각 구현마다 점수가 기재돼 있어 전반적으로 구현 시 해당 점수, 그렇지 않으면 0점

 

이번 과제 역시 readme를 기반으로 채점합니다.

 

각 번호마다 구현 여부 표시 및 채점 받고자 하는 Object가 무엇인지 확실하게 표현해주세요.

예)

2-(a)-i 구현 (O)

         ...

 

2-(b)-ii 구현(X)

         ...

 

readme에서 구핸했다고 표시된 항목에 대해서만 직접 실행할 예정이니, 구현 여부를 반드시 표현해 주세요. 없으면 미구현으로 처리하겠습니다.

 

추가 기능은 따로 항목을 만들어 readme에 기재해주세요. 마찬가지로 없으면 추가기능이 없다고 간주하겠습니다.

 

주의사항 - 지키지 않으면 0점

 

프로젝트 제출 시에 압축을 풀면 바로 실행 가능한 프로젝트여야 합니다. 

 

아래는 과제 1에서 나온 예시로 이번 과제부터 0점 처리합니다.

 

1. cpp만 제출하는 경우 ( 반드시 프로젝트를 압축해서 보내야 합니다. )

 

2. 프로젝트가 Dependent한 경우

header file이나, library들이 third party 형태로 컴퓨터에 독립적 형태.

 프로젝트 설정 -> VC++ 디렉터리 설정에서 포함디렉토리 : $(SolutionDir)Opengl\header, 라이브러리 디렉토리 : $(SolutionDir)OpenGL\lib 가 작성되어 있는지 확인해 아무 컴퓨터에 따로 opengl을 설치하지 않고 실행이 가능해야 함.  

물론 C:\usr\local\OpenGL 경로를 사용하셔도 무방합니다만, 경로가 완전히 일치해야 합니다.

1차 과제에서 감점은 없었지만 usr 대신 Users라던가 , 경로에 컴퓨터 사용자의 이름이 들어가는 경우가 있어 설정을 다시 해주어야 하는 경우가 많았습니다.

 

또한, cpp파일이 SolutionDir이나 ProjectDir에 없고, 아예 폴더 밖에서 가져오는 경우가 있었습니다. 이런 경우도 마찬가지로 0점입니다.

 

3. dll이 빠져있는 경우

즉, 솔루션 프로젝트를 열어서 실행 시, 컴파일 에러 혹은 런타임 에러 발생 시 따로 에러 수정하지 않고 0점 처리합니다.

 

Visual studio version 문제는 예외

 

 

[ 마감 날짜 : 5월 20일 (월) 20:00 ] 지각 최대 2일 (~5/21 20:00 => 30%감점, ~5/22 20:00 60% 감점, 이후 0점)

 

 

[ 구현 외 감점 ]

    - 모든 과제는 Release 모드에서 검사를 할 예정입니다. 따라서 Release모드에서 코드가 동작해야 함.

      (Release 폴더에 dll 파일들이 포함되어 있어야 합니다.)
    
    - 파일 이름 및 메일 형식 오타 시 감점.

 

채점 환경

visual studio 2017

 

마감 날짜 : 2019 5월 20일 오후 8시

 

제출 양식

    - 이메일 제목 : HW3_S****** (학번 뒤 6자리)
    - 파일 압축명 : HW3_S****** (학번 뒤 6자리)

 

양식을 반드시 지켜주세요. (양식을 지키지 않을 경우 -3점)

 

 - S가 빠진 경우.

 - S20xxxxxx 식으로 학번을 8글자로 표현한 경우

 

 

질문 Email : jooyeseul@sogang.ac.kr

제출 Email : dptmfe09@naver.com

 

 

 

## 참고 ##

Gmail로 메일을 보내실 경우 dll 및 exe가 수신 및 발신 제한이 있습니다.

프로젝트 파일에는 해당 파일이 들어가기 때문에 다른 메일을 이용해 주셔야 합니다.

아래 링크를 참고해 주세요. 감사합니다.

https://support.google.com/mail/answer/6590?hl=ko

 

댓글 0

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
 
번호 제목 글쓴이 날짜 조회 수
» 기초 컴퓨터 그래픽스 - 프로그래밍 숙제 3 grmanet 2019.05.08 214
3 기초 컴퓨터 그래픽스 - 중간고사 공지 grmanet 2019.04.16 166
2 기초 컴퓨터 그래픽스 - 프로그래밍 숙제 1 grmanet 2019.04.07 532
1 2019 1학기 기초컴퓨터그래픽스 게시판입니다. grmanet 2019.03.14 224