4230-hw-1/README.md

65 lines
2.2 KiB
Markdown
Raw Normal View History

2022-06-20 05:00:11 +00:00
# CSCE 4230 Computer Graphics
Dr. Doran's in-person hour long commute.
# Program 1
Warm Up
## Problem Statement
2022-06-20 05:00:11 +00:00
Modify the ClickedPoints example as follow:
1. Change the canvas size from 400x400 to 600x400.
2. Change the clearing color (background color) from black to grey level 0.3. That is, use 0.3 for for each of the RGB values.
3. Change the fragment color (point color) from red to yellow (with maximum intensity).
4. Change the point size from 10 to 25.
Submit both your HTML and JS on Canvas. Please do NOT put them in Zip archives or similar.
This shouldn't take very long at all to do, and is really mainly a warm-up exercise.
# Program 2
Play the Chaos Game
### Problem Statement:
Write a WebGL program that implements Michael Barnsley's 'chaos game'. See this link (Links to an external site.) for more information.
Submit your HTML and js files on Canvas
# Program 3
Make a rotating Pendulum
### Problem Statement:
Write a WebGL program that displays a rotating pendulum.
The pendulum bob is free to rotate through 360 degrees about an anchor point at the center of the canvas. The pendulum has the following three components:
1) The anchor point is a green square centered at the origin (0,0), with point size = 5 pixels.
2) The bob is a blue hexagon of radius r=0.1. Render this with a triangle fan centered at the origin (along with a ModelView matrix that translates and rotates).
3) The bob is attached to the anchor point by a rigid red wire of length l=0.8.
Use global variables for the point size of the anchor, the radius of the bob, the length of the wire, and the angular velocity of rotation in degrees per second. Set the initial angular velocity to 45 (degrees per second) and allow an interactive user to increase or decrease the value in multiples of 10 degrees per second with button presses.
2022-07-11 03:27:28 +00:00
Submit your HTML and JS files on Canvas
# Program 4
Orthographic rotating cube
### Problem Statement
Write a WebGL program that displays a cube with colored faces using an orthographic projection. Allow an interactive user to rotate the cube 15 degrees about the x and y axis.
The viewing volume defined by setOrtho should be chosen so that the cube occupies most of the volume but no clipping occurs.