Simulation 二维光线跟踪
我正在编写一个程序,演示各种镜头的工作原理,以及我所需要的 二维库或算法 我搜索光线跟踪,主要是找到用于在3D中创建场景的东西,而我的要求是一个简单的交互式镜头模拟Simulation 二维光线跟踪,simulation,raytracing,Simulation,Raytracing,我正在编写一个程序,演示各种镜头的工作原理,以及我所需要的 二维库或算法 我搜索光线跟踪,主要是找到用于在3D中创建场景的东西,而我的要求是一个简单的交互式镜头模拟 因此,任何关于2D光线跟踪算法或库的观点都是受欢迎的。我正在使用Python 这个问题有两部分: 找出射线击中了什么 计算折射后的光线 为了找出光线击中的物体,我将离散透镜的形状。所以你只需要测试直线 查找第一次命中的伪代码: Line hitLine=null; double minA=+Infinity; foreach(lin
因此,任何关于2D光线跟踪算法或库的观点都是受欢迎的。我正在使用Python 这个问题有两部分:
Line hitLine=null;
double minA=+Infinity;
foreach(line in Lines)
{
Solve (Ray.Start + a*Ray.Direction) == (line.P1+b*(line.P2-line.P1)) for a and b
if(0<=b<=1) //hit the line-piece
{
if(0<=a<minA)
{
minA=a;
hitLine=line;
}
}
}
Line hitLine=null;
双米纳=+无穷大;
foreach(一行接一行)
{
求解a和b的(光线开始+a*光线方向)=(线P1+b*(线P2线P1))
如果(0我开始这个小组是因为我对这种事情感兴趣
在这里您可以找到一个(非详尽的)python光线跟踪器列表,这些光线跟踪器应该可以为您指出正确的方向。我还有一个用python编写的光线跟踪器,它可以满足您的需要,但尚未发布!因此,您希望在光折射率取决于位置的材质中进行光线跟踪?光折射率变化的地方是否存在硬边界,或者它是一个arbitr位置的三元函数?不,它是用于2D镜头演示的,从简单的凸面和凹面镜头到菲涅耳镜头。有硬边界和多种材质(玻璃-水-空气等),但在单个对象内没有变化。您好。您有没有制作过2D镜头演示?还有我的网站,我记得其中一些人在等待。