# RayTracer
Optical ray tracing code
Propagate rays through a surface based geometry.
Surfaces are defined by their geometry and optical properties. Supported geometries include sections of linear, quadratic, and toroidal surfaces, with easy implementation shortcuts for planes, cylinders, and spheres. Supported optical properties include dielectric interfaces, diffuse and retro-reflectors, and a unified absorber/reflector model based on the Geant4 "UNIFIED" optical photon model.
Bulk properties (index of refraction, absorption and Rayleigh scattering) are implemented at the surfaces (i.e. you define the bulk on either side of each surface -- no checks for inconsistent geometries).
Rays are defined by their propagation direction and stokes parameters (intensity and polarization) and are followed until:
- intensity drops below threshold
- ray leaves geometry
- maximum number of scatters is exceeded
For geometries without random scattering (i.e. no Rayleigh scattering and no diffuse reflectors) the program can be run with or without Monte Carlo style dice rolling. E.g., at a dielectric interface, you can choose to follow both the reflected and refracted ray (so the number of tracked rays increases as the simulation proceeds), or to roll the dice according to the relative intensities and follow only one ray. For diffuse reflection or Rayleigh scattering (or any other process where there is a continuous angular distribution) only Monte Carlo style simulation is possible.
Supported platforms:
- MATLAB
- working on a numpy version
没有合适的资源?快使用搜索试试~ 我知道了~
线极化的matlab代码-RayTracer:光线追踪器
共85个文件
m:51个
py:23个
pyc:5个
需积分: 17 25 下载量 38 浏览量
2021-06-08
09:24:17
上传
评论 2
收藏 244KB ZIP 举报
温馨提示
线串的matlab代码光线追踪器 光线追踪代码 通过基于表面的几何体传播光线。 表面由其几何形状和光学特性定义。 支持的几何图形包括线性、二次曲面和环形曲面的截面,以及平面、圆柱体和球体的简单实现快捷方式。 支持的光学特性包括介电界面、漫反射和后向反射器,以及基于 Geant4“UNIFIED”光学光子模型的统一吸收器/反射器模型。 体积属性(折射率、吸收和瑞利散射)在表面上实现(即您在每个表面的任一侧定义体积——不检查不一致的几何形状)。 射线由它们的传播方向和斯托克斯参数(强度和偏振)定义,并被跟踪直到: 强度低于阈值 射线叶几何 超过最大散点数 对于没有随机散射(即没有瑞利散射和漫反射器)的几何图形,该程序可以在有或没有蒙特卡洛式骰子滚动的情况下运行。 例如,在介电界面上,您可以选择跟踪反射光线和折射光线(因此跟踪光线的数量随着模拟的进行而增加),或者根据相对强度滚动骰子并仅跟踪一条光线。 对于漫反射或瑞利散射(或任何其他具有连续角分布的过程),只有蒙特卡洛式模拟是可能的。 支持的平台: MATLAB 处理一个 numpy 版本
资源推荐
资源详情
资源评论
收起资源包目录
RayTracer-master.zip (85个子文件)
RayTracer-master
LICENSE 34KB
README.md 2KB
python
RayToShape.py 1KB
RayTracer2.py 34KB
BubbleImageCreator.py 18KB
UnifiedTest.py 4KB
SimplifiedTemplates
BubbleImageCreator.py 5KB
createGeometry.py 9KB
UnifiedReflectorModel.py 18KB
RayToSphere.py 3KB
surface.py 3KB
RayToTorus.py 5KB
RayToCylinder.py 8KB
RayToQuadSurface.py 6KB
geospecs.py 4KB
createGeometry.py 68KB
~$cumentation.docx 162B
.idea
python.iml 395B
finalRays.py 277B
__pycache__
GenerateRaysFromCamera.cpython-37.pyc 2KB
geospecs.cpython-37.pyc 2KB
finalRays.cpython-37.pyc 558B
surface.cpython-37.pyc 571B
createGeometry.cpython-37.pyc 15KB
errors.txt 30KB
SphereTest.py 3KB
RayleighScatteringClass.py 7KB
RefractionReflectionAtInterface.py 13KB
rayInterfaces.py 703B
RayToPlane.py 2KB
TestGeometry.py 7KB
Documentation.docx 23KB
GenerateRaysFromCamera.py 3KB
IntersectFunction.py 292B
MATLAB
RayToX
RayToPlane.m 4KB
RayToQuadsurface.m 5KB
RayToTorus.m 6KB
RayToCylinder.m 5KB
RayToSphere.m 4KB
RayTracer2.m 29KB
Physics
RayleighScattering.m 6KB
UnifiedReflectorModel.m 14KB
RefractionReflectionAtInterface.m 11KB
Examples
RunExamples
RunSBCGeometry.m 4KB
RunSBCGeometry_252.m 6KB
RunSBCGeometry_testpoints.m 5KB
RunSBCGeometry_252_winelastics.m 13KB
RunXMASSGeometry.m 2KB
RunMiXGeometry.m 5KB
RunSBCGeometry_122.m 5KB
ImagingExamples
OpticReconCOUPP01.m 10KB
OpticReconCIRTE.m 10KB
OpticsChisqCalc.m 7KB
GenerateRaysFromCamera.m 2KB
NearestApproach.m 2KB
OpticRecon2L.m 10KB
TunerExamples
GeometryTunerCIRTE.m 17KB
GeometryTunerCoupp2L.m 17KB
GeometryTunerCOUPP01.m 17KB
GeometryTunerCoupp2L2012.m 19KB
CreateExamples
CreateNew2LGeometry.m 40KB
CreateCOUPP500Jar.m 7KB
Create500Geometry.m 38KB
CreateCIRTEPixelLookupTable.m 4KB
Create2LPixelLookupTable.m 4KB
CreateNew2LGeometry_withFidmarks.m 44KB
CreateCOUPP500Viewport.m 8KB
CreateXEBCgeometry.m 16KB
CreateMiXGeometry.m 6KB
CreateSBCGeometry.m 9KB
CreateXELDAgeometry.m 5KB
CreateNew30LGeometry.m 19KB
Create2LPixelLookupTable2012.m 5KB
CreateAndrewsNew30LGeometry.m 16KB
CreateXMASStempgeometry.m 7KB
Create30LGeometry.m 20KB
Create2LGeometry.m 20KB
CreateArBCGeometry.m 30KB
CreateCOUPP500Reflector.m 3KB
CreateNew60Geometry_withTorus.m 47KB
CreateCOUPP01Geometry.m 9KB
CreateCirteGeometry.m 22KB
RayTracer.m 17KB
PlottingTools
SurfacePlotter.m 3KB
SectionPlotter.m 2KB
共 85 条
- 1
资源评论
weixin_38557670
- 粉丝: 3
- 资源: 903
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功