howard-liao-generative

This is an old revision of the document!


<Code:js> function setup() {

createCanvas(1920, 1080);
//noLoop()

}

class Dog {

// dogSize is the number of times bigger
constructor (xposition, yposition, dogSize)
{ 
  this.xposition = xposition;
  this.yposition = yposition;
  this.dogSize = dogSize;
}
draw () {
fill(2, 25, 2)
square(this.xposition + (200 * this.dogSize), this.yposition + (80 * this.dogSize), this.dogSize * 50);
square(this.xposition + 90, this.yposition + 80, this.dogSize * 50);
square(this.xposition + 130, this.yposition + 130, this.dogSize * 140);
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
square(this.xposition + 98, this.yposition + 121, this.dogSize * 35);
square(this.xposition + 162, this.yposition + 122, this.dogSize * 35);
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
square(this.xposition + 99, this.yposition + 126, this.dogSize * 24);
square(this.xposition + 163, this.yposition + 126, this.dogSize * 24);
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
square(this.xposition + 100, this.yposition + 126, this.dogSize * 17);
square(this.xposition + 164, this.yposition + 126, this.dogSize * 17);
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
square(this.xposition + 100, this.yposition + 126,this.dogSize * 10);

fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)

square(this.xposition + 110, this.yposition + 196, this.dogSize * 200, 1, 50)
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
square(this.xposition + 140, this.yposition + 326, this.dogSize * 48, 10);
square(this.xposition + 200, this.yposition + 355, this.dogSize * 41, 10);
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
fill(Math.random() * 255, Math.random() * 255, Math.random() * 255)
noStroke();
noFill();

}

}

class BackgroundPattern {

// dogSize is the number of times bigger
constructor (xposition, yposition, patternSize, hColor, eColor)
{ 
  this.xposition = xposition;
  this.yposition = yposition;
  this.patternSize = patternSize;
  this.hairColor = hColor;
  this.eyeColor = eColor
}
draw () {
  fill(255,255,255);
  square(this.xposition + 24, this.yposition + 126,this.patternSize * 10);
  fill(245, 152, 181);
  square(this.xposition + 10, this.yposition + 134, this.patternSize * 10);
  fill(19, 121, 50);
  noStroke();
  smooth();
  ellipse(this.xposition + 30, this.yposition + 59, this.patternSize * 36, this.patternSize * 36);
  noSmooth();
  ellipse(this.xposition + 70, this.yposition + 50, this.patternSize * 36, this.patternSize * 36);

} }

function backgroundPatternArray (n, y) {

  let outputArray = [];
  for (let i = 0; i < n ; i++) {
      outputArray.push(new BackgroundPattern (0 + (i*120),0 + y, 1,"red", "blue"))
  }
  return outputArray

}

function dogArray (n, y) {

  let outputArray = [];
for(let k = 0; k < n ; k++){
  for (let i = 0; i < n ; i++) {
    outputArray.push(new Dog (0 + (200*i),y+(k*400), 0.5 + (1 * Math.random())))
  }  
}
return outputArray

}

function draw() {

background(255,255,255)
//background(random(0,255),random(0,255),random(0,255)); 
//let myDog2 = new Dog (0, 0, 0.5, "red","blue");
//myDog2.draw();
//let myPattern1 = new BackgroundPattern (0, 0, 1, "red","blue");
//myPattern1.draw()
//background(220);

for(let i = 0; i < 15 ; i++){

  let myBackgroundPattern = backgroundPatternArray(15, 0 + (i * 100));
  for(let i = 0; i < myBackgroundPattern.length ; i++){
  myBackgroundPattern[i].draw()
}
}

let howardsDogs = dogArray (10,0);
//howardsDogs[0].draw()
for(let i = 0; i< howardsDogs.length; i++){
  howardsDogs[i].draw();
}

//let myDog = new Dog (0, 0, 1);
//myDog.draw();

}

  • howard-liao-generative.1624238964.txt.gz
  • Last modified: 2021/06/20 18:29
  • by howard.liao