Processing.js : 从文件中读取信息
Processing.js : reading information from file
我有一个处理草图,其中我从文件中读取了一些坐标:
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);
}
}
在处理中 运行 时它工作得很好。我正在尝试将其嵌入到网页中。在这种情况下不绘制线条。 javascript控制台报错说在html文件的根目录下找不到读取坐标的文件,所以我把它复制到那里。但现在它根本不显示草图,并给我以下错误:ReferenceError: Can't find variable: Float
.
html
如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="js/processing.min.js"></script>
</head>
<body>
<canvas data-processing-sources="pde/1xd3.pde"></canvas>
</body>
</html>
这里有什么问题?
尝试
parseFloat(list[0]);
而不是
Float.parseFloat();
它应该能胜任! :)
不要使用 Java API 调用这个,使用 Processing 自己的 API 这样当你 运行 它在 "not a JVM"(请记住,Processing 是 一种语言,它不是 "a subset of Java",它是一种只需最少重写即可编译为 Java 的语言,因此如果您想要可移植的代码,使用 Processing,而不是 "something supported by the interpreter you are using").
Processing有自己的float解析函数,简称为float()
:
String a = "3.52312";
float b = float(a); // b is now the number 3.52312
我有一个处理草图,其中我从文件中读取了一些坐标:
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);
}
}
在处理中 运行 时它工作得很好。我正在尝试将其嵌入到网页中。在这种情况下不绘制线条。 javascript控制台报错说在html文件的根目录下找不到读取坐标的文件,所以我把它复制到那里。但现在它根本不显示草图,并给我以下错误:ReferenceError: Can't find variable: Float
.
html
如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="js/processing.min.js"></script>
</head>
<body>
<canvas data-processing-sources="pde/1xd3.pde"></canvas>
</body>
</html>
这里有什么问题?
尝试
parseFloat(list[0]);
而不是
Float.parseFloat();
它应该能胜任! :)
不要使用 Java API 调用这个,使用 Processing 自己的 API 这样当你 运行 它在 "not a JVM"(请记住,Processing 是 一种语言,它不是 "a subset of Java",它是一种只需最少重写即可编译为 Java 的语言,因此如果您想要可移植的代码,使用 Processing,而不是 "something supported by the interpreter you are using").
Processing有自己的float解析函数,简称为float()
:
String a = "3.52312";
float b = float(a); // b is now the number 3.52312