写点什么

用 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:551190

评论

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

企业数据存储,还得看华为云对象存储服务OBS

爱尚科技

让下载速度更快更稳,华为云CDN多重技术助力网络加速

爱科技的水月

MatrixDB v4.6.0 发布,查询性能和图形化操作界面全面升级!

YMatrix 超融合数据库

Prometheus 存储引擎 超融合数据库 YMatrix MatrixGate

华为云OBS:让大数据的容器再无容量限制

爱尚科技

华为云对象存储OBS超高性能数据存储能力,推进企业快速上云

爱尚科技

超融合一体流式引擎,打造分布式数据库新纪元

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

人生的喜悦、不快与成长,都在那一篇篇的文字中得到记录 | 2022 年终总结

宇宙之一粟

年终总结 人生故事 代码之外 12月月更

共创精彩游戏未来,华为云大数据解决方案助力游戏企业成功转型!

秃头也爱科技

C#-使用Consul

kdyonly

C#

华为云OBS对象存储服务:这个管家很贴心

爱尚科技

华为云CDN引领网站性能全面优化

爱科技的水月

智能且高效,华为云CDN三大特点助企业云上创新

爱科技的水月

华为云大数据BI,如何助力智慧医院数字化升级

秃头也爱科技

华为云大数据BI,助力电商企业打赢“年货节”攻坚战

秃头也爱科技

什么样的魔法棒,能让AI魔法师一夜成名?

脑极体

亚信科技通信、交通行业数据库项目入选“星河”标杆、优秀案例

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

界面原型设计

芯动大师

android GUI设计 mockplus droiddraw

【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI

JAVA旭阳

Java 架构

华为云大数据BI平台,助力电商企业破除数据孤岛,轻松备战双十一

秃头也爱科技

助力网络碳中和 | 华为发布站点能源十大趋势

极客天地

2022-12-29:nsq是go语言写的消息队列。请问k3s部署nsq,yaml如何写?

福大大架构师每日一题

云原生 k8s k3s nsq 福大大

HTTPS基础知识

穿过生命散发芬芳

https 12月月更

浅谈华为云大数据BI对企业数字化转型的助力

秃头也爱科技

【web 开发基础】PHP查询数组中的指定元素 (50)

迷彩

数组 数组操作 二维数组 PHP基础 数组查询

【web 开发基础】PHP中获取数组的元素个数 (51)

迷彩

数组 数组操作 PHP基础 数组查询 统计数组

小米封杨:工业设备预测性维护及时序数据库选型

YMatrix 超融合数据库

工业4.0 超融合数据库 预测性维护 设备预测性维护 YMatrix

华为云微服务引擎0停机迁移Nacos?它是这样做的

科技之光

缓解等待焦虑,华为云CDN为您提供畅快下载体验

爱科技的水月

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