我需要根据对象点数组创建一条折线 但似乎line()不接受值。
我写的是
loop(){
line(data[j].x, data[j].y, data[j].z, u, v, w);
}
其中数据是以下内容的返回值:
var graph = [];
var point = new Object()
loop(){
point.x = N;
point.y = N;
point.z = N;
graph.push(point);
}
用这样的坐标画线完全没问题:
line(0, 0, 0, 30, 0, 0);
line(30, 0, 0, 30, 30, 0);
line(30, 30, 0, 30, 30, 30);
line(30, 30, 30, 60, 30, 30);
line(60, 30, 30, 60, 60, 30);
生成数据:
function dataGenerator(n) {
var graph = []; // main array
var i = 0;
var y = 0;
var x = 0;
var z = 0;
while (i < n) {
var point = new Object();
switch (Math.floor(Math.random() * 6)) {
case 0: // 1 x++
point.x = x += 10;
point.y = y;
point.z = z;
graph.push(point);
break;
[.........]
}
i++;
}
return graph;
}
这应该创建折线,我在此示例中使用点来缩短代码,问题是相同的
// test using points instead of lines
for (var j = 0; int < data.length; j++) {
point(data[j].x, data[j].y, data[j].z);
// u = x
// v = y
// w = z
}
无错误消息 在控制台上,我可以读取整个数组,并且是正确的 只是没有输出