// DVD opløsning (720x576 pixels) // Kan også gå i diagonaler // Længden på et trin kan også mutere // Tegner med kurver (curveVertex i stedet for Vertex) // 2005 Mogens Jacobsen void setup() { //noLoop(); size(720,576); background( 240, 240, 240); } void draw() { int step = 15; int x= width/2; int y= height/2; // Hvor ofte skal en mutation indtræffe? (sandsynlighed i promille) int muterprocent = 5; // Visuel historik: ------------------------------------ // Vi tegner en transparent kasse over det gamle billede fill(240, 240, 240, 50); rect(0,0,width,height); fill(255,255,255); //------------------------------------------------------- // Vi laver et sprog med 4 mulige instrukser // O = Op, N = Ned, H = Højre, V=Venstre String[] alfabet = new String[14]; alfabet[0] = "O"; alfabet[1] = "N"; alfabet[2] = "H"; alfabet[3] = "V"; alfabet[4] = ""; //denne fjerner et tegn fra sætningen! alfabet[5] = ""; //gentages for at der er lige sandsynlighed for at blive lang og kort alfabet[6] = "HN"; alfabet[7] = "VO"; alfabet[8] ="+"; //lad steplængden vokse alfabet[9] ="-"; //lad steplængden mindskes alfabet[10] = "A"; // de 4 diagonele retninger alfabet[11] = "B"; alfabet[12] = "C"; alfabet[13] = "D"; // Hent genotypen ind fra filen "dna.txt" String DNA[] = loadStrings("dna.txt"); int DNAantal = DNA[0].length(); beginShape(POLYGON); for (int i=0; imuterprocent) { // tegnet kopieres uændret muteretDNA =muteretDNA + DNA[0].charAt(i) ; } else { // tegnet muterer muteretDNA =muteretDNA + alfabet[int(random(14))] ; } } DNA[0]= muteretDNA; //------------------------------------------------------- // Skal der komme et REWRITING SYSTEM in her? ----------- //------------------------------------------------------- //saveFrame(); // den nye genotype gemmes i filen "dna.txt" saveStrings("dna.txt", DNA); }