Java 用于保存像素数据的数据结构

Java 用于保存像素数据的数据结构,java,swing,data-structures,2d,Java,Swing,Data Structures,2d,我正在写一个小游戏,玩家控制一个小球(可以垂直和水平移动)。当球移动时,会在其路径上绘制一条线 我使用LinkedList保存像素的位置(每次球移动时,x和y坐标都保存在LinkedList中) 我正在LinkedList中存储Pixel的对象(只是制作了一个简单的类Pixel,每个类都有int x、y和getter) 在我的绘制方法中,然后通过for循环绘制线条的每个像素 for (int i = 0; i < p.size(); i++) g.drawOval

我正在写一个小游戏,玩家控制一个小球(可以垂直和水平移动)。当球移动时,会在其路径上绘制一条线

我使用LinkedList保存像素的位置(每次球移动时,x和y坐标都保存在LinkedList中) 我正在LinkedList中存储Pixel的对象(只是制作了一个简单的类Pixel,每个类都有int x、y和getter)

在我的绘制方法中,然后通过for循环绘制线条的每个像素

 for (int i = 0; i < p.size(); i++)
            g.drawOval(p.get(i).getX(), p.get(i).getY(),1,1);
for(int i=0;i
这很好,但现在我想实现另一个功能,但我不知道如何使用我正在使用的数据结构实现这一点:

如果球确实到达贴图的边界,并且线确实将贴图分成两部分,则其中一部分应填充颜色

我不确定我的方法是否可行。 有人知道我可以使用什么样的数据结构吗?我也不确定
使用drawOval是最好的方法。有人有想法吗?

你非常想做的是,事实上,在这方面已经做了很多研究,你需要研究
多边形剪裁技术来实现你想要的,并回答你关于如何用颜色填充它的问题,一旦你能得到要裁剪的多边形的坐标,你就可以实现
多边形填充法
方法(泛光填充法)填充。现在填充这么多像素也是一项消耗内存的任务。有很多方法可以克服这种内存泄漏情况,但您现在不必担心。以下是一些可能对您有所帮助的链接。
附言:你在做游戏吗?

看看这门课。
 for (int i = 0; i < p.size(); i++)
            g.drawOval(p.get(i).getX(), p.get(i).getY(),1,1);