1

我有一个非常奇怪的问题。我的代码中的所有内容都非常好,但我仍然有一个问题。

import processing.serial.*;

float r_height;
float r_width;
float hypotnuse;
int d = 20;
float x ;
float y ;
float ledGlow;
Serial myPort;  // Create object from Serial class

void setup () {

  size (510, 510);
  String portName = Serial.list()[8];
  myPort = new Serial(this, portName, 9600);
  background (0);
  fill(204);

  ellipseMode (CORNER);
  x = 0;
  y = 0;
  ellipse (x, y, d, d);
}

void draw () {

  r_height = mouseY - y;
  r_width =  mouseX - x;
  println ("Height is " + r_height);
  println ("Width is " + r_width);
  hypotnuse = sqrt (( (sq(r_height)) + (sq (r_width)) ) );
  ledGlow = round (hypotnuse/2.84);
  myPort.write(ledGlow);

  println (ledGlow);


  }

我需要从三角形的斜边中得到 0-255 的值。但是当我将它写入串行端口(myPort.write (ledGlow))时,我需要翻转这些值。所以如果斜边是 0,它实际上需要等于 255,如果它是 1,它需要是 254,依此类推。我不知道如何解决这个问题。

4

1 回答 1

1

你能不能把当时的 255 减去斜边,得到翻转后的斜边值?

new_hypotenuse = 255 - hypotenuse ;
于 2013-10-22T02:41:31.290 回答