【问题标题】:It is possible to render a mobius strip with a raytracer?可以用光线追踪器渲染莫比乌斯带吗?
【发布时间】:2020-02-14 09:55:25
【问题描述】:

在我的光线追踪器中,所有表面都以原点为中心并以 Y 轴为中心。 位移、旋转和调整大小是通过对光线应用的变换矩阵获得的。

我最近使用笛卡尔方程在光线追踪中渲染了一个圆环:

(x^2 + y^2 + z^2)^2 - 2 * (r1^2 + r2^2) * (x^2 + y^2 + z^2) + 4 * r1^2 * y^2 + (r1^2 - r2^2)^2

我用射线方程替换了每个点:

例如:X = Ray.ori.x + T * Ray.dir.x;

在方程中替换射线分量后,我得到了四次函数的 5 个系数,可用于通过 4 次多项式求解器算法找到方程根(T 交点)。

我想知道 mobius 条 是否可以以相同的方式呈现。 我的研究并没有带来太多,我发现了一些使用三次方程的光线跟踪代码,但是复制 4 个系数导致我产生了难以理解的形式和伪影。

你能帮我渲染一下吗?也欢迎建议用另一种方法渲染它。

谢谢!

【问题讨论】:

  • 我可以建议你先建模一个类似于圆环的扁平环,所以它是一个圆形壁(而不是像行星环那样的圆盘)。假设圆环/环的轴是垂直的,并且表面法线始终指向径向。然后修改它,使表面法线的角度取决于围绕垂直轴的角度,使条带在围绕垂直轴旋转 360° 时发生 180° 扭曲。不确定光线追踪部分,但这可以为您定义表面。
  • 通常如果你可以定义一个交集函数,你可以在光线追踪器中使用它。莫比乌斯带在数学上有何特别之处?这就像一个不稳定的圆环。

标签: c raytracing geometry-surface cartesian-coordinates mobius


【解决方案1】:

是的,可以使用光线追踪器渲染莫比乌斯带。

【讨论】:

    【解决方案2】:

    我从:mathworld 获取了莫比乌斯的(笛卡尔)三次方程 然后我用射线方程替换了莫比乌斯的 x,y 和 z。

    但是结果是这样的:

    这是计算莫比乌斯系数的代码。

    double x = ray.ori.x;
    double y = ray.ori.y;
    double z = ray.ori.z;
    double i = ray.dir.x;
    double j = ray.dir.y;
    double k = ray.dir.z;
    double c[4];
    double R = 1.;
    int solutions;
    
    c[3] = (i * i) * j - 2. * (i * i) * k + (j * j * j) - 2. * (j * j) * k + j * (k * k);
    c[2] = (i * i) * y - 2. * (i * i) * z + 2 * i * j * x - 2. * i * k * R - 4. * i * k * x + 3. * (j * j) * y - 2. * (j * j) * z - 4. * j * k * y + 2. * j * k * z + (k * k) * y;
    c[1] = - 2. * i * R * z + 2 * i * x * y - 4. * i * x * z - j * (R * R) + j * (x * x) + 3. * j * (y * y) - 4. * j * y * z + j * (z * z) - 2. * k * R * x - 2 * k * (x * x) - 2. * k * (y * y) + 2. * k * y * z;
    c[0] = - (R * R) * y - 2. * R * x * z + (x * x) * y - 2. * (x * x) * z + (y * y * y) - 2. * (y * y) * z + y * (z * z);
    

    也许我正在渲染延伸到无限远的整个表面? 在这种情况下如何获得莫比乌斯带?

    【讨论】:

    • 我确定我的渲染对应于莫比乌斯表面,有人可以帮我从表面只获取莫比乌斯带吗?
    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 2013-07-01
    • 1970-01-01
    • 2011-09-03
    • 2020-05-16
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多