2020年12月21日 星期一

Sunnnnnnnnnnnnnn

 Week15



熟悉Vector
用物件讓它更有條理
-----
程式碼:

size(600,600);
PImage img=loadImage("img.jpg");
PVector pt = new PVector(10,20,0);
image(img,0,0);
println(pt.x);
float userX=10, userY=20, userZ=0;
float user2X=30, user2Y=40, user2Z=0;

PVector user=new PVector(10,20,0);
PVector user2=new PVector(30,40,0);
-----

畫出左上角這一顆球 ball
-----
程式碼:
PVector user;
void setup(){
 size(600,600);
 user = new PVector(10,20);
}

void draw(){
 background(255);
 ellipse(user.x , user.y,20,20);
}
-----




做一個彈弓


可以做出向量了!
-----
程式碼:
PVector user;
PVector Y, v=null;
void setup() {
  size(600, 400);
  user = new PVector(100, 300);
  Y = new PVector(100, 300);
}
void draw() {
  background(255);
  line( user.x, user.y, Y.x, Y.y);
  textSize(40);
  fill(255, 0, 0); 
  text("Y", Y.x, Y.y);
  fill(255); 
  ellipse( user.x, user.y, 20, 20);
  if(v!=null) user.add(v);
}
void mouseDragged() {
  user.x=mouseX;
  user.y=mouseY;
}
void mouseReleased() {
  PVector diff = PVector.sub(Y,user);
  v = diff.div(10);
}

-----

接上joystick
GND  ->  GND
5V  ->  5V
VRx   ->  A0   
VRy   ->  A1   
SW   ->  2    


-----
Processing + Arduino
移動球的位置

可以用搖桿控制哦!
-----
程式碼:
import processing.serial.*;
Serial myPort;
PVector user;
PVector Y,v=null;
void setup(){
 size(600,400);
myPort = new Serial(this,"COM4",9600);
user = new PVector(100,300);
Y= new PVector(100,300);
}
void draw(){
 background(255);
 if(mousePressed) line(user.x , user.y, Y.x,Y.y);
 while(myPort.available() >= 3)
 {
  int x = myPort.read();
  int y = myPort.read();
  int sw = myPort.read();
  user.x = 100+x-128;
  user.y = 300+y-128;
 }
 textSize(40);
 fill(255,0,0); text("Y",Y.x,Y.y);
 fill(255); ellipse(user.x, user.y,20,20);
 if(v!=null){
  user.add(v);
  v.y+=0.98;
 }
}
void mouseDragger(){
 user.x=mouseX;
 user.y=mouseY;
 v=null;
}
-----














沒有留言:

張貼留言