Html Processing.js:从文件中读取信息

Html Processing.js:从文件中读取信息,html,processing,processing.js,Html,Processing,Processing.js,我有一个处理草图,其中我从文件中读取了一些坐标: float[][] points = new float[243][3]; void setup() { size(500, 500, P3D); background(255); camera(100, 50, 150, 0, 0, 0, 0, -1, 0); String lines[] = loadStrings("1xd3CoordsKnot"); for (int i = 0; i < lines.leng

我有一个处理草图,其中我从文件中读取了一些坐标:

float[][] points = new float[243][3];

void setup() {
  size(500, 500, P3D);
  background(255);
  camera(100, 50, 150, 0, 0, 0, 0, -1, 0);
  String lines[] = loadStrings("1xd3CoordsKnot");

  for (int i = 0; i < lines.length; i++) {
    String[] list = split(lines[i], " ");
    float x = Float.parseFloat(list[0]);
    float y = Float.parseFloat(list[1]);
    float z = Float.parseFloat(list[2]);
    points[i][0] = x;
    points[i][1] = y;
    points[i][2] = z;
  }
 }

void draw() {
  background(50);
  lights();

  //the 3d lines here
  for (int i = 0; i < 242; i++) {
    line(points[i][0],points[i][1],points[i][2],points[i+1][0],points[i+1][1],points[i+1][2]);
    stroke(255);
    strokeWeight(2);
  }

}
这里怎么了?

试试看

parseFloat(list[0]);
而不是

Float.parseFloat();

它应该能完成任务!:)

不要为此使用Java API调用,使用Processing自己的API,这样当您在“非JVM”中运行它时,您的草图就不会中断(请记住,Processing是一种语言,它不是“Java的子集”,它是一种只需最少重写即可编译为Java的语言,因此如果您想要可移植代码,请使用Processing,而不是Java“您正在使用的解释器支持的内容”)

处理有自己的浮点解析函数,简称:


这消除了错误。但是,所画的线卡在左上角。你说的“卡在”是什么意思"? 它们是小的还是仅仅是
0,0
处的一个点可能是您的行被错误地解析了,如果您可以共享一个文件示例,这可能会有所帮助。也许你可以提出一个新问题,因为你遇到的
Float
问题已经过去了!:)我就是这么想的。它们不会停留在
0,0
,而是聚集在一个角落。这是为了一个项目,由于时间不够,我决定不去操心它。感谢您的帮助:)使用此解决方案,草图不再在Java模式下工作,因此我们仍然留下了不完整的代码。这里真正的解决方案是使用处理,而不是“Java”或“JavaScript”:处理已经有了自己的浮点转换函数,只要使用它就可以了。谢谢你的回答。不过,代码仍然不起作用。可能还有其他问题。我在最初的问题中排除了部分代码,因为错误严格地说是关于
float
转换的。我正在尝试一些
camera()
技巧,由于某些原因,这些技巧在
processing.js
中不起作用。我想我需要把它作为一个单独的问题发布。
Float.parseFloat();
String a = "3.52312";
float b = float(a); // b is now the number 3.52312