Android Open Source - 4est Rotors






From Project

Back to project page 4est.

License

The source code is released under:

MIT License

If you think the Android project 4est 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.wordsaretoys.forest;
//from w  ww.  j av a  2 s.  c  o  m
import java.util.Random;

import android.opengl.Matrix;

import com.wordsaretoys.rise.geometry.Vector;
import com.wordsaretoys.rise.utility.Interval;
import com.wordsaretoys.rise.utility.Misc;

/**
 * provides an array of random rotations for animations
 */

public class Rotors {

  public static final int RotorCount = 48;

  class AngularVelocity {
    float x;
    float y;
    float z;
    float w;
  }

  AngularVelocity[] angv;
  float[] rotations, matrixes;

  Interval interval;
  double time;
  
  public Rotors() {

    Random rng = new Random();
    
    rotations = new float[RotorCount * 16];
    for (int i = 0; i < RotorCount; i++) {
      Matrix.setIdentityM(rotations, i * 16);
    }
    
    angv = new AngularVelocity[RotorCount];
    Vector p = new Vector();
    for (int i = 0; i < RotorCount; i++) {
      p.set(  2 * rng.nextFloat() - 1, 
          2 * rng.nextFloat() - 1, 
          2 * rng.nextFloat() - 1 ).norm();
      angv[i] = new AngularVelocity();
      angv[i].x = p.x;
      angv[i].y = p.y;
      angv[i].z = p.z;
      angv[i].w = rng.nextFloat() * 100;
    }
    
    matrixes = new float[RotorCount * 9];

    interval = new Interval();
    time = 10 * Math.random();
  }
  
  public void update() {
    time += interval.next();
    for (int i = 0; i < RotorCount; i++) {
      AngularVelocity av = angv[i];
      Matrix.setRotateM(rotations, i * 16, (float)(av.w * time), av.x, av.y, av.z);
      Misc.copyM4To3(matrixes, i * 9, rotations, i * 16);
    }
  }
  
}




Java Source Code List

com.wordsaretoys.forest.Audio.java
com.wordsaretoys.forest.Debris.java
com.wordsaretoys.forest.Game.java
com.wordsaretoys.forest.GlView.java
com.wordsaretoys.forest.MainActivity.java
com.wordsaretoys.forest.Map.java
com.wordsaretoys.forest.Player.java
com.wordsaretoys.forest.Render.java
com.wordsaretoys.forest.Rotors.java
com.wordsaretoys.forest.Shared.java
com.wordsaretoys.forest.Skybox.java
com.wordsaretoys.rise.geometry.Camera.java
com.wordsaretoys.rise.geometry.Geom.java
com.wordsaretoys.rise.geometry.Mote.java
com.wordsaretoys.rise.geometry.Ortho.java
com.wordsaretoys.rise.geometry.Quaternion.java
com.wordsaretoys.rise.geometry.Vector.java
com.wordsaretoys.rise.glwrapper.Mesh.java
com.wordsaretoys.rise.glwrapper.Shader.java
com.wordsaretoys.rise.glwrapper.Texture.java
com.wordsaretoys.rise.meshutil.HeightMapper.java
com.wordsaretoys.rise.meshutil.IndexBuffer.java
com.wordsaretoys.rise.meshutil.SurfaceMapper.java
com.wordsaretoys.rise.meshutil.VertexBuffer.java
com.wordsaretoys.rise.meshutil.Vindexer.java
com.wordsaretoys.rise.pattern.Bitmap.java
com.wordsaretoys.rise.pattern.F2FSumMap.java
com.wordsaretoys.rise.pattern.I2FCutMap.java
com.wordsaretoys.rise.pattern.I2FMap.java
com.wordsaretoys.rise.pattern.I2IMap.java
com.wordsaretoys.rise.pattern.Pattern.java
com.wordsaretoys.rise.pattern.Ring.java
com.wordsaretoys.rise.utility.Asset.java
com.wordsaretoys.rise.utility.Board.java
com.wordsaretoys.rise.utility.Dbg.java
com.wordsaretoys.rise.utility.Interval.java
com.wordsaretoys.rise.utility.Misc.java
com.wordsaretoys.rise.utility.Needle.java