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:   Test03aTurtleCheap3D.pde
   JAVA Download:   Test03aTurtleCheap3D.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
 */
 
 
Obj     all = new Obj();
 
Sliders mySliders;
 
void setup(){
    size(800,400,OPENGL);
  Anar.init(this);
 
  // Setup DEFAULT rendering of our scene
  Pts.globalRender = new RenderPtsAll();
  Pt.globalRender = new RenderPtCross(new AColor(255,155,155),1);
  Anar.drawAxis(true);
  CSpline.globalRender.splineRes.set(5);
 
  initForm();
}
 
 
void initForm(){
 
  // //////////////////////////////////////////
  // //////////////////////////////////////////
  // Initial SHAPE
 
  all = new Obj();
 
  Param inv = new Param( -1);
 
  Param d1 = new Param(10);
  Param d2 = new Param(20);
  Param d3 = new Param(30);
 
  Param r1 = new ParamMul(d1,inv);
  Param r2 = new ParamMul(d2,inv);
  Param r3 = new ParamMul(d3,inv);
 
  ArrayList tr = new ArrayList();
 
  tr.add(new Translate(d1,0));
  tr.add(new Translate(d1,1));
  tr.add(new Translate(d1,2));
 
  tr.add(new Translate(r1,0));
  tr.add(new Translate(r1,1));
  tr.add(new Translate(r1,2));
 
  tr.add(new Translate(d2,0));
  tr.add(new Translate(d2,1));
  tr.add(new Translate(d2,2));
 
  tr.add(new Translate(r2,0));
  tr.add(new Translate(r2,1));
  tr.add(new Translate(r2,2));
 
  tr.add(new Translate(d3,0));
  tr.add(new Translate(d3,1));
  tr.add(new Translate(d3,2));
 
  tr.add(new Translate(r3,0));
  tr.add(new Translate(r3,1));
  tr.add(new Translate(r3,2));
 
  Pts line = new Pts();
  Pt ori = Anar.Pt(0,0,0);
 
  for (int i = 0; i<1000; i++){
    PtDER newPt = Anar.Pt(ori);
    newPt.apply((Transform)tr.get(Anar.rndi(tr.size())));
    // newPt.apply(new Origine(ori,tz.get(Anar.rndi(tz.size()))));
    line.add(newPt);
    ori = newPt;
  }
 
  all.add(line);
 
  // //////////////////////////////////////////
  // HIRARCHY
  Anar.camTarget(all);
  mySliders = new Sliders(all);
  // print(all.parentList());
 
 
}
 
 
void draw(){
  background(200);
  all.draw();
  mySliders.draw();
}
 
 
 



screenshots