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;
}
-----







沒有留言:
張貼留言