Monday, April 16, 2012

3-cells CNN

3-cells CNN chaotic system

3-cells CNN chaotic system for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

       byte i;
       float p1 = 1.24;
       float p2 = 1.1;
       float r = 4.4;
       float s = 3.21;
       float h1 = 0;
       float h2 = 0;
       float h3 = 0;
       float x = 0.1;
       float y = 0.1;
       float z = 0.1;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.01; 

void setup()
{
       GD.begin();
       GD.ascii();
       GD.wr16(RAM_SPRPAL + (0 * 2), 0x8000);
       GD.wr16(RAM_SPRPAL + (1 * 2), RGB(255, 255, 255));
       GD.fill(RAM_SPRIMG, 0, 256);
       GD.wr(RAM_SPRIMG + 0x78, 1);
       GD.putstr(12, 1, "3-Cells CNN chaotic system");
}

void loop()
       h1 = 0.5*(abs(x+1)-abs(x-1));
       h2 = 0.5*(abs(y+1)-abs(y-1));
       h3 = 0.5*(abs(z+1)-abs(z-1));
       xn = -x+p1*h1-s*h2-s*h3;
       yn = -y-s*h1+p2*h2-r*h3;
       zn = -z-s*h1+r*h2+h3;
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       GD.sprite(i++, 200+(105*x), 150+(95*y), 0, 0, 0);
}

--------------------------------------------------------------------------------------------------------------

Sunday, March 18, 2012

Arneodo

Arneodo chaotic system

Arneodo chaotic system for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

       byte i;
       float a = -5.5;
       float b = 3.5;
       float c = -1;
       float x = 0.1;
       float y = 0;
       float z = 0;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.009; 

void setup()
{
       GD.begin();
       GD.ascii();
       GD.wr16(RAM_SPRPAL + (0 * 2), 0x8000);
       GD.wr16(RAM_SPRPAL + (1 * 2), RGB(255, 255, 255));
       GD.fill(RAM_SPRIMG, 0, 256);
       GD.wr(RAM_SPRIMG + 0x78, 1);
       GD.putstr(14, 1, "Arneodo chaotic system");
}

void loop()
       xn = y;
       yn = z;
       zn = -a*x-b*y-z+c*pow(x,3);
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       GD.sprite(i++, 200+(50*x), 152+(20*y), 0, 0, 0);
}

--------------------------------------------------------------------------------------------------------------

Saturday, March 17, 2012

Ikeda

Ikeda chaotic attractor

Ikeda chaotic attractor for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

       byte i;
       float a = 1;
       float b = 0.9;
       float c = 0.4;
       float d = 6;
       float x = 0;
       float y = 0;
       float z = 0;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.01;
       
void setpixel(byte x, byte y, byte color)
{
    unsigned int addr = RAM_SPRIMG|(x & 0xf)|(y << 4)|((x & 0x30)<<8);
    byte mask = 0xc0 >> ((x >> 5) & 6);
    GD.wr(addr, (GD.rd(addr) & ~mask) | (color & mask));
}
       
void setup()
{
       int i;
       GD.begin();
       GD.ascii();
       for (i = 0; i < 256; i++) {
       int x = 72 + 16 * ((i >> 4) & 15);
       int y = 22 + 16 * (i & 15); 
       int image = i & 63;
       int pal = 3-(i >> 6);
       GD.sprite(i, x, y, image, 0x8 | (pal << 1), 0,0);}
       GD.fill(RAM_SPRIMG, 0, 16384);  
       GD.wr16(PALETTE4A + 6, RGB(255,255,255));
       GD.putstr(13, 1, "Ikeda chaotic attractor");
}

void loop()
{
       xn = a+b*(x*cos(z)-y*sin(z));
       yn = b*(x*sin(z)+y*cos(z));
       zn = c-d/(1+pow(x,2)+pow(y,2));
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       setpixel (128+(x/5.3), 140+(y/6),255);
}

--------------------------------------------------------------------------------------------------------------

New-chaos

New chaotic attractor

New chaotic attractor for arduino with gameduino shield.

http://lsc.amss.ac.cn/~ljh/04LCC.pdf

--------------------------------------------------------------------------------------------------------------

Scroll-1 attractor



--------------------------------------------------------------------------------------------------------------


#include "SPI.h"
#include "GD.h"

       byte i;
       float a = -10;
       float b = -4;
       float c = 11;
       float x = 1;
       float y = 1;
       float z = 1;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.005;  

void setup()
{
       GD.begin();
       GD.ascii();
       GD.wr16(RAM_SPRPAL + (0 * 2), 0x8000);
       GD.wr16(RAM_SPRPAL + (1 * 2), RGB(255, 255, 255));
       GD.fill(RAM_SPRIMG, 0, 256);
       GD.wr(RAM_SPRIMG + 0x78, 1);
       GD.putstr(12, 1, "New-chaos 1-scroll attractor");
}

void loop()
       xn = -((a*b)/(a+b))*x-y*z+c;
       yn = a*y+x*z;
       zn = b*z+x*y;
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       GD.sprite(i++, 175+(7.2*x), 130+(5.5*y), 0, 0, 0);
}

--------------------------------------------------------------------------------------------------------------

Scroll-2 attractor


--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

       byte i;
       float a = -10;
       float b = -4;
       float x = -1;
       float y = -1;
       float z = -1;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.002; 

void setup()
{
       GD.begin();
       GD.ascii();
       GD.wr16(RAM_SPRPAL + (0 * 2), 0x8000);
       GD.wr16(RAM_SPRPAL + (1 * 2), RGB(255, 255, 255));
       GD.fill(RAM_SPRIMG, 0, 256);
       GD.wr(RAM_SPRIMG + 0x78, 1);
       GD.putstr(12, 1, "New-chaos 2-scroll attractor");
}

void loop()
       xn = -((a*b)/(a+b))*x-y*z;
       yn = a*y+x*z;
       zn = b*z+x*y;
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       GD.sprite(i++, 205+(4.5*x), 145+(3.5*y), 0, 0, 0);
}

--------------------------------------------------------------------------------------------------------------

Sunday, March 11, 2012

Knot

Knot fractal map

Knot fractal map for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

    byte i;
    float x = 0.1;
    float y = 0;
       
void setpixel(byte x, byte y, byte color)
{
    unsigned int addr = RAM_SPRIMG|(x & 0xf)|(y << 4)|((x & 0x30)<<8);
    byte mask = 0xc0 >> ((x >> 5) & 6);
    GD.wr(addr, (GD.rd(addr) & ~mask) | (color & mask));
}

void setup()
{
    int i;
    GD.begin();
    GD.ascii();
    for (i = 0; i < 256; i++) {
    int x =     72 + 16 * ((i >> 4) & 15);
    int y =     22 + 16 * (i & 15); 
    int image = i & 63;
    int pal =   3-(i >> 6);
    GD.sprite(i, x, y, image, 0x8 | (pal << 1), 0,0);}
    GD.fill(RAM_SPRIMG, 0, 16384);
    GD.wr16(PALETTE4A + 6, RGB(255,255,255));
    GD.putstr(17, 1, "Knot fractal map");
}

void loop()
    double nx = x;
    x = -y;
    y = pow(nx,3)-nx-y;
    setpixel (128+(85*x), 128+(85*y),255);
}

--------------------------------------------------------------------------------------------------------------

Saturday, March 10, 2012

Basin

Basin chaotic map

Basin chaotic map for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

    byte i;
    float a = 0.4;
    float x = 0.1;
    float y = 0;
       
void setpixel(byte x, byte y, byte color)
{
    unsigned int addr = RAM_SPRIMG|(x & 0xf)|(y << 4)|((x & 0x30)<<8);
    byte mask = 0xc0 >> ((x >> 5) & 6);
    GD.wr(addr, (GD.rd(addr) & ~mask) | (color & mask));
}

void setup()
{
    int i;
    GD.begin();
    GD.ascii();
    for (i = 0; i < 256; i++) {
    int x =     72 + 16 * ((i >> 4) & 15);
    int y =     22 + 16 * (i & 15); 
    int image = i & 63;
    int pal =   3-(i >> 6);
    GD.sprite(i, x, y, image, 0x8 | (pal << 1), 0,0);}
    GD.fill(RAM_SPRIMG, 0, 16384);
    GD.wr16(PALETTE4A + 6, RGB(255,255,255));  
    GD.putstr(16, 1, "Basin chaotic map");
}

void loop()
    double nx = x;
    x = nx*y+a*nx-y;
    y = nx+y;
    setpixel (107+(79*x), 189+(93*y),255);
}

--------------------------------------------------------------------------------------------------------------

Thursday, March 8, 2012

New-Jerk

New-Jerk chaotic circuit

New-Jerk chaotic circuit for arduino with gameduino shield.



--------------------------------------------------------------------------------------------------------------

#include "SPI.h"
#include "GD.h"

       byte i;
       float a = 0.00000001;
       float b = 0.026;
       float x = 0.1;
       float y = 0.1;
       float z = 0.1;
       float xn = x;
       float yn = y;
       float zn = z;
       float dt = 0.01; 
       
void setup()
{
       GD.begin();
       GD.ascii();
       GD.wr16(RAM_SPRPAL + (0 * 2), 0x8000);
       GD.wr16(RAM_SPRPAL + (1 * 2), RGB(255, 255, 255));
       GD.fill(RAM_SPRIMG, 0, 256);
       GD.wr(RAM_SPRIMG + 0x78, 1);
       GD.putstr(13, 1, "New-Jerk chaotic circuit");
}

void loop()
{
       xn = y;
       yn = z;
       zn = -z-x-a*(exp(y/b)-1);
       x = x+xn*dt;
       y = y+yn*dt;
       z = z+zn*dt;
       GD.sprite(i++, 280+(155*x), 180+(155*y), 0, 0, 0);
}

--------------------------------------------------------------------------------------------------------------