Difference between revisions of "Render Part A Assignment"
Jump to navigation
Jump to search
Line 48: | Line 48: | ||
===Ellipse=== | ===Ellipse=== | ||
+ | Note: to produce the reference images I used | ||
+ | |||
+ | <nowiki> slice_count = 32 | ||
+ | delta_theta = (2*Math::PI) /slice_count</nowiki> | ||
+ | |||
[[File:Render_ellipse.png]] | [[File:Render_ellipse.png]] | ||
Revision as of 08:11, 22 November 2020
Contents
OpenGL
GLUT
Code to Investigate
Cavalcade of Graphics
ruby/examples/cavalcade_of_graphics.rb
Code to Implement
Components
Each of the renderable components has its own file in the ruby/render/assignment directory.
Equilateral Triangle
The triangle should be equilateral, with the origin at the center of mass.
The height is side_length * sqrt(3)/2
The center of mass is one third from the bottom.
Rectangle
Ellipse
Note: to produce the reference images I used
slice_count = 32 delta_theta = (2*Math::PI) /slice_count
Chord
Image
Text
Bézier Curve
Point2
To support Bézier curves you will want to implement Point in point2.rb. You may wish to use Ruby's convenient Struct construct.
You should be able to construct a Point2 with an x and a y and be able to access those values.
Component
Quadratic (Second Order) Curve: | ||
Quadratic (Third Order) Curve: | ||
Fourth Order Curve: |
Testing Your Solution
Visual Comparison
ruby/render/part_a_test/part_a_test_snapshots_web_page_generator.rb