简单的光线追踪绘制场景

RayTracing

# @Time    : 2020/11/23 
# @Author  : lwk
# @Email   : 1293532247@qq.com
# @Software: PyCharm
# @CPU:Razon R5-4600U

计算机图形学第二次大作业,简单的光线追踪程序。

最大迭代次数为10,使用联想小新Pro13 ARE版渲染一次大约一分钟。

提交作业后会发布于CSDN上。

可以在平面上生成“长方体”和“球体”两种物体。

最终效果图如下:

在这里插入图片描述

目录

使用

直接运行

在命令行中运行以下代码

python MyRayTracing.py

在同级目录下会生成最新的图片

修改场景

scence = [...]中可以添加自定义的物体到场景中去

添加新物体

add_cubeadd_sphere分别是写好的添加长方体和添加球体的函数,可以做新物体的参考。

如果要添加新的物体,需实现自定义判断和光线相交/计算交点的函数。

下载链接

代码已上传到 Github

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
光线追踪是一种用于模拟光在三维场景中传播和相互作用的技术。它通过追踪光线的路径来模拟光的传播和反射,从而生成逼真的图像。光线追踪可以用于渲染计算机图形、模拟光学现象等领域。 在光线追踪中,通常会定义一个场景,包括光源、物体和相机。光线从相机出发,经过场景中的物体,根据物体的材质属性进行反射、折射等操作,最终到达光源或者被吸收。通过追踪每条光线的路径,可以计算出每个像素点的颜色值,从而生成图像。 Matlab是一种强大的科学计算软件,也可以用于光线追踪的实现。在Matlab中,可以使用矩阵运算和向量化编程来高效地进行光线追踪算法的实现。同时,Matlab还提供了丰富的图形绘制和可视化工具,可以方便地展示光线追踪生成的图像结果。 如果你想在Matlab中实现光线追踪,可以按照以下步骤进行: 1. 定义场景:包括光源、物体和相机等参数。 2. 发射光线:从相机出发,确定光线的起点和方向。 3. 碰撞检测:判断光线是否与物体相交,计算交点位置和法向量等信息。 4. 光线反射和折射:根据物体的材质属性,计算光线的反射和折射方向。 5. 路径追踪:根据反射和折射方向,继续追踪光线的路径,直到光线到达光源或被吸收。 6. 计算颜色:根据光线的路径和物体的材质属性,计算每个像素点的颜色值。 7. 生成图像:将计算得到的颜色值转换为图像,并进行显示或保存。 希望以上介绍对你有帮助!如果你有任何相关问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值