2018年9月27日 星期四

Week03 昱霖的筆記

線畫出一個圓
ellipse(a,b, c,d);


void myTriangle(int cx,int cy){
  float R=25, a=PI/2;
   triangle(cx+R*cos(a),cy+R*sin(a),
            cx+R*cos(a+2*PI/3),cy+R*sin(a+2*PI/3),
            cx+R*cos(a-2*PI/3),cy+R*sin(a-2*PI/3) );
}

void draw(){
  background(255);
  for (int cx=10;cx<800;cx+=40){
    for (int cy=10;cy<400;cy+=40) {
      myTriangle(cx,cy);
    }
  }
  float R=20, a=-PI/2;
  
匯入圖片 並使他可以用鍵盤來移動
void keyPressed() {
  if(keyCode==UP)    {marioY-=5;}
  if(keyCode==DOWN)  {marioY+=5;}
  if(keyCode==LEFT)  {marioX-=5;}
  if(keyCode==RIGHT) {marioX+=5;}
}

week03

畫出三角形,畫出角度,使用迴圈讓他重覆執行畫出迷幻園行中的三角形

void setup(){ size (500,500); } void draw(){ ellipse(250,250,480,480); for(float angle=0; angle<PI*2; angle+=PI/3){ for(int r=0;r<=240;r+=20){ noFill(); triangle(250,250,250+r*cos(angle),250+r*sin(angle), 250+r*cos(angle+PI/3),250+r*sin(angle+PI/3)); } } }












畫出會彈跳的mairo,慢慢彈跳變低,碰到邊界就反彈很酷

PImage imgmario; float marioX=0,marioY=0,marioVX=0.5,marioVY=0,marioAX=0,marioAY=0.1; void setup(){ size (400,600); imgmario=loadImage("mario.png"); } void draw(){ background(255); image (imgmario,marioX,marioY,100,150); marioX+=marioVX; marioVX+=marioAX; marioY+=marioVY; marioVY+=marioAY; if(marioY>600-150)marioVY*=-0.9; if(marioX>400-100)marioVX*=-1; if(marioY<0)marioVY*=-0.9; if(marioY<0)marioVX*=-1; if(marioX<300)marioVX=-marioVX; if(marioX>0)marioVX=-marioVX; } void keyPressed(){ if(keyCode==UP){marioY-=5;} if(keyCode==DOWN){marioY+=5;} if(keyCode==LEFT){marioX-=5;} if(keyCode==RIGHT){marioX+=5;} }

Week03 光

第三週 畫旋轉三角 馬力歐憤怒鳥


void draw(){
  ellipse(250,250, 480,480);//(圓心X,圓心Y,直徑,直徑)
  for(float angle=0; angle<PI*2; angle+=PI/3){//PI=圓周率
    triangle(250,250,//圓心位置
      250+240*cos(angle), 250+240*sin(angle),//圓心位置250+半徑長240
      250+240*cos(angle+PI/3), 250+240*sin(angle+PI/3));
  }
}



noFill();//不填滿















嘗試看影片畫會旋轉的圖 網址:FB社團



void myTriangle(int cx, int cy){
  float a=-PI/2;
  for(int R=15; R>0; R-=5){
    triangle( cx+R*cos(a), cy+R*sin(a),
              cx+R*cos(a+2*PI/3), cy+R*sin(a+2*PI/3),
              cx+R*cos(a-2*PI/3), cy+R*sin(a-2*PI/3) );
  }
}
void draw(){
  background(255);
  for(int cx=15; cx<800; cx+=40){
    for(int cy=15; cy<400; cy+=40){
      myTriangle(cx,cy);
    }
  }
}


week3_

1.畫圓


2.在圓裡放入三角形


3.畫出多角形



p.s.下面兩張是老師的圖





4.在多角型放入很多線條


5.畫出許多形狀


6.馬力歐



Week03


試著畫出三角形和圓形,了解圓心和線條


利用多個三角形,畫出美麗的圖形
void setup(){
  size(500,500);
}
void draw(){
  ellipse(250,250,480,480);
  for(float angle=0;angle<PI*2;angle+=PI/3){
    for(int R=0;R<=240;R+=20){
      noFill();
      triangle(250,250,
               250+R*cos(angle),  250+R*sin(angle),
               250+R*cos(angle+PI/3),250+R*sin(angle+PI/3));
    }
  }
}


多個三角形
void setup(){
  size(800,400);
}
void Triangle(int cx,int cy){
  float R=20,a=-PI/2;
  triangle(cx+R*cos(a),cy+R*sin(a),
           cx+R*cos(a+2*PI/3),cy+R*sin(a+2*PI/3),
           cx+R*cos(a-2*PI/3),cy+R*sin(a-2*PI/3) );
}
void draw(){
  background(255);
  for(int cx=10;cx<800;cx+=40){
    for(int cy=20;cy<400;cy+=40){
      Triangle(cx,cy);
    }
  }
}

尚未添加加速度的MARIO
PImage mario;
float marioX=0,marioY=0;
void setup(){
  size(400,600);
  mario=loadImage("mario.png");
}
void draw(){
  background(255);
  image(mario,marioX,marioY,150,150);
}
void keyPressed(){
  if(keyCode==UP) {marioY-=5;}
  if(keyCode==DOWN) {marioY+=5;}
  if(keyCode==LEFT) {marioX-=5;}
  if(keyCode==RIGHT) {marioX+=5;}
}

week03 矮矮的筆記

實作:

畫出美美的圖(討厭的sin cos
程式碼
void setup()
{
  size(500,500);
}
void draw()
{
  ellipse(250,250, 480,480);
  for (float angle = 0 ; angle<PI*2 ; angle+=PI/3)
  {
    triangle(250,250,
             250+240*cos(angle),250+240*sin(angle),
             250+240*cos(angle+PI/3),250+240*sin(angle+PI/3));
  }
}
變多一點線
程式碼
void setup()
{
  size(500,500);
}
void draw()
{
  ellipse(250,250, 480,480);
  for (float angle = 0 ; angle<PI*2 ; angle+=PI/3)
  {
    for (int R=0; R<=240;R+=20)
    {
      noFill();
      triangle(250,250,
             250+R*cos(angle),250+R*sin(angle),
             250+R*cos(angle+PI/3),250+R*sin(angle+PI/3));
    }
  }
}
整齊的三角形(有密集恐懼症的人別看
程式碼
void setup()
{
  size(800,400);
}
void myTriangle(int cx, int cy)
{
  float a = -PI/2;
  for (int R=15 ; R > 0 ; R-=5)
  {
    triangle( cx + R*cos(a), cy+R/sin(a),
              cx + R*cos(a+2*PI/3), cy+R*sin(a+2*PI/3),
              cx + R*cos(a-2*PI/3), cy+R*sin(a-2*PI/3) );
  }
}
void draw()
{
  background(255);
  for (int cx=20;cx<800;cx+=40)
  {
      for(int cy=20;cy<400;cy+=40)
      {
        myTriangle(cx,cy);
      }
  }
}
小遊戲
馬力歐(上下左右移動(要自己按
程式碼
PImage imgMario;
float marioX=0, marioY=0;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");///只能讀一次
}
void draw()
{
  background(255);
  image(imgMario, marioX, marioY, 100,150);
}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;}
   if(keyCode==DOWN) {marioY+=5;}
   if(keyCode==LEFT) {marioX-=5;}
   if(keyCode==RIGHT) {marioX+=5;}
} 
馬力歐拋物線掉下去

程式碼
PImage imgMario;
float marioX=0, marioY=0, marioVX=2, marioVY=0, marioAX=0, marioAY=0.1;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw()
{
  background(255);
  image(imgMario, marioX, marioY, 100,150);
  marioX += marioVX; marioY += marioVY;
  marioVX += marioAX; marioVY += marioAY;
}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;}
   if(keyCode==DOWN) {marioY+=5;}
   if(keyCode==LEFT) {marioX-=5;}
   if(keyCode==RIGHT) {marioX+=5;}
} 
馬力歐自己跳
程式碼
PImage imgMario;
float marioX=0, marioY=0, marioVX=2, marioVY=0, marioAX=0, marioAY=0.1;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw()
{
  background(255);
  image(imgMario, marioX, marioY, 100,150);
  marioX += marioVX; marioY += marioVY;
  marioVX += marioAX; marioVY += 0.98;

   if(marioY>600-150) marioVY*=-0.9;
   if(marioX>400-100) marioVX*=-1; 
   if(marioY<0) marioVY*=-0.9; 
   if(marioX<0) marioVX*=-1;
} 
馬力歐自己跳(有軌跡有邊界

程式碼
PImage imgMario;
float marioX=0, marioY=0, marioVX=1, marioVY=0, marioAX=0, marioAY=0.1;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw()
{
  //background(255);
  image(imgMario, marioX, marioY, 100,150);
  marioX += marioVX; marioVX +=0;
  marioY += marioVY; marioVY += 0.98;

   if(marioY>500)
   {
     marioVY = - marioVY *0.8;
     marioY=500;
   }
   if(marioX>300) marioVX = - marioVX;///邊界
   if(marioX<0) marioVX = -marioVX;
} 

Week03-04160453

1.畫圖

在圓中間畫三角形
void setup(){
  size(500,500);
}
void draw(){
  ellipse(250,250,480,480);
  for(float angle=0;angle<PI*2///360;angle+=PI/3///180){ ///用for迴圈設定角度
      triangle(250,250, 
          250+240*cos(angle),         250+240*sin(angle),
          250+240*cos(angle+PI/3),250+240*sin(angle+PI/3));
       ///畫三角形(圓心,圓心,三角形1的邊,三角形1的邊,
                                              三角形2的邊,三角形2的邊);

  }
}

void setup(){
  size(500,500);
}
void draw(){
  ellipse(250,250,480,480);
  for(float angle=0;angle<PI*2;angle+=PI/3){ 
      for(int R=0;R<=240;R+=10){ ///用for設定三角型邊的長
        noFill();
        triangle(250,250, 
                     250+R*cos(angle),         250+R*sin(angle),
                     250+R*cos(angle+PI/3),250+R*sin(angle+PI/3));
      }  
    }
}



void setup(){
  size(800,400);

}
void myTriangle(int cx, int cy){
  float a= -PI/2;
  for(int R=15;R>0;R-=5){
   triangle(cx+R*cos(a),cy+R*sin(a),
            cx+R*cos(a+2*PI/3),cy+R*sin(a+2*PI/3),
            cx+R*cos(a-2*PI/3),cy+R*sin(a-2*PI/3) );
  }
}
void draw(){
   background(255);
   for(int cx=20;cx<800;cx+=40){
     for(int cy=20;cy<400;cy+=40) ///設定三角形的中心{ 
      myTriangle(cx,cy); 
     }
   }
}


2.小遊戲 

鍵盤可以控制的mario

PImage imgMario;
float marioX=0, marioY=0;
void setup(){
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw(){
 background(255);
 image(imgMario,marioX,marioY,100,150); 
}
void keyPressed(){  //鍵盤設定
   if(keyCode==UP)      {marioY-=5;}
   if(keyCode==DOWN)    {marioY+=5;}
   if(keyCode==LEFT)    {marioX-=5;}
   if(keyCode==RIGHT)   {marioX+=5;}

}




有重力的mario

PImage imgMario;
float marioX=0, marioY=0,marioVX=2,marioVY=0,marioAX=0,marioAY=0.1;
//mario的加速度設定
void setup(){
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw(){
 //background(255);
 image(imgMario,marioX,marioY,100,150);
 marioX += marioVX; marioY += marioVY;
 marioVX+= marioAX; marioVY+= marioAY;
}
void keyPressed(){
   if(keyCode==UP)         {marioY-=5;}
   if(keyCode==DOWN)  {marioY+=5;}
   if(keyCode==LEFT)     {marioX-=5;}
   if(keyCode==RIGHT)  {marioX+=5;}
}

有邊界

PImage imgMario;
float marioX=0, marioY=0,marioVX=5,marioVY=0,marioAX=0,marioAY=0.1;
void setup(){
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw(){
 //background(255);
 image(imgMario,marioX,marioY,100,150);
 marioX += marioVX; marioY += 0;
 marioY += marioVY; marioVY+= 0.98;
 if(marioY>500){
  marioVY = -marioVX *0.8;
  marioY=500;
 }
 if(marioX>300)marioVX = -marioVX;
 if(marioX<0) marioVX = -marioVX;
}
void keyPressed(){
   if(keyCode==UP)      {marioY-=5;}
   if(keyCode==DOWN)    {marioY+=5;}
   if(keyCode==LEFT)    {marioX-=5;}
   if(keyCode==RIGHT)   {marioX+=5;}
}