|
RawX[RawX.length-1] = Sensor_X;
RawY[RawY.length-1] = Sensor_Y; // place the new raw datapoint at the end of the array
RawZ[RawZ.length-1] = Sensor_Z;
zoom = scaleBar.getPos(); // get current waveform scale value
offset = map(zoom,0.5,1,300,0); // calculate the offset needed at this scale
for (int i = 0; i < RawX.length-1; i++) { // move the pulse waveform by
RawX[i] = RawX[i+1]; // shifting all raw datapoints one pixel left
float dummy = RawX[i] * zoom + offset; // adjust the raw data to the selected scale
ScaledX[i] = constrain(int(dummy),44,556); // transfer the raw data array to the scaled array
}
for (int i = 0; i < RawY.length-1; i++) { // move the pulse waveform by
RawY[i] = RawY[i+1]; // shifting all raw datapoints one pixel left
float dummy = RawY[i] * zoom + offset; // adjust the raw data to the selected scale
ScaledY[i] = constrain(int(dummy),44,556); // transfer the raw data array to the scaled array
}
for (int i = 0; i < RawZ.length-1; i++) { // move the pulse waveform by
RawZ[i] = RawZ[i+1]; // shifting all raw datapoints one pixel left
float dummy = RawZ[i] * zoom + offset; // adjust the raw data to the selected scale
ScaledZ[i] = constrain(int(dummy),44,556); // transfer the raw data array to the scaled array
}
stroke(250,0,0); // red is a good color for the pulse waveform
noFill();
beginShape(); // using beginShape() renders fast
for (int x = 1;x<ScaledY.length-1;x++) {
stroke(250,0,0);
vertex(x+1,ScaledX[x]);
stroke(0,255,0);
vertex(x, ScaledY[x]);
stroke(0,0,255);
vertex(x+10, ScaledZ[x]);
//draw a line connecting the data points
// line(y, RawY[x],y+1,RawY[x+1]);
// line(z, RawZ[x],z+1,RawZ[x+1]);
}
结果是这样。每次画两个轴以上就会出现前面的轴不显示,并且都是这么的密集!!
求大神解答,该如何改代码!thx
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|