写点什么

用 C#和 LINQ 开发 Ray Tracer

  • 2007-04-22
  • 本文字数:332 字

    阅读完需:约 1 分钟

.NET 社区里的活跃分子 Luke H. 在一篇文章中展示了如何在 400 行的代码中,用 C# 3 和 LINQ 编写一个 Ray Tracer。

Ray Trace 是在二维表面上,比如计算机屏幕或者打印的纸张上,渲染 3D 图像的一种方法。它的做法通常是从一个 2D 表面的像素跟踪一个虚拟的光束到它第一次触到的三维物体。根据所触到的物体的纹理,它会继续跟踪,直到到达光源。

Luke 使用 LINQ 简化了分类(sorting)和过滤(filtering)集合,以及计算交集时的循环的代码。虽然对象和集合不会明显地改变例子中的代码,代码中还是对它们进行了初始化。

代码之所以得到简化和减少的真正原因是,Luke 用 Lambda 表达式(expression)代替了子类(subclass)和重载了委托(delegate)。

Ray Tracer 的相关解释和本文提到的源代码可以在 Luke 的博客中得到。

2007-04-22 22:551155

评论

发布
暂无评论
发现更多内容

【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!

冰河

高并发 分布式锁 高性能 线程安全 签约计划第二季

4周第二题

sean

Flink向副输出发送数据6-6

小知识点

scala 大数据 flink

架构师训练营第四周命题作业

成长者

极客大学架构师训练营

架构师训练营 - 第 4 周课后作业

树森

第四周总结

架构师训练营第 1 期 -Week4 - 课后练习

鲁大江

极客大学架构师训练营 架构方案 架构手段

架构师训练营第 1 期第 4 周学习总结

郑凯元

极客大学架构师训练营

一个草根的日常杂碎(10月16日)

刘新吾

随笔杂谈 生活记录 社会百态

架构第四周作业

Geek_Gu

极客大学架构师训练营

架构师训练营第一期——第四周总结

tao

第四周作业

Geek_ac4080

第 4 周作业:一个典型的大型互联网应用系统使用了哪些技术方案和手段

云峰

【第四周】课后作业

云龙

系统架构

ABS

第四周-系统架构-作业

刘希文

架构师训练营 第四周作业

haha

极客大学架构师训练营

4周第一题

sean

架构师训练营第 1 期 -- 第四周学习总结

发酵的死神

极客大学架构师训练营

架构师训练营第 1 期 week4

张建亮

极客大学架构师训练营

「架构师训练营第 1 期」第四周作业

张国荣

架构师训练营第四周作业

月殇

极客大学架构师训练营

第四周作业

架构师 01 期,第三周课后作业

子文

架构师训练营第 1 期第 4 周作业

owl

极客大学架构师训练营

一个草根的日常杂碎(10月15日)

刘新吾

随笔杂谈 生活记录 社会百态

一个草根的日常杂碎(10月17日)

刘新吾

随笔杂谈 生活记录 社会百态

开源界最强类Excel前端控件——LuckySheet

孙苏勇

Excel 表格控件 在线excel

第 4 周学习总结:系统架构

云峰

今日小记:祝他们秋招季更好 | 好工作的标准

邓瑞恒Ryan

个人成长 成长 职业规划 工作 职业成长

第四周 架构方法学习总结

兵长

架构训练营

用C#和LINQ开发Ray Tracer_.NET_Jonathan Allen_InfoQ精选文章