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:   SimpleString.pde
   JAVA Download:   SimpleString.java


Click on anar+ terms to get the documentation.

import processing.opengl.*;
import anar.*;
 
 
import lsys.Grammar;
 
 
 
/*
 * Example for Anar library by Guillaume LaBelle + Julien Nembrini
 * http://anar.ch
 */
 
 
Pts     ptsA = new Pts();
 
 
Face    f;
 
Grammar grammar;
 
 
void setup(){
    size(200,200,OPENGL);
  Anar.init(this);
  initGrammar();
}
 
void initGrammar(){
  grammar = new Grammar("fg");
  // here define the rules
  // * means any kind of symbol
  // the example rules below are therefore non contextual
  grammar.addRule("*f*","f");
  grammar.addRule("*g*","[f]hi");
  grammar.addRule("*h*","gh");
  // this one makes it context dependant
  grammar.addRule("igh","[ghg]");
  // this new one makes it probabilistic
  final String[] prods = {"aa", "bb"};
  final float[] probs = {.5f, .5f};
  grammar.addRule("*i*",prods,probs);
 
  println(grammar);
}
 
void draw(){
  if(frameCount%2==0)
    background(155);
  else
    background(153);
 
}
 
 
void keyPressed(){
  if(key=='a'){
    grammar.step();
    println(grammar);
  }
  if(key=='s'){
    grammar.reset();
    println(grammar);
 
  }
}
 
 
 
 



screenshots