Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.media.j3d.Appearance;
- import javax.media.j3d.BoundingSphere;
- import javax.media.j3d.Bounds;
- import javax.media.j3d.Material;
- import javax.media.j3d.Transform3D;
- import javax.media.j3d.TransformGroup;
- import javax.vecmath.Point3d;
- import javax.vecmath.Vector3f;
- import com.sun.j3d.utils.geometry.Sphere;
- public class CelestialBody extends TransformGroup {
- public Transform3D movement = null;
- public final double timeScale = 0.0001f;
- public final double gravitationalConstant = 6.67384e-11; // m^3 / (kg * s^2)
- public double mass = 1.0f; // kg. Mass should never be 0!!!
- CelestialBody(float posX, float posY, float posZ) {
- // This is set for the dynamic behaviour.
- setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- Transform3D t3d = new Transform3D();
- t3d.setTranslation(new Vector3f(posX, posY, posZ));
- setTransform(t3d);
- setBounds(new BoundingSphere(new Point3d(0.0f, 0.0f, 0.0f), 10000.0f));
- Sphere sphere = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 100, createAppearance());
- addChild(sphere);
- }
- private Appearance createAppearance() {
- Appearance appear = new Appearance();
- Material mat = new Material();
- mat.setShininess(100.0f);
- appear.setMaterial(mat);
- return appear;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement