微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的形状在加工过程中不会平滑旋转

如何解决我的形状在加工过程中不会平滑旋转

我正在尝试使用来自陀螺仪的串行数据在处理中连接旋转形状。形状从 0-90 度旋转得很好,但是当角度大于 90 度时,它在达到大约 180 度之前不会旋转。当我在串行监视器上打印时,串行数据是正确的。我应该注意到它在 90-180 的范围内很少工作。我能做什么。

void draw(){

  pushmatrix();
  translate(200,200);
  rotateX(radians(90));

  rotateY(myVal);
  scale(50);
  beginShape(QUADS);


  while (mySerial.available() > 0){
    myString = mySerial.readStringUntil(nl);

    if(myString != null){
  
      background(0.5);

      myVal = float(myString) ;
      myVal = radians(-1 * myVal);

解决方法

while 循环阻塞了主动画/渲染线程。

另一种方法是将 bufferUntil()serialEvent() 配对:

例如

void setup(){
  ...
  mySerial.bufferUntil(lf);
}
...
void serialEvent(Serial p){
   myString = mySerial.readString();
   myVal = float(myString.trim()) ;
   myVal = radians(-1 * myVal);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。