howard-liao-generative

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howard-liao-generative [2021/06/20 18:27] howard.liaohoward-liao-generative [2021/06/29 01:35] (current) renick
Line 1: Line 1:
 =====Howard Liao's crazyDog.js===== =====Howard Liao's crazyDog.js=====
 +by [[:howard-liao|Howard Liao]]
  
 <HTML> <HTML>
-<iframe src=https://editor.p5js.org/Howardliao/present/V1lr5K7Vl width=99% height=799px></iframe>+<iframe src=https://editor.p5js.org/renick/present/dgt185pBI width=99% height=799px></iframe>
 </HTML> </HTML>
 +
 +===== about my crazyDog.js =====
 +
 +This is my crazy dog.js, this is what I learned this semester, We try to make a lot of dogs and an animation background or a dog.  
 +
 +The animation code is released under the [[https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html|GNU Lesser General Public License v2.1]].
 +
 +===== the code for my crazyDog.js =====
 +
 +<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();
 +}
 + </Code>
 +
  • howard-liao-generative.1624238823.txt.gz
  • Last modified: 2021/06/20 18:27
  • by howard.liao