Java:获取带有布尔填充的圆的点

Java:获取带有布尔填充的圆的点,java,loops,vector,geometry,minecraft,Java,Loops,Vector,Geometry,Minecraft,我需要一种方法来获取圆的点,我在网上找到了一种方法,但不幸的是,我想添加一个布尔填充: public static Location[] getCylinderAt(Location loc, int r, int height) { ArrayList<Location> list = new ArrayList<>(); int cx = loc.getBlockX(); int cy = loc.getBlockY(); int c

我需要一种方法来获取圆的点,我在网上找到了一种方法,但不幸的是,我想添加一个布尔填充:

public static Location[] getCylinderAt(Location loc, int r, int height) {
    ArrayList<Location> list = new ArrayList<>();

    int cx = loc.getBlockX();
    int cy = loc.getBlockY();
    int cz = loc.getBlockZ();
    World w = loc.getWorld();
    int rSquared = r * r;

    for (int x = cx - r; x <= cx + r; x++) {
        for (int y = cy - height; y <= cy + height; y++) {
            for (int z = cz - r; z <= cz + r; z++) {
                if ((cx - x) * (cx - x) + (cz - z) * (cz - z) <= rSquared) {
                    list.add(new Location(w, x, y, z));
                }
            }
        }
    }
    return list.toArray(new Location[list.size()]);
}
谢谢大家!如果你喜欢,我可以删除所有的minecraft引用,但我不认为这是必要的,因为一个位置基本上是一个向量,只添加了几个minecraft变量


感谢阅读:)

您是否在寻找一种方法来计算圆形边缘上的像素,而不是圆形内部的像素,因为
填充的
假的
?如果是的话,请看一下。它描述了如何在光栅图像中绘制圆。

附加参数的目的是什么?啊,对不起,要使阵列仅包含外圆柱体,而不是其中的每个点,请解释“填充”的概念,你搜索圆周长上的一个点或光盘表面上的一个点?我在寻找发布的中点圆算法MvG,它允许我;当filled==false时,计算圆的边缘,与所有的圆的边缘相对应。准确地说,我正在寻找的是一个算法,向我解释!:D
public static Location[] getCylinderAt(Location loc, boolean filled, int r, int height)