Fast Ray Tracing of Arbitrary Implicit Surfaces with Interval and Affine Arithmetic.CGF 2009

介绍

隐式曲面渲染的方法:

  1. 间接渲染:离散为网格,体素或者点云。一般使用光栅化,放大时会出现不光滑的情况。
  2. 直接渲染:光线追踪。速度慢。

区间算术(Interval Arithmetic)和仿射算术(Affine Arithmetic)主要使用在数值计算中。是自验证(self-validated)的算术方法。

隐式曲面光线追踪

隐式曲面公式:
f ( x , y , z ) = 0 f(x, y, z) = 0 f(x,y,z)=0
光线:
p ( t ) = o + t d p(t) = o + td p(t)=o+td

光线追踪主要是求曲面和光线的交点, 即求解方程:
f ( t ) = f ( o x + t d x , o y + t d y , o z + t d z ) = 0 f(t) = f(o_{x} + td_{x}, o_{y} + td_{y},o_{z} + td_{z}) = 0 f(t)=f(ox+tdx,oy+tdy,oz+tdz)=0
的最小的根,且t>0

求解复杂方程的根可以使用迭代的数值方法例如牛顿迭代法,但是只可以处理单调情况。对于非单调情况,可以使用区间分析的方法。

Interval Arithmetic

在这里插入图片描述

Reduced Affine Arithmetic

在这里插入图片描述

AA相比IA具有更紧致的包围盒,Revised AA[1]可以固定误差元的数量,效率更高。

算法流程

构建曲面的AABB包围盒, 使用光线与包围盒求交,得到入射位置penter和出射位置pexit, 仿射算术aa_t= [0, 1], 那么penter + aa_t * pexit就是包围盒中的光线。

求交测试:将penter + aa_t * pexit的三个分量带入曲面公式,得到的区间如果包含0, 那么表示光线和曲面有交

将aa_t看作参数区间,如果求交测试通过,细分参数区间直到达到指定的细分深度,取区间中一点t0, 根据penter + t0 * pexit得到交点位置。

参考

[1]MESSINE F.: Extentions of affine arithmetic: Application to unconstrained global optimization. Journal of Universal Computer Science 8, 11 (2002), 992–1015.

[2]Knoll A, Hijazi Y, Kensler A, et al. Fast ray tracing of arbitrary implicit surfaces with interval and affine arithmetic[C]//Computer Graphics Forum. Oxford, UK: Blackwell Publishing Ltd, 2009, 28(1): 26-40.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值