Android Open Source - min3d Example Rotating Planets






From Project

Back to project page min3d.

License

The source code is released under:

MIT License

If you think the Android project min3d listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.min3d;
//from   ww  w  . j  a va  2  s.  c  o m
import android.graphics.Bitmap;

import com.min3d.lib.Shared;
import com.min3d.lib.Utils;
import com.min3d.lib.core.Object3dContainer;
import com.min3d.lib.core.RendererActivity;
import com.min3d.lib.objectPrimitives.Sphere;
import com.min3d.lib.vos.Light;

/**
 * This is the "demo" example.
 * It shows how to add children to Object3dContainers.  
 * 
 * If you're familiar with Flash, this is similar to adding DisplayObjects to the displaylist.
 * 
 * If you're familiar with Papervision3D or Away3D for Flash, this is similar to using 
 * DisplayObject3D's or Object3D's to the Scene.
 * 
 * @author Lee
 */
public class ExampleRotatingPlanets extends RendererActivity
{
  Object3dContainer _jupiter;
  Object3dContainer _earth;
  Object3dContainer _moon;
  int _count;
  
  public void initScene() 
  {
    Light light = new Light();
    
    light.ambient.setAll((short)64, (short)64, (short)64, (short)255);
    light.position.setAll(3, 3, 3);
    scene.lights().add(light);
    
    // Add Jupiter to scene
    _jupiter = new Sphere(0.8f, 15, 10, true,true,false);
    scene.addChild(_jupiter);

    // Add Earth as a child of Jupiter
    _earth = new Sphere(0.4f, 12, 9, true,true,false);
    _earth.position().x = 1.6f;
    _earth.rotation().x = 23;
    _jupiter.addChild(_earth);
 
    // Add the Moon as a child of Earth
    _moon = new Sphere(0.2f, 10, 8,  true,true,false);
    _moon.position().x = 0.6f;
    _earth.addChild(_moon);

    // Add textures to TextureManager    
    Bitmap b = Utils.makeBitmapFromResourceId(this, R.drawable.jupiter);
    Shared.textureManager().addTextureId(b, "jupiter", false);
    b.recycle();

    b = Utils.makeBitmapFromResourceId(this, R.drawable.earth);
    Shared.textureManager().addTextureId(b, "earth", false);
    b.recycle();
      
    b = Utils.makeBitmapFromResourceId(this, R.drawable.moon);
    Shared.textureManager().addTextureId(b, "moon", false);
    b.recycle();

    // Add textures to objects based on on the id's we assigned the textures in the texture manager
    _jupiter.textures().addById("jupiter");
    _earth.textures().addById("earth");
    _moon.textures().addById("moon");
    
    _count = 0;
  }
  
  @Override 
  public void updateScene() 
  {
    // Spin spheres
    _jupiter.rotation().y += 1.0f;
    _earth.rotation().y += 3.0f;
    _moon.rotation().y -= 12.0f;
    
    // Wobble Jupiter a little just for fun 
    _count++;
    float mag = (float)(Math.sin(_count*0.2*Utils.DEG)) * 15;
    _jupiter.rotation().z = (float)Math.sin(_count*.33*Utils.DEG) * mag;
    
    // Move camera around
    scene.camera().position.z = 4.5f + (float)Math.sin(_jupiter.rotation().y * Utils.DEG);
    scene.camera().target.x = (float)Math.sin((_jupiter.rotation().y + 90) * Utils.DEG) * 0.8f;
  }
}




Java Source Code List

com.min3d.ApplicationTest.java
com.min3d.ExampleAccelerometer.java
com.min3d.ExampleAnimatedTexture.java
com.min3d.ExampleAnimatingVertices.java
com.min3d.ExampleAssigningTexturesDynamically.java
com.min3d.ExampleCamera.java
com.min3d.ExampleFog.java
com.min3d.ExampleFromScratch.java
com.min3d.ExampleInsideLayout.java
com.min3d.ExampleKeyframeAnimation.java
com.min3d.ExampleLightProperties.java
com.min3d.ExampleLoad3DSFile.java
com.min3d.ExampleLoadMD2File.java
com.min3d.ExampleLoadObjFileMultiple.java
com.min3d.ExampleLoadObjFile.java
com.min3d.ExampleMipMap.java
com.min3d.ExampleMostMinimal.java
com.min3d.ExampleMultiTexture.java
com.min3d.ExampleMultipleLights.java
com.min3d.ExampleRenderType.java
com.min3d.ExampleRotatingPlanets.java
com.min3d.ExampleSubsetOfFaces.java
com.min3d.ExampleTextureOffset.java
com.min3d.ExampleTextureWrap.java
com.min3d.ExampleTextures.java
com.min3d.ExampleTransparentGlSurface.java
com.min3d.ExampleVertexColors.java
com.min3d.ExampleVerticesVariations.java
com.min3d.ScratchActivity.java
com.min3d.SplashActivity.java
com.min3d.lib.AParser.java
com.min3d.lib.ApplicationTest.java
com.min3d.lib.IParser.java
com.min3d.lib.LittleEndianDataInputStream.java
com.min3d.lib.MD2Parser.java
com.min3d.lib.Max3DSParser.java
com.min3d.lib.Min3d.java
com.min3d.lib.ObjParser.java
com.min3d.lib.ParseObjectData.java
com.min3d.lib.ParseObjectFace.java
com.min3d.lib.Parser.java
com.min3d.lib.Shared.java
com.min3d.lib.Utils.java
com.min3d.lib.animation.AnimationObject3d.java
com.min3d.lib.animation.KeyFrame.java
com.min3d.lib.core.Color4BufferList.java
com.min3d.lib.core.FacesBufferedList.java
com.min3d.lib.core.ManagedLightList.java
com.min3d.lib.core.Number3dBufferList.java
com.min3d.lib.core.Object3dContainer.java
com.min3d.lib.core.Object3d.java
com.min3d.lib.core.RenderCaps.java
com.min3d.lib.core.RendererActivity.java
com.min3d.lib.core.Renderer.java
com.min3d.lib.core.Scene.java
com.min3d.lib.core.TextureList.java
com.min3d.lib.core.TextureManager.java
com.min3d.lib.core.UvBufferList.java
com.min3d.lib.core.Vertices.java
com.min3d.lib.interfaces.IDirtyManaged.java
com.min3d.lib.interfaces.IDirtyParent.java
com.min3d.lib.interfaces.IObject3dContainer.java
com.min3d.lib.interfaces.ISceneController.java
com.min3d.lib.objectPrimitives.Box.java
com.min3d.lib.objectPrimitives.HollowCylinder.java
com.min3d.lib.objectPrimitives.Rectangle.java
com.min3d.lib.objectPrimitives.SkyBox.java
com.min3d.lib.objectPrimitives.Sphere.java
com.min3d.lib.objectPrimitives.Torus.java
com.min3d.lib.vos.AbstractDirtyManaged.java
com.min3d.lib.vos.BooleanManaged.java
com.min3d.lib.vos.CameraVo.java
com.min3d.lib.vos.Color4Managed.java
com.min3d.lib.vos.Color4.java
com.min3d.lib.vos.Face.java
com.min3d.lib.vos.FloatManaged.java
com.min3d.lib.vos.FogType.java
com.min3d.lib.vos.FrustumManaged.java
com.min3d.lib.vos.LightType.java
com.min3d.lib.vos.Light.java
com.min3d.lib.vos.Number3dManaged.java
com.min3d.lib.vos.Number3d.java
com.min3d.lib.vos.RenderType.java
com.min3d.lib.vos.ShadeModelManaged.java
com.min3d.lib.vos.ShadeModel.java
com.min3d.lib.vos.TexEnvxVo.java
com.min3d.lib.vos.TextureVo.java
com.min3d.lib.vos.Uv.java
com.min3d.lib.vos.Vertex3d.java