diff options
Diffstat (limited to 'src/tesseract')
-rw-r--r-- | src/tesseract/TesseractUI.java | 21 | ||||
-rw-r--r-- | src/tesseract/forces/AirDrag.java | 34 | ||||
-rw-r--r-- | src/tesseract/objects/Icosahedron.java | 2 |
3 files changed, 22 insertions, 35 deletions
diff --git a/src/tesseract/TesseractUI.java b/src/tesseract/TesseractUI.java index bf5bc59..652ec2b 100644 --- a/src/tesseract/TesseractUI.java +++ b/src/tesseract/TesseractUI.java @@ -160,7 +160,7 @@ public class TesseractUI extends JFrame { //World.addObject(new Box(0.18f, 0.1f, 0.25f, new Vector3f(0.1f, -0.10f, 0))); //myWorld.addObject(new Box(0.18f, 0.25f, 0.1f, new Vector3f(-0.1f, 0, 0))); PhysicalObject s = new Sphere(.05f, new Vector3f()); - s.setAngularVelocity(new Vector3f(0, 0, 2)); + s.setAngularVelocity(new Vector3f(0, 0, -2)); myWorld.addObject(s); //myWorld.addObject(o); @@ -296,6 +296,25 @@ public class TesseractUI extends JFrame { }); forcesMenu.add(originQuadradic); + final JMenuItem airDrag = new JCheckBoxMenuItem("Air Drag", false); + originQuadradic.addActionListener(new ActionListener() { + private Force me; + + // Constructor + { + me = new AirDrag(); + } + + public void actionPerformed(ActionEvent e) { + if (((JCheckBoxMenuItem) e.getSource()).isSelected()) { + myWorld.addForce(me); + } else { + myWorld.removeForce(me); + } + } + }); + forcesMenu.add(airDrag); + menuBar.add(forcesMenu); // Add reset Simulator menu item diff --git a/src/tesseract/forces/AirDrag.java b/src/tesseract/forces/AirDrag.java index 43cbfe5..b6f0dbd 100644 --- a/src/tesseract/forces/AirDrag.java +++ b/src/tesseract/forces/AirDrag.java @@ -76,45 +76,13 @@ public class AirDrag extends Force { float force = 0.5f * v.lengthSquared() * COEFFICIENT * surfaceArea; - System.out.println(v.lengthSquared()); - System.out.println(force); - v.normalize(); v.scale(-force); - System.out.println(v); - return new Vector3f(); } - public static void main(String[] args) { - AirDrag ad = new AirDrag(); - - ArrayList<Vector2f> points = new ArrayList<Vector2f>(); - - /*points.add(new Vector2f(2, 1)); - points.add(new Vector2f(2, 3)); - points.add(new Vector2f(3, 4.5f)); - points.add(new Vector2f(4, 2)); - points.add(new Vector2f(4, 7)); - points.add(new Vector2f(1, 2)); - points.add(new Vector2f(1, 5)); - points.add(new Vector2f(1.5f, 7));*/ - - points.add(new Vector2f(0, 0)); - points.add(new Vector2f(0, 3)); - points.add(new Vector2f(3, 3)); - points.add(new Vector2f(3, 0)); - points.add(new Vector2f(1, 2)); - points.add(new Vector2f(0, 1)); - - List<Vector2f> newPoints = ad.convexHull(points); - System.out.println(newPoints); - - System.out.println(ad.areaOfHull(newPoints)); - } - /** * * @param hull vector list. @@ -139,7 +107,7 @@ public class AirDrag extends Force { } /** - * + * Graham's convex hull algorithm from pseudocode on wikipedia. * @param points point list. * @return point list. */ diff --git a/src/tesseract/objects/Icosahedron.java b/src/tesseract/objects/Icosahedron.java index f58db78..67e74a3 100644 --- a/src/tesseract/objects/Icosahedron.java +++ b/src/tesseract/objects/Icosahedron.java @@ -34,7 +34,7 @@ public class Icosahedron extends PhysicalObject { /**
* Default Icosohedran Scale.
*/
- public static final float DEFAULT_SCALE = 0.2f;
+ public static final float DEFAULT_SCALE = 0.1f;
/**
* Vertex count in Icosohedran.
|