barnsley Ferns
Published on 30-04-2023. Abhijith M S
Published on 30-04-2023. Abhijith M S
//////////////////////////////////////////////////////////
///Abhijith M S///////////////////////////////////////////
///////////////////////30April2023////////////////////////
var x_initial = 0;
var y_initial = 0;
var x = 0;
var y = 0;
var a = [0, 0.5, 0, 0.5];
var b = [0.5, 0.5];
var vx, vy;
var v1x = 0;
var v1y = 0;
var v2x = 1;
var v2y = 0;
var v3x = 0.5;
var v3y = 1;
//var numPoints = 9000;
var offset = 50;
function setup() {
createCanvas(200, 200);
x = x_initial;
y = y_initial;
}
function draw() {
background(0);
makePoint();
}
function makePoint()
{
for(let n = 0; n<frameCount; n++)
{
stroke(255);
strokeWeight(2);
var px = map(x, -4, 9.5, 0+offset, width-offset);
var py = map(y, -4, 9.5, height-offset, 0+offset);
point(px, py);
fern_one();
}
}
function fern_one(percentage)
{
r = random(0,1);
if(r<0.1)
{
x = 0.0;
y = 0.16*y;
}
else if(r>0.1 && r<0.85)
{
x = 0.85*x + 0.04*y;
y = -0.04*x + 0.85*y + 1.6;
}
else if(r>0.85 && r<0.92)
{
x = 0.2*x - 0.26*y;
y = 0.23*x + 0.22*y + 1.6;
}
else if(r>0.92 && r<1.0)
{
x = -0.15*x + 0.28*y
y = 0.26*x + 0.24*y + 0.44
}
}
Published on 29-04-2023. Abhijith M S
//////////////////////////////////////////////////////////
///Abhijith M S/////////////////////////////////////////////////////////////////////
///Abhijith M S///////////////////////////////////////////
///////////////////////29April2023////////////////////////
var x_initial = 0;
var y_initial = 0;
var x = 0;
var y = 0;
var a = [0, 0.5, 0, 0.5];
var b = [0.5, 0.5];
var vx, vy;
var v1x = 0;
var v1y = 0;
var v2x = 1;
var v2y = 0;
var v3x = 0.5;
var v3y = 1;
//var numPoints = 9000;
var offset = 50;
function setup() {
createCanvas(windowWidth, windowHeight);
x = x_initial;
y = y_initial;
}
function draw() {
background(0);
//saveGif('01.gif',10);
makePoint();
}
function makePoint()
{
for(let n = 0; n<frameCount; n++)
{
stroke(255);
strokeWeight(2);
var px = map(x, 0, 1, 0+offset, width-offset);
var py = map(y, 0, 1, height-offset, 0+offset);
point(px, py);
sierpinski();
}
}
function sierpinski()
{
let r = int(random(1,4));
let vx,vy;
if(r===1) { vx = v1x; vy = v1y;}
else if(r===2){ vx = v2x; vy = v2y;}
else { vx = v3x; vy = v3y;}
x = (x*a[0] + x*a[1]) + (vx*0.5);
y = (y*a[2] + y*a[3]) + (vy*0.5);
}
////////////////////////////////
///////////////////////30April2023////////////////////////
var x_initial = 0;
var y_initial = 0;
var x = 0;
var y = 0;
var a = [0, 0.5, 0, 0.5];
var b = [0.5, 0.5];
var vx, vy;
var v1x = 0;
var v1y = 0;
var v2x = 1;
var v2y = 0;
var v3x = 0.5;
var v3y = 1;
//var numPoints = 9000;
var offset = 50;
function setup() {
createCanvas(200, 200);
x = x_initial;
y = y_initial;
}
function draw() {
background(0);
makePoint();
}
function makePoint()
{
for(let n = 0; n<frameCount; n++)
{
stroke(255);
strokeWeight(2);
var px = map(x, -4, 9.5, 0+offset, width-offset);
var py = map(y, -4, 9.5, height-offset, 0+offset);
point(px, py);
fern_one();
}
}
function fern_one(percentage)
{
r = random(0,1);
if(r<0.1)
{
x = 0.0;
y = 0.16*y;
}
else if(r>0.1 && r<0.85)
{
x = 0.85*x + 0.04*y;
y = -0.04*x + 0.85*y + 1.6;
}
else if(r>0.85 && r<0.92)
{
x = 0.2*x - 0.26*y;
y = 0.23*x + 0.22*y + 1.6;
}
else if(r>0.92 && r<1.0)
{
x = -0.15*x + 0.28*y
y = 0.26*x + 0.24*y + 0.44
}
}
Published on 27-04-2023. Abhijith M S
//////////////////////////////////////////////////////////
///Abhijith M S///////////////////////////////////////////
///////////////////////26April2023////////////////////////
var angle;
var slider;
var fr = 12;
var frames = 60;
function setup() {
createCanvas(windowWidth, windowHeight);
// slider = createSlider(0,TWO_PI,PI/4,0.01)
//createSlider(min, max, [value], [step])
//Parameters
//min: minimum value of the slider = 0
//max: maximum value of the slider = TWO_PI
//value: default value of the slider = PI/4 (default is min value)
//step: step size for each tick of the slider = 0.01 (default value is 1.)
angle = 0; //slider.value();
frameRate(fr);
}
function draw() {
background(0);
//if (frameCount === 1) {
//const options =
//{units: "frames"
//}
//saveGif('01.gif', frames+1, options);
//}
stroke(255); //For White Strokes
var branchLength = width/4;
var weight = 2;
//var len =100;
//line(200,height, 200, height-len)
//To shift the center from (0,0) to (width/2,height)
translate(width/2,height);
branch(branchLength, weight, angle);
angle = angle + (PI/frames);
if(angle > PI/2){angle = -PI/2;}
}
function branch(len, weight, angle){
strokeWeight(weight);
line(0,0, 0, -len);
//shift the center to (width/2, height-len)
translate(0, -len);
//rotate the line by 45 degree from vertical
//line(0,0, 0, -0.67*len)
if(len>1)
{
push();
rotate(angle);
branch(len*0.67, weight*0.80, angle);
pop();
push();
rotate(-angle);
branch(len*0.67, weight*0.80, angle);
pop();
}
}