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:17] howard.liaohoward-liao-generative [2021/06/29 01:35] (current) renick
Line 1: Line 1:
-<HTML> <iframe src=https://editor.p5js.org/Howardliao/sketches/V1lr5K7Vl </HTML>+=====Howard Liao's crazyDog.js===== 
 +by [[:howard-liao|Howard Liao]] 
 + 
 +<HTML> 
 +<iframe src=https://editor.p5js.org/renick/present/dgt185pBI width=99% height=799px></iframe> 
 +</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.1624238262.txt.gz
  • Last modified: 2021/06/20 18:17
  • by howard.liao