辅导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.