Due in class Oct 4 2007
- Assume that you have a model coordinate space with corners
(100,200) and (1100,2200). You wish to map points in it to a
window with corners (0,0) and (1,1). (600,1150) should map
to (0.5,0.5). X and Y should scale the same. Compute what
the transformations for X and Y should be, in this form:
X' = s X + dx
Y' = s Y + dy I.e., tell me what s, dx, and dy are. - Here are 2 points: (1,2) and (3,7). What is the vector from the first to the second point?
- Here are two parametric lines:
P = (4,0) + a (1,0)
Q = (1,3) + b (0,2) a and b are parameters. Where do the 2 lines intersect? Give the point and the 2 parameters (a and b). - Here are 3 points on a plane: (0,0,0), (1,1,1), (5,3,2). Give a parametric equation for that plane.
- Compute a normal vector to that plane.
- Here is a plane equation: P = (2,2,3) + a(0,1,0) + b(1,1,0). a and b are parameters. Here is a line equation: Q = (0,1,2)+c(0,1,1). c is a parameter. Where do the line and the plane intersect? Give the point and the 3 parameter values.
- Here are 3 vertices of a 2-D triangle: A(1,0), B(2,1),
C(1,3). A parametric equation for points in the triangle ABC
is this: P = aA + bB + cC. a, b, and c are
parameters. a+b+c=1. a>=0. b>=0. c>=0.
Find the values of a,b,c for these points:
- A
- the midpoint of BC
- the centroid of ABC
- Curtis Priem is an RPI grad who founded NVIDIA and who is
now on RPI's Board of Trustees. He has been a generous
benefactor of RPI. He has about 200 patents worldwide.
- Check the subjects of Priem's US patents, and briefly comment on the distribution of patents by subject.
- Pick a graphics-related patent, and summarize it in 100 words or so. Use your words; don't just copy the patent.
- Write a simple interactive OpenGL program to demonstrate
affine transformations as follows.
- Draw some simple 3D object, perhaps one of the builtin glut ones, like a torus, using the default view.
- Transform the object slightly whenever the user types a
key, as follows:
With this many cases, I encourage you think of some efficient technique to reduce the number of lines of code you have to write and to make it easier to add or change cases.Key Operation a Translate left by .1 b Translate right by .1 c Translate down by .1 d Translate up by .1 e Translate nearer by .1 f Translate farther by .1 g Scale in x by 2/3 h Scale in x by 3/2 i Scale in y by 2/3 j Scale in y by 3/2 k Scale in z by 2/3 l Scale in z by 3/2 m Rotate around the x axis by 30o n Rotate around the x axis by -30o o Rotate around the y axis by 30o p Rotate around the y axis by -30o q Rotate around the z axis by 30o r Rotate around the z axis by -30o - Demonstrate your program in the lab on your laptop.