Java 从正在处理的csv文件中绘制多个形状
我是个新手,我想做X个椭圆。我将从csv文件中获取该数字。有没有制作多个椭圆的选项?听起来像是在寻找一个基本的for循环:Java 从正在处理的csv文件中绘制多个形状,java,processing,Java,Processing,我是个新手,我想做X个椭圆。我将从csv文件中获取该数字。有没有制作多个椭圆的选项?听起来像是在寻找一个基本的for循环: int ellipseCount = 10; //get this from csv file size(500, 500); background(0); for (int i = 0; i < ellipseCount; i++) { ellipse(random(width), random(height), 10, 10); } int ellipseC
int ellipseCount = 10; //get this from csv file
size(500, 500);
background(0);
for (int i = 0; i < ellipseCount; i++) {
ellipse(random(width), random(height), 10, 10);
}
int ellipseCount=10//从csv文件获取此文件
大小(500500);
背景(0);
for(int i=0;i
你的问题有点模棱两可,尤其是这一部分:
我将从csv文件中获取该数字
您是从csv文件中读取每个椭圆的坐标(行数即绘制的椭圆数),还是仅读取单个整数值X
,该整数值表示您需要绘制的椭圆数(无论其位置/大小/等)
让我们从最基本的部分开始:绘制椭圆。
这是通过使用需要4个参数的功能实现的:
ellipse(10,10,20,20);
在读取CSV文件方面,正如我在评论中提到的,该函数将对此有所帮助。参考页面实际上包含了一个如何遍历每一行并提取值的示例
下面是如何基于csv文件中的x、y值绘制椭圆的基本示例。它加载一个csv文件,然后在每一行中循环。对于每一行,它访问第一个和第二个值。请注意,索引从0开始,而不是从1开始
Table table;
void setup(){
//load the csv file
table = loadTable("data.csv");
//loop through each row
for (TableRow row : table.rows()) {
//extract the first and second value from the current row
float x = row.getFloat(0);//extract the first value on the row, at index 0
float y = row.getFloat(1);//extract the second value on the row, at index 1
//use the current x,y values to draw an ellipse
ellipse(x,y,5,5);
}
}
下面是示例data.csv文件:
10,10
20,20
50,50
90,90
通过添加标题,您可以做很多有趣的事情,这将允许您通过标签而不是索引来获取值
如果您只是读取一个值X,并根据不同的参数绘制椭圆,则只需使用一个。
如果您使用这样的编程基础知识,它们很简单,如1,2,3:
;
分隔):
例如:
for (int step = 0; step < 10; step = step+1) {
println("step " + step);
}
这样,就可以很容易地将其应用于图形x中的椭圆数:
int x = 30;//assuming this value can be easily read
for (int ellipseCount = 0; ellipseCount < x; ellipseCount = ellipseCount+1) {
float size = random(10);
ellipse(random(width),random(height),size,size);
}
intx=30//假设该值易于读取
对于(int-ellipseCount=0;ellipseCount
另外,您可以添加几行csv文件吗?(数据是什么样子的)?查看参考资料,可能会有所帮助。首先加载并列出数据,然后访问所需的值,将字符串转换为数字并绘制椭圆。一步一个脚印:)开始工作了,谢谢:)太棒了!如果答案有帮助,请投票和/或勾选答案。谢谢:)
for (int step = 0; step < 10; step = step+2) {
println("step " + step);
}
for (int step = 10; step > 0; step = step-1) {
println("step " + step);
}
int x = 30;//assuming this value can be easily read
for (int ellipseCount = 0; ellipseCount < x; ellipseCount = ellipseCount+1) {
float size = random(10);
ellipse(random(width),random(height),size,size);
}