Processing 如何创建点、显示点并将其存储在某种数组中

Processing 如何创建点、显示点并将其存储在某种数组中,processing,storage,point,clicking,Processing,Storage,Point,Clicking,我想创建点,然后将它们存储在数组中。我这样做是为了在之后通过我的数据点进行线性回归。因此,我需要能够循环使用我的所有点 我在网上找不到任何类似的东西进行处理,因为我不能真正做到这一点,我需要你的帮助。以下是我的方法,但它似乎不起作用: ArrayList<dataPoint> dataPoints = new ArrayList<dataPoint>(); void setup(){ size(1000, 1000); background(255); } v

我想创建点,然后将它们存储在数组中。我这样做是为了在之后通过我的数据点进行线性回归。因此,我需要能够循环使用我的所有点

我在网上找不到任何类似的东西进行处理,因为我不能真正做到这一点,我需要你的帮助。以下是我的方法,但它似乎不起作用:

ArrayList<dataPoint> dataPoints = new ArrayList<dataPoint>();

void setup(){
  size(1000, 1000); 
  background(255);
}
void draw(){
  for (int i = 1; i == dataPoints.size(); i++) { 
    // An ArrayList doesn't know what it is storing so we have to cast the object coming out
    dataPoint Point = dataPoints.get(i);
    Point.display();

  }  
}

void mousePressed() {
  dataPoints.add(new dataPoint(mouseX, mouseY));
}

class dataPoint {

  float x;
  float y;

  dataPoint(int tempX, int tempY) {
    x = tempX;
    y = tempY;
  }

  void display() {
    strokeWeight(10);
    stroke(255,0,0);
    point(x,y);
  }
} 
ArrayList dataPoints=new ArrayList();
无效设置(){
大小(10001000);
背景(255);
}
作废提款(){
对于(inti=1;i==dataPoints.size();i++){
//ArrayList不知道它正在存储什么,所以我们必须将对象抛出
数据点=数据点。获取(i);
Point.display();
}  
}
void mousePressed(){
添加(新数据点(mouseX,mouseY));
}
类数据点{
浮动x;
浮动y;
数据点(int tempX,int tempY){
x=tempX;
y=tempY;
}
无效显示(){
冲程重量(10);
冲程(255,0,0);
点(x,y);
}
} 

我希望有一个程序来创建点并将它们存储在一个数组中(或类似的东西,您可以循环使用)。

您的大部分代码都是有意义的,我只能发现两个陷阱,它们可能会阻止您循环使用所有点并可视化它们:

  • 您的条件是数组索引将超出范围:请尝试
    for(int i=0;i
  • 记住清除边框,否则你会一次又一次地在相同的点上画画

  • 请记住,Processing/Java中数组索引从0开始(同样,最后一个索引不是数组的
    size()
    ,而是小于1,因此
    可以更具体一点吗?你说这不起作用是什么意思?你期望代码做什么?它做了什么?
    
    ArrayList<dataPoint> dataPoints = new ArrayList<dataPoint>();
    
    void setup(){
      size(1000, 1000); 
    
    
    }
    void draw(){
      background(255);
      for (int i = 0; i < dataPoints.size(); i++) { 
        // An ArrayList doesn't know what it is storing so we have to cast the object coming out
        dataPoint Point = dataPoints.get(i);
        Point.display();
    
      }  
    }
    
    void mousePressed() {
      dataPoints.add(new dataPoint(mouseX, mouseY));
    }
    
    class dataPoint {
    
      float x;
      float y;
    
      dataPoint(int tempX, int tempY) {
        x = tempX;
        y = tempY;
      }
    
      void display() {
        strokeWeight(10);
        stroke(255,0,0);
        point(x,y);
      }
    } 
    
    ArrayList<PVector> dataPoints = new ArrayList<PVector>();
    
    void setup(){
      size(1000, 1000); 
      strokeWeight(10);
      stroke(255,0,0);
      noFill();
    }
    void draw(){
      background(255);
      beginShape();
      for (int i = 0; i < dataPoints.size(); i++) { 
        PVector point = dataPoints.get(i);
        vertex(point.x,point.y);
      }  
      endShape();
    }
    
    void mousePressed() {
      dataPoints.add(new PVector(mouseX, mouseY));
    }