首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在这个AABB光线相交算法中,ddx和ddy值做什么?

在这个AABB光线相交算法中,ddx和ddy值做什么?
EN

Stack Overflow用户
提问于 2010-05-31 21:07:04
回答 1查看 131关注 0票数 0

有人知道ddx和ddy值在AABB光线相交算法中的作用吗?摘自以下站点http://www.blitzbasic.com/codearcs/codearcs.php?code=1029 (如下所示)。

代码语言:javascript
复制
Local txmin#,txmax#,tymin#,tymax#

// rox, rdx are the ray origin on the x axis, and ray delta on the x axis ... y-axis is roy and rdy

Local ddx# =1.0/(rox-rdx)
Local ddy# =1.0/(roy-rdy)

If ddx >= 0
    txmin = (bminx - rox) * ddx
    txmax = (bmaxx - rox) * ddx
Else
    txmin = (bmaxx - rox) * ddx
    txmax = (bminx - rox) * ddx
EndIf

If ddy >= 0
    tymin = (bminy - roy) * ddy
    tymax = (bmaxy - roy) * ddy
Else
    tymin = (bmaxy - roy) * ddy
    tymax = (bminy - roy) * ddy
EndIf

If ( (txmin > tymax) Or (tymin > txmax) ) Return 0

If (tymin > txmin) txmin = tymin
If (tymax < txmax) txmax = tymax

Local tzmin#,tzmax#
Local ddz# =1.0/(roz-rdz)

If ddz >= 0
    tzmin = (bminz - roz) * ddz
    tzmax = (bmaxz - roz) * ddz
Else
    tzmin = (bmaxz - roz) * ddz
    tzmax = (bminz - roz) * ddz
EndIf

If (txmin > tzmax) Or (tzmin > txmax) Return 0

Return 1
EN

回答 1

Stack Overflow用户

发布于 2010-07-01 00:02:21

(rox-rdx,roy-rdy)是从目标点到光线原点的向量。ddx和ddy是这两个坐标的倒数。

倒数被用作预计算,以便只需使用乘法(由那些倒数),而不是在函数的其余部分中除法。计算机计算乘法的速度比除法快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2943703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档