如何在斐波那契球的点之间绘制三角形?

我使用下面的函数创建这些点。

local GR = (math.sqrt(5) + 1) / 2
local GA = (2 - GR) * (2 * math.pi)

local function fibonacciSpiralSphere(num_points)
    local vectors = {}

    for i = 1, num_points do
        local lat = math.asin(-1 + 2 * i / (num_points + 1))
        local lon = GA * i

        local x = math.cos(lon) * math.cos(lat)
        local y = math.sin(lon) * math.cos(lat)
        local z = math.sin(lat)

        table.insert(vectors, Vector3.new(x, y, z))
    end

    return vectors
end

这些点的样子。

1

我就是想不出如何用它们制作一个球形的网格。

点赞
用户2858170
用户2858170

通常使用Delaunay Triangulation等方法来解决这类问题。

由于您对点集具有一些了解,可以直接找到每个点的最近邻点。因此,遍历点集并检查距离即可。

2021-06-01 05:38:46