极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9932|回复: 0

processing动态画三个轴的曲线

[复制链接]
发表于 2013-9-5 11:09:50 | 显示全部楼层 |阅读模式
  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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 03:12 , Processed in 0.039407 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表