辅导Moving Planets、讲解Java/c++、讲解Solar System I、CS/Python编程辅导

- 首页 >> Java编程

Computer Graphics, 2018

Assignment 3: Moving Planets (Solar System I)

Submission Due: Nov. 18 (Sun.), 23:59, at i-campus

Figure 1: Nine planets in the solar system.

First, refer to the general instruction for assignments, provided

separately on the course web. If somethings do not meet the general

requirements, you will lose corresponding points or the whole scores

for this assignment.

1. Objective

In the last assignment, you learned how to make a sphere using

triangular approximation. In this assignment, you are expected to

locate many planets (i.e., spheres) in space and move them. To be

more specific, you will learn how to apply transformations for 3D

animation.

2. Mandatory Requirements

If any of what is listed below is missing, you will lose 50 pt for each

(up to 100 pt; equivalent to no submission).

Use your own sphere. You may reuse the result of the last

assignment.

Instancing should be applied for a static vertex buffer. In other

words, you need to use only a single vertex buffer and it should

stay constant.

The animation should be implemented using uniform variables;

do not change the content of your vertex buffers.

The animation should use time stamps/ticks instead of a frame

counter; this makes the speed of your animation consistent

across different machines.

Perspective view should be employed using virtual trackball.

Visualize the planets as done in the last assignment.

3. Requirements

You may start from the last assignment or the “trackball” example

for this assignment.

(20 pt) There should be nine planets (9 instances of spheres):

Sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and

Neptune; Pluto is excluded (see Figure 1 for example).

(40 pt) Eight planets should revolve around the Sun according

to their revolution periods, and nine planets should be selfrotating

according to their rotation periods.

(30 pt) Implement zooming and panning operations of the

camera. Zooming uses both the right button and shift+left

button of a mouse. Likewise, panning uses both the middle

button and ctrl+left button.

Note that you do not have to apply exact scales in size, revolution

radii, and rotation timings; just scale them appropriately.

(a) front view of the moving planets

(b) top view of the moving planets

Figure 2: Example renderings of nine planets.

4. Example Results

The rendering result will be similar as shown in Figure 2.

5. What to Submit

Source, project (or makefile), and executable files (90 pt)

A PDF report file: YOURID-YOURNAME-A3.pdf (10 pt)

Compress all the files into a single archive and rename it as

YOURID-YOURNAME-A3.7z.


站长地图