我的形状在加工过程中不会顺畅旋转

My shape will not rotate smoothly in processing

我正在尝试使用来自陀螺仪的串行数据连接旋转处理中的形状。形状从 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 循环正在阻塞主 animation/rendering 线程。

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

例如

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