0

我正在实施Marching Cubes Algorithm。假设我有类似于那幅画的 3D图像。当我使用 MC 算法时,我得到了这样的结果:effect

Everywhere where angle is ~ 90 度 MC 算法也近似于该元素(它来自插值函数,但我特别感兴趣的是禁用角度为 ~ 90 度的任何地方的近似)。

所以代替那个,我想要这样的东西但只在角度~90的地方,我期望正常近似的其他地方(来自MC算法的经典)。

电流插值功能

我使用了有符号距离函数(SDF)。

Vector3 interpolate(Vector3 v1, Vector3 v2, float sdf1, float sdf2)
{
    float offset;
    float d = sdf2-sdf1;
    if(fabs(delta) < 1e-5)
    {
        offset = 0.5;
    }else
    {
        offset = (1e-5 - sdf1)/delta
    }

    return Vector3(v1+offset*(v2-v1));
}

可能的解决方案

解决方案之一是为立方体(体素)设置较小的尺寸。但由于性能,我不能这样做。所以我认为关键是插值函数。

4

0 回答 0