UMUC Asia - CMSC405 - Computer Graphics
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
** Week 1 Participation Topic 1 [#ic60457c]
- Question
As mentioned in Chapter 1, computer graphics are used in ...
- Answer
Entertainment is my favorite field. Especially, computer ...
A few years ago, I first used Blender which is an open-so...
These works show not only excellent modeling and animatio...
** Week 1 Participation Topic 2 [#gfb48ab5]
- Question
Using your computer graphics display, provide its current...
- Answer
#ref(CMSC405_W1_P2_1.png,,65%)
Aspect Ratio = 1280 : 800 = 8 : 5~
Frame Buffer Size = (1280 * 800 * 32) / {8 * (1,024 * 1,0...
Actually, I couldn't find the screen refresh rate on buil...
#ref(CMSC405_W1_P2_2.png,,65%)
By looking on the Internet, it seems to be not changeable...
#ref(CMSC405_W1_P2_3.png,,80%)
** Week 1 Participation Topic 3 [#q9e0c3a2]
- Question
Pick an input device listed in chapter 2 (section 2-4) th...
- Answer
''Digitizers'': According to the text (pp.28-29), digitiz...
I have never used any digitizers, but I actually found tw...
According to them, Wacom is the strongest in graphics tab...
[[Bamboo Create:http://www.wacom.com/~/media/WTC/Images/P...
[[Intuos5 touch Medium:http://www.wacom.com/~/media/WTC/I...
** Week 1 Formulas [#d71b6d9a]
- %%Frame Buffer Size (bits) = Max VGA (X * Y) * Color de...
- %%Frame Buffer Size (bytes) = Max VGA (X * Y) * Color ...
- %%Frame Buffer Size (kilobytes) = Max VGA (X * Y) * Co...
- %%Frame Buffer Size (megabytes) = Max VGA (X * Y) * Co...
- %%Frame Buffer Load Time (seconds) = Max VGA (X * Y) * ...
- [Memory Bandwidth in GB/s] = [Graphics Card Process Spe...
- [Frame buffer load time in millisecond] = ([Vertical re...
- [Frame buffer size in bytes] = [Vertical resolution] x ...
** Week 1 Homework [#xac11dfa]
#ref(CMSC405_Week1_Homework.pdf)
** Week 2 Participation Topic 1 [#d13b8dbc]
- Question
Conduct some research on the web to find a current exampl...
- Answer
I chose LightWave 3D, a rival product of Autodesk Maya an...
[[LightWave:https://www.lightwave3d.com/]]~
[[New Tek, Inc.:http://www.newtek.com/]]
Here are examples of work made by LightWave from LightWav...
[[Winter:https://www.lightwave3d.com/static/media/uploads...
[[MS-06S ZAKU II:https://www.lightwave3d.com/static/media...
[[Eugene:https://www.lightwave3d.com/static/media/uploads...
[[Island:https://www.lightwave3d.com/static/media/uploads...
[[VAD Avatar Jungle:https://www.lightwave3d.com/static/me...
** Week 2 Participation Topic 2 [#i3660ec5]
- Question
After you have successfully installed and configured your...
(http://www.opengl.org/archives/resources/code/samples/re...
Then take one of the examples and modify the code slightl...
Here is another link that should provide the same resourc...
http://www.sgi.com/products/software/opengl/examples/redb...
- Answer
I chose picksquare.c. This program shows a 3x3 grid of sq...
Here is an original function.
#ref(glColor3f_3.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/3.0, (GLfloat) j/3.0,
(GLfloat) board[i][j]/3.0);
..........
}
Here are modified ones.
#ref(glColor3f_2.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/2.0, (GLfloat) j/2.0,
(GLfloat) board[i][j]/2.0);
..........
}
#ref(glColor3f_5.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/5.0, (GLfloat) j/5.0,
(GLfloat) board[i][j]/5.0);
..........
}
** Week 2 Questions and Comments [#a95691b3]
- My question
Do you have a recommendation for setting up an OpenGL env...
Actually, I am thinking to use XCode including gcc itself...
- Professor's answer
Thanks. I don't have a recent version of the MAC O/S up a...
I have also heard from other MAC users that the process o...
Try those code examples from the red book (and my other e...
Jimmy
** Week 2 Homework [#zb98f6e0]
#ref(CMSC405_yujishimojohw2.pdf)
#ref(CMSC405_yujishimojohw2_corrected.pdf)
** Week 2 Homework #1 [#xc5595a2]
- Question
Calculate the plane coefficients (A,B,C and D) of 3 poin...
P1 = (10,-20,40);~
P2 = (30,3,18);~
P3 = (-5,-10,25);~
P4 = (-10,12,-19);~
Be sure to show your work. Explain why determining if Poi...
- Answer
A= y1 (z2– z3) + y2 (z3– z1) + y3 (z1– ...
= -20*(18-25) + 3*(25-40) + (-10)*(40-18)~
= -20*(-7) + 3*(-15) + (-10)*22 = 140 -45 – 220~
= -125
B= z1 (x2 – x3) + z2 (x3 – x1) + z3 (x1 ̵...
= 40(30 - (-5)) + 18(-5 - 10) + 25(10-30)~
= 40*35 + 18*(-15) + 25*(-20)~
= 1400 - 270 - 500 = 630
C= x1 (y2 – y3) + x2 (y3 – y1) + x3 (y1 ̵...
= 10(3 - (-10)) + 30(-10 - (-20)) + (-5) (-20 - 3)~
= 10*13 + 30*10 + (-5)*(-23) = 130 + 300 + 115~
= 545
D=-x1 (y2 z3 – y3 z2) - x2 (y3 z1 – y1 z3) -x...
= -10*(3*25 - (-10)*18) -30*(-10*40 – (-20)*25) - (...
= -10*(75 + 180) -30*(-400 + 500) - (-5)*(-360 - 120)~
= -10*255 -30*100 – (-5)*(-480)~
= -2550 -3000 -2400~
= -7950
For Point P4:~
Ax + By + Cz + D~
= -125*(-10) + 630*12 + 545*(-19) + (-7950)~
= 1250 + 7560 – 10355 – 7950 = -9495~
Since -9495<0 P4 is behind the plane.
** Week 2 Homework #3 [#c534aeb7]
- GitHub Repository: https://github.com/yujishimojo/CMSC4...
-- CMSC405_HW2.cpp
** Week 3 Participation Topic 1 [#b66490a4]
- Question
Using the boundaryFill4 algorithm shown on page 178, modi...
struct myColor{
float red, green, blue;
};
void setPixel (GLint xPos, GLint yPos, myColor myc)
{
glBegin (GL_POINTS);
glColor3f (myc.red, myc.green, myc.blue);
glVertex2i(xPos, yPos);
glEnd();
glFlush();
}
myColor getPixel(int x, int y){ // get...
myColor c;
glReadPixels(x,y,1,1,GL_RGBA, GL_FLOAT, (void *)colo...
c.red = color[0];
c.green = color[1];
c.blue = color[2];
return c;
}
- Answer
Recursive processing can cause deadlocks especially in mu...
** Week 3 Participation 2 [#jd558e23]
- Question
What is aliasing in terms of computer graphics or image p...
- Answer
In the terms of computer graphics, aliasing, also known a...
The video below gives a simple comparison among non anti-...
NVIDIA FXAA Overview and Comparison
http://www.youtube.com/watch?v=qmeNz0NTvFQ
** Week 3 Homework [#uad4d26f]
#ref(CMSC405_yujishimojohw3.pdf)
** Week 3 Homework #1 [#sb034167]
- Question
Given the 2 end points shown on the graph below, determin...
- Answer
''Slope:''~
P1 = (3, -10) and P2 = (6, 4);~
m = (4-(-10))/(6-3) = 14/3;~
''y-intercept:''~
b = -10-14/3*3 = -14+10 = -24;~
''Slope intercept form:''~
y = 14/3x-24~
''Additional point:''~
for x = 9:~
y = 14/3*9-24 = 18;~
P3 = (9, 18);
** Week 3 Homework #2 [#w3d1a415]
- Question
Using Visual C++ and your OpenGL configured environment, ...
** Week 3 Homework #3 [#ab99aecd]
- Question
Using Visual C++ and your OpenGL configured environment, ...
~
860 174.4~
890 91.9~
920 -0.4~
~
Label the trajectories corresponding to the planets selec...
** Week 4 Participation 1 [#oc780257]
- Question
Modify the 2D composite programming example on pages 212-...
- Answer
#ref(Week4_P1.png,,50%)
/* Shape */
void polygon (wcPt2D *verts)
{
GLint k;
glBegin (GL_QUADS);
for (k = 0; k < 4; k++)
glVertex2f(verts [k].x, verts [k].y);
glEnd();
}
/* Initial position */
GLint nVerts = 4;
wcPt2D verts [4] = { {25.0, 75.0}, {75.0, 75.0}, {25...
/* Centroid */
GLint k, xSum = 50, ySum = 50;
for (k =0; k < nVerts; k++) {
xSum += verts [k].x;
ySum += verts [k].y;
}
centroidPt.x = GLfloat (xSum) / GLfloat (nVerts);
centroidPt.y = GLfloat (ySum) / GLfloat (nVerts);
/* Transformation parameters */
GLfloat tx = 50.0, ty = 100.0;
GLfloat sx = 1.5, sy = 1.5;
GLdouble theta = pi/1.5;
** Week 4 Participation 2 [#n0428184]
- Question
Given points p1={10,10} and p2={30,10}, show the transfor...
- Answer
Shear value = -50
Matrix:
#ref(Week4_P2.png)
p1 = {10, 10}
x' = 10 + (-50) * 10 = -490
y' = 10
p1' = {-490, 10}
p2 = {30, 10}
x' = 30 + (-50) * 10 = -470
y' = 10
p2' = {-470, 10}
** Week 4 Participation 3 [#ce04ffd5]
- Question
Provide the 4x4 matrices in row,column format for a set o...
- Answer
30 degree rotation in x direction:
#ref(W4_P3_X_Rotation.png)
30 degree rotation in y direction:
#ref(W4_P3_Y_Rotation.png)
30 degree rotation in z direction:
#ref(W4_P3_Z_Rotation.png)
Translation of 50 in x direction and -100 in y direction:
#ref(W4_P3_Translation.png)
Scaling of 1.5 in both the x and y directions:
#ref(W4_P3_Scaling.png)
** Week 4 Formulas [#h4ab70b1]
- Shear:
#ref(shear_formula.png)
- 2D Translation Matrix:
#ref(2D_translation_matrix_formula.png)
- 2D Rotation Matrix:
#ref(2D_rotation_matrix_formula.png)
- 2D Scaling Matrix:
#ref(2D_scaling_matrix_formula.png)
- 3D Translation Matrix:
#ref(3D_translation_matrix_formula.png)
- 3D X-axis Rotation Matrix:
#ref(3D_xrotation_matrix_formula.png)
- 3D Y-axis Rotation Matrix:
#ref(3D_yrotation_matrix_formula.png)
- 3D Z-axis Rotation Matrix:
#ref(3D_zrotation_matrix_formula.png)
- 3D Scaling Matrix:
#ref(3D_scaling_matrix_formula.png)
** Week 4 Homework [#g653a926]
#ref(CMSC405_yujishimojohw4.pdf)
** Week 5 Homework [#da2287f5]
#ref(CMSC405_yujishimojohw5.pdf)
** Week 6 Homework [#v9875d66]
#ref(CMSC405_yujishimojohw6.pdf)
** Week 8 FinalProject [#e468edd0]
#ref(CMSC405_yujishimojofinalproject.pdf)
- GitHub Repository: https://github.com/yujishimojo/CMSC4...
-- CMSC405_FinalProject.cpp
- YouTube Video: [[My OpenGL/C++ project - 3D Mabuyer:htt...
** Websites [#sc437f06]
- [[OpenGL Programming Guide for Mac:https://developer.ap...
- [[SGI Redbook Examples:http://www.sgi.com/products/soft...
- [[OpenGL.org Code Resources:http://www.opengl.org/wiki/...
- [[OpenGL.org:http://www.opengl.org/]]
- [[OpenGL 2.1 Reference Pages:http://www.opengl.org/sdk/...
終了行:
#contents
** Week 1 Participation Topic 1 [#ic60457c]
- Question
As mentioned in Chapter 1, computer graphics are used in ...
- Answer
Entertainment is my favorite field. Especially, computer ...
A few years ago, I first used Blender which is an open-so...
These works show not only excellent modeling and animatio...
** Week 1 Participation Topic 2 [#gfb48ab5]
- Question
Using your computer graphics display, provide its current...
- Answer
#ref(CMSC405_W1_P2_1.png,,65%)
Aspect Ratio = 1280 : 800 = 8 : 5~
Frame Buffer Size = (1280 * 800 * 32) / {8 * (1,024 * 1,0...
Actually, I couldn't find the screen refresh rate on buil...
#ref(CMSC405_W1_P2_2.png,,65%)
By looking on the Internet, it seems to be not changeable...
#ref(CMSC405_W1_P2_3.png,,80%)
** Week 1 Participation Topic 3 [#q9e0c3a2]
- Question
Pick an input device listed in chapter 2 (section 2-4) th...
- Answer
''Digitizers'': According to the text (pp.28-29), digitiz...
I have never used any digitizers, but I actually found tw...
According to them, Wacom is the strongest in graphics tab...
[[Bamboo Create:http://www.wacom.com/~/media/WTC/Images/P...
[[Intuos5 touch Medium:http://www.wacom.com/~/media/WTC/I...
** Week 1 Formulas [#d71b6d9a]
- %%Frame Buffer Size (bits) = Max VGA (X * Y) * Color de...
- %%Frame Buffer Size (bytes) = Max VGA (X * Y) * Color ...
- %%Frame Buffer Size (kilobytes) = Max VGA (X * Y) * Co...
- %%Frame Buffer Size (megabytes) = Max VGA (X * Y) * Co...
- %%Frame Buffer Load Time (seconds) = Max VGA (X * Y) * ...
- [Memory Bandwidth in GB/s] = [Graphics Card Process Spe...
- [Frame buffer load time in millisecond] = ([Vertical re...
- [Frame buffer size in bytes] = [Vertical resolution] x ...
** Week 1 Homework [#xac11dfa]
#ref(CMSC405_Week1_Homework.pdf)
** Week 2 Participation Topic 1 [#d13b8dbc]
- Question
Conduct some research on the web to find a current exampl...
- Answer
I chose LightWave 3D, a rival product of Autodesk Maya an...
[[LightWave:https://www.lightwave3d.com/]]~
[[New Tek, Inc.:http://www.newtek.com/]]
Here are examples of work made by LightWave from LightWav...
[[Winter:https://www.lightwave3d.com/static/media/uploads...
[[MS-06S ZAKU II:https://www.lightwave3d.com/static/media...
[[Eugene:https://www.lightwave3d.com/static/media/uploads...
[[Island:https://www.lightwave3d.com/static/media/uploads...
[[VAD Avatar Jungle:https://www.lightwave3d.com/static/me...
** Week 2 Participation Topic 2 [#i3660ec5]
- Question
After you have successfully installed and configured your...
(http://www.opengl.org/archives/resources/code/samples/re...
Then take one of the examples and modify the code slightl...
Here is another link that should provide the same resourc...
http://www.sgi.com/products/software/opengl/examples/redb...
- Answer
I chose picksquare.c. This program shows a 3x3 grid of sq...
Here is an original function.
#ref(glColor3f_3.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/3.0, (GLfloat) j/3.0,
(GLfloat) board[i][j]/3.0);
..........
}
Here are modified ones.
#ref(glColor3f_2.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/2.0, (GLfloat) j/2.0,
(GLfloat) board[i][j]/2.0);
..........
}
#ref(glColor3f_5.0.png)
void drawSquares(GLenum mode)
{
..........
glColor3f ((GLfloat) i/5.0, (GLfloat) j/5.0,
(GLfloat) board[i][j]/5.0);
..........
}
** Week 2 Questions and Comments [#a95691b3]
- My question
Do you have a recommendation for setting up an OpenGL env...
Actually, I am thinking to use XCode including gcc itself...
- Professor's answer
Thanks. I don't have a recent version of the MAC O/S up a...
I have also heard from other MAC users that the process o...
Try those code examples from the red book (and my other e...
Jimmy
** Week 2 Homework [#zb98f6e0]
#ref(CMSC405_yujishimojohw2.pdf)
#ref(CMSC405_yujishimojohw2_corrected.pdf)
** Week 2 Homework #1 [#xc5595a2]
- Question
Calculate the plane coefficients (A,B,C and D) of 3 poin...
P1 = (10,-20,40);~
P2 = (30,3,18);~
P3 = (-5,-10,25);~
P4 = (-10,12,-19);~
Be sure to show your work. Explain why determining if Poi...
- Answer
A= y1 (z2– z3) + y2 (z3– z1) + y3 (z1– ...
= -20*(18-25) + 3*(25-40) + (-10)*(40-18)~
= -20*(-7) + 3*(-15) + (-10)*22 = 140 -45 – 220~
= -125
B= z1 (x2 – x3) + z2 (x3 – x1) + z3 (x1 ̵...
= 40(30 - (-5)) + 18(-5 - 10) + 25(10-30)~
= 40*35 + 18*(-15) + 25*(-20)~
= 1400 - 270 - 500 = 630
C= x1 (y2 – y3) + x2 (y3 – y1) + x3 (y1 ̵...
= 10(3 - (-10)) + 30(-10 - (-20)) + (-5) (-20 - 3)~
= 10*13 + 30*10 + (-5)*(-23) = 130 + 300 + 115~
= 545
D=-x1 (y2 z3 – y3 z2) - x2 (y3 z1 – y1 z3) -x...
= -10*(3*25 - (-10)*18) -30*(-10*40 – (-20)*25) - (...
= -10*(75 + 180) -30*(-400 + 500) - (-5)*(-360 - 120)~
= -10*255 -30*100 – (-5)*(-480)~
= -2550 -3000 -2400~
= -7950
For Point P4:~
Ax + By + Cz + D~
= -125*(-10) + 630*12 + 545*(-19) + (-7950)~
= 1250 + 7560 – 10355 – 7950 = -9495~
Since -9495<0 P4 is behind the plane.
** Week 2 Homework #3 [#c534aeb7]
- GitHub Repository: https://github.com/yujishimojo/CMSC4...
-- CMSC405_HW2.cpp
** Week 3 Participation Topic 1 [#b66490a4]
- Question
Using the boundaryFill4 algorithm shown on page 178, modi...
struct myColor{
float red, green, blue;
};
void setPixel (GLint xPos, GLint yPos, myColor myc)
{
glBegin (GL_POINTS);
glColor3f (myc.red, myc.green, myc.blue);
glVertex2i(xPos, yPos);
glEnd();
glFlush();
}
myColor getPixel(int x, int y){ // get...
myColor c;
glReadPixels(x,y,1,1,GL_RGBA, GL_FLOAT, (void *)colo...
c.red = color[0];
c.green = color[1];
c.blue = color[2];
return c;
}
- Answer
Recursive processing can cause deadlocks especially in mu...
** Week 3 Participation 2 [#jd558e23]
- Question
What is aliasing in terms of computer graphics or image p...
- Answer
In the terms of computer graphics, aliasing, also known a...
The video below gives a simple comparison among non anti-...
NVIDIA FXAA Overview and Comparison
http://www.youtube.com/watch?v=qmeNz0NTvFQ
** Week 3 Homework [#uad4d26f]
#ref(CMSC405_yujishimojohw3.pdf)
** Week 3 Homework #1 [#sb034167]
- Question
Given the 2 end points shown on the graph below, determin...
- Answer
''Slope:''~
P1 = (3, -10) and P2 = (6, 4);~
m = (4-(-10))/(6-3) = 14/3;~
''y-intercept:''~
b = -10-14/3*3 = -14+10 = -24;~
''Slope intercept form:''~
y = 14/3x-24~
''Additional point:''~
for x = 9:~
y = 14/3*9-24 = 18;~
P3 = (9, 18);
** Week 3 Homework #2 [#w3d1a415]
- Question
Using Visual C++ and your OpenGL configured environment, ...
** Week 3 Homework #3 [#ab99aecd]
- Question
Using Visual C++ and your OpenGL configured environment, ...
~
860 174.4~
890 91.9~
920 -0.4~
~
Label the trajectories corresponding to the planets selec...
** Week 4 Participation 1 [#oc780257]
- Question
Modify the 2D composite programming example on pages 212-...
- Answer
#ref(Week4_P1.png,,50%)
/* Shape */
void polygon (wcPt2D *verts)
{
GLint k;
glBegin (GL_QUADS);
for (k = 0; k < 4; k++)
glVertex2f(verts [k].x, verts [k].y);
glEnd();
}
/* Initial position */
GLint nVerts = 4;
wcPt2D verts [4] = { {25.0, 75.0}, {75.0, 75.0}, {25...
/* Centroid */
GLint k, xSum = 50, ySum = 50;
for (k =0; k < nVerts; k++) {
xSum += verts [k].x;
ySum += verts [k].y;
}
centroidPt.x = GLfloat (xSum) / GLfloat (nVerts);
centroidPt.y = GLfloat (ySum) / GLfloat (nVerts);
/* Transformation parameters */
GLfloat tx = 50.0, ty = 100.0;
GLfloat sx = 1.5, sy = 1.5;
GLdouble theta = pi/1.5;
** Week 4 Participation 2 [#n0428184]
- Question
Given points p1={10,10} and p2={30,10}, show the transfor...
- Answer
Shear value = -50
Matrix:
#ref(Week4_P2.png)
p1 = {10, 10}
x' = 10 + (-50) * 10 = -490
y' = 10
p1' = {-490, 10}
p2 = {30, 10}
x' = 30 + (-50) * 10 = -470
y' = 10
p2' = {-470, 10}
** Week 4 Participation 3 [#ce04ffd5]
- Question
Provide the 4x4 matrices in row,column format for a set o...
- Answer
30 degree rotation in x direction:
#ref(W4_P3_X_Rotation.png)
30 degree rotation in y direction:
#ref(W4_P3_Y_Rotation.png)
30 degree rotation in z direction:
#ref(W4_P3_Z_Rotation.png)
Translation of 50 in x direction and -100 in y direction:
#ref(W4_P3_Translation.png)
Scaling of 1.5 in both the x and y directions:
#ref(W4_P3_Scaling.png)
** Week 4 Formulas [#h4ab70b1]
- Shear:
#ref(shear_formula.png)
- 2D Translation Matrix:
#ref(2D_translation_matrix_formula.png)
- 2D Rotation Matrix:
#ref(2D_rotation_matrix_formula.png)
- 2D Scaling Matrix:
#ref(2D_scaling_matrix_formula.png)
- 3D Translation Matrix:
#ref(3D_translation_matrix_formula.png)
- 3D X-axis Rotation Matrix:
#ref(3D_xrotation_matrix_formula.png)
- 3D Y-axis Rotation Matrix:
#ref(3D_yrotation_matrix_formula.png)
- 3D Z-axis Rotation Matrix:
#ref(3D_zrotation_matrix_formula.png)
- 3D Scaling Matrix:
#ref(3D_scaling_matrix_formula.png)
** Week 4 Homework [#g653a926]
#ref(CMSC405_yujishimojohw4.pdf)
** Week 5 Homework [#da2287f5]
#ref(CMSC405_yujishimojohw5.pdf)
** Week 6 Homework [#v9875d66]
#ref(CMSC405_yujishimojohw6.pdf)
** Week 8 FinalProject [#e468edd0]
#ref(CMSC405_yujishimojofinalproject.pdf)
- GitHub Repository: https://github.com/yujishimojo/CMSC4...
-- CMSC405_FinalProject.cpp
- YouTube Video: [[My OpenGL/C++ project - 3D Mabuyer:htt...
** Websites [#sc437f06]
- [[OpenGL Programming Guide for Mac:https://developer.ap...
- [[SGI Redbook Examples:http://www.sgi.com/products/soft...
- [[OpenGL.org Code Resources:http://www.opengl.org/wiki/...
- [[OpenGL.org:http://www.opengl.org/]]
- [[OpenGL 2.1 Reference Pages:http://www.opengl.org/sdk/...
ページ名: