This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.

anar+

by   LaBelle + Nembrini
©2008

built with ( )
   examples index
Rotate: middle click or key[1]
Zoom in|out: wheel button or key[2]
AutoRotate: key[5]
(First Click inside the applet to enable keys)

This applet use OpenGL, you might have to install extra jogl libraries once to view this applet. You may have a look at image capture and video at the bottom of this page. You might accept security security permenently to remove the security prompts on each pages.



sourcecode


   PDE Download:   Test03aTurtle.pde
   JAVA Download:   Test03aTurtle.java


Click on anar+ terms to get the documentation.

import processing.opengl.*;
import anar.*;
 
 
 
import java.util.ArrayList;
 
 
 
/*
 * Example for Anar library by Guillaume LaBelle + Julien Nembrini
 * http://anar.ch
 */
 
 
 
 
 
void setup(){
    size(800,400,OPENGL);
  Anar.init(this);
 
  // Setup DEFAULT rendering of our scene
  Pts.globalRender = new RenderPtsAll();
//    Pts.globalRender = new RenderPtsLineDotted(new AColor(255,0,0));
  Pt.globalRender = new RenderPtShapeOriented(new AColor(0),new AColor(255,255,0,255),Anar.scene);
  Anar.drawAxis(true);
  CSpline.globalRender.splineRes.set(12);
 
  initForm();
}
 
void initForm(){
 
  // //////////////////////////////////////////
  // //////////////////////////////////////////
  // Initial SHAPE
  ArrayList tr = new ArrayList();
  tr.add(new TranslateX(new Param(Anar.rnd(100))));
  tr.add(new TranslateX(new Param(Anar.rnd(100))));
 
  ArrayList tz = new ArrayList();
  tz.add(new RotateY(new Param(0.1f,-PI,PI)));
  tz.add(new RotateY(new Param(0.2f,-PI,PI)));
  tz.add(new RotateY(new Param(0.3f,-PI,PI)));
 
  tz.add(new RotateZ(new Param(0.1f,-PI,PI)));
  tz.add(new RotateZ(new Param(0.2f,-PI,PI)));
  tz.add(new RotateZ(new Param(0.3f,-PI,PI)));
 
 
  Pts line = new Pts();
  Pt ori = Anar.Pt(0,0,0);
 
  for (int i = 0; i<50; i++){
    Pt newPt = Anar.Pt(ori);
    newPt.apply((Transform)tr.get(Anar.rndi(tr.size())));
    newPt.apply((Transform)tz.get(Anar.rndi(tz.size())));
    line.add(newPt);
    ori = newPt;
  }
 
  Anar.add(line);
 
  // //////////////////////////////////////////
  // HIRARCHY
  Anar.camTarget(Anar.main);
 
  for (int i = 0; i<tr.size(); i++)
    Anar.sliders((Transform)tr.get(i));
 
  for (int i = 0; i<tz.size(); i++)
    Anar.sliders((Transform)tz.get(i));
 
  print(line.parentList( -1));
}
 
 
void draw(){
  background(200);
  Anar.draw();
}
 
 
 



screenshots