From 808e9f2b2ad681137d063d9d7ab362d52a8c37f1 Mon Sep 17 00:00:00 2001 From: Wang Yuyang Date: Tue, 2 Nov 2021 00:44:08 +0800 Subject: [PATCH] first commit --- .idea/vcs.xml | 6 ++++ bin/MainWindow.class | Bin 11685 -> 11075 bytes src/MainWindow.java | 67 ++++++++++--------------------------------- 3 files changed, 21 insertions(+), 52 deletions(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bin/MainWindow.class b/bin/MainWindow.class index 19fd6970f6da35ddcb8ec2d0ff3a07b0e81a5f30..50278cdf51f6263f62f143c6f2b258bb0cdbcbf4 100644 GIT binary patch delta 5395 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 P7iT%`dfFMx6Q2EF`Yro6 delta 6078 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 M#9n4E<_UZMA2>^J{{R30 diff --git a/src/MainWindow.java b/src/MainWindow.java index 16aa61e..efc2d16 100644 --- a/src/MainWindow.java +++ b/src/MainWindow.java @@ -397,71 +397,34 @@ public class MainWindow { float thetaDeg = delta * 360; float posn_x = (float) Math.cos(theta); // same as your circle code in your notes float posn_y = (float) Math.sin(theta); -// System.out.println(posn_x); - OrthoNumber = (int) (1240 + posn_x * 200); //letting the OrthoNumber change when the scene change -// GL11.glLoadIdentity(); -// System.out.println(-posn_x * 5.0f); +// OrthoNumber = (int) (1240 + posn_x * 200); //letting the OrthoNumber change when the scene change - - -// GLU.gluLookAt(0f, -1f, 0f, 0f, 0f, 0f, 1f, 0f, 0f); if (!BadAnimation) { // secMouseX = 600; // secMouseY = 100; - Vector4f v = new Vector4f(-posn_x, -0.5f, -posn_y, 0f); GL11.glTranslatef(secMouseX, secMouseY, 0); + GLU.gluLookAt(2f, -1f, -1f, 0f, 0f, 0f, 0f, 1f, 0f); - Vector4f v1 = new Vector4f(posn_x, 0f, posn_y,0f); - Vector4f v2 = new Vector4f(0f, 1f, 0f,0f); - Vector4f v3 = v1.cross(v2); - v3 = new Vector4f(v3.x, v3.y + 0.3f, v3.z, 0f).Normal(); -// GLU.gluLookAt(v.Normal().x, v.Normal().y, v.Normal().z, 0f, 0f, 0f, 0f, 1f, 0f); - GLU.gluLookAt(-v3.x, -v3.y, -v3.z, 0f, 0f, 0f, 0f, 1f, 0f); //change the look at position +// Vector4f v = new Vector4f(-posn_x, -0.5f, -posn_y, 0f); +// GL11.glTranslatef(secMouseX, secMouseY, 0); +// +// Vector4f v1 = new Vector4f(posn_x, 0f, posn_y,0f); +// Vector4f v2 = new Vector4f(0f, 1f, 0f,0f); +// Vector4f v3 = v1.cross(v2); +// v3 = new Vector4f(v3.x, v3.y + 0.3f, v3.z, 0f).Normal(); +// +// GLU.gluLookAt(-v3.x, -v3.y, -v3.z, 0f, 0f, 0f, 0f, 1f, 0f); //change the look at position } else { -// secMouseX = 600; -// secMouseY = 0; + GL11.glTranslatef(secMouseX, secMouseY, 0); GLU.gluLookAt(2f, -1f, -1f, 0f, 0f, 0f, 0f, 1f, 0f); } -// GL11.glPushMatrix(); -// TexCube MyGrid1 = new TexCube(); -//// GL11.glTranslatef(secMouseX,secMouseY,0); -//// GL11.glTranslatef(600, 270, 0); -// GL11.glScalef(200f, 200f, 200f); -// GL11.glTexParameteri( -// GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, -// GL11.GL_REPEAT); -// GL11.glTexParameteri( -// GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, -// GL11.GL_REPEAT); -// Color.white.bind(); -// textures.get("default_dirt").bind(); -// GL11.glEnable(GL11.GL_TEXTURE_2D); -// GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); -// MyGrid1.DrawTexCube(30f); -// GL11.glDisable(GL11.GL_TEXTURE_2D); -// GL11.glPopMatrix(); - /* - * This code draws a grid to help you view the human models movement - * You may change this code to move the grid around and change its starting angle as you please - */ - if (DRAWGRID) { - GL11.glPushMatrix(); - Grid MyGrid = new Grid(); -// GL11.glTranslatef(secMouseX,secMouseY,0); - GL11.glTranslatef(600, 300, 0); - GL11.glScalef(200f, 200f, 200f); - MyGrid.DrawGrid(); - GL11.glPopMatrix(); - } //Draw a big plain GL11.glPushMatrix(); TexCube MyGrid = new TexCube(); -// GL11.glTranslatef(secMouseX,secMouseY,0); - GL11.glTranslatef(600, 270, 0); GL11.glScalef(8000f, 1f, 8000f); GL11.glTexParameteri( GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, @@ -482,7 +445,7 @@ public class MainWindow { //human obj Human MyHuman = new Human(textures); //init human with textures // GL11.glTranslatef(secMouseX,secMouseY,0); - GL11.glTranslatef(300, 400, 0); + GL11.glTranslatef(0, 130, 0); GL11.glScalef(90f, 90f, 90f); @@ -511,7 +474,7 @@ public class MainWindow { GL11.glPushMatrix(); TexCube cube1 = new TexCube(); // GL11.glTranslatef(secMouseX,secMouseY,0); - GL11.glTranslatef(300, 320, 0); + GL11.glTranslatef(0, 50f, 0); GL11.glScalef(50f, 50f, 50f); Color.white.bind(); textures.get("tnt_side").bind(); @@ -602,7 +565,7 @@ public class MainWindow { GL11.glPushMatrix(); TexCube cube2 = new TexCube(); // GL11.glTranslatef(secMouseX,secMouseY,0); - GL11.glTranslatef(300, 320, 0); + GL11.glTranslatef(0, 50f, 0); // GL11.glTranslatef(0, -2f, 0); GL11.glScalef(50f, 50f, 50f); Color.white.bind();