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