写点什么

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

评论

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

乘数智之风,为世界造舟筏:女性在当下如何创造?

脑极体

VuePress 博客优化之开启 Algolia 全文搜索

冴羽

Vue 搜索 vuepress 博客搭建 Algolia

模块九

撿破爛ぃ

架构训练营

Python从ECS内网拉取OSS数据

梦想橡皮擦

3月月更

论CTO的作用

hongfei

项目管理 个人提升 工程管理

诚邀参与 | OpenHarmony校园极客秀征文活动

OpenHarmony开发者

极客 OpenHarmony 征文活动

同人于野,平常无边 | 对话 StarRocks 的三位女性工程师

StarRocks

数据工程师 38妇女节

Python 学习路线(2022)

AlwaysBeta

Python django 编程语言 学习路线 编程入门

模块 9 作业(毕业设计)

miliving

Flutter 构建常见的App页面框架

岛上码农

flutter ios 安卓 移动端开发 3月月更

好书推荐 ——《噪声:人类判断的缺陷》

天择

好书推荐 认知偏差 噪声 3月月更

商品库存管理和秒杀系统设计(19/100)

hackstoic

技术方案 互联网应用技术方案

设计模式:今天你设计了吗?

SFLYQ

设计模式 服务器端开发 后端技术

使用AppleScript批量删除Mac中的信息

CRMEB

AI提取图片里包含的文字信息-解决文字无法复制的痛点

DS小龙哥

3月月更

Java最最基础入门知识总结回顾

逆锋起笔

Java java面试 javase 3月月更

Go语言实战之切片的内部实现和基础功能

山河已无恙

Go 语言 3月月更

Discuz! ML远程代码执行(CVE-2019-13956)

喀拉峻

网络安全

gRPC 简介实践

yuexin_tech

gRPC

超级群、群组、聊天室,IM 产品的场景化「特异功能」

融云 RongCloud

即时通讯 IM

工作以后流的泪,就是当初校招时脑子进的水

IC男奋斗史

职业规划 芯片行业思考

我要跳槽了!

IC男奋斗史

职业规划 芯片行业思考

天翼云SD-WAN斩获首批“SD-WAN 2.0 SASE”权威认证

天翼云开发者社区

SD-WAN

上手测试GaussDB(for Redis) 和开源 Redis,只为推荐质优价廉的Redis

华为云开发者联盟

数据库 redis 开源 GaussDB(for Redis) 开源Redis

Committer 蔡正昕专访:勇敢迈出第一步,做开源没有那么难

Apache Pulsar

架构 云原生 中间件 Apache Pulsar 开源社区

还在用递归,试试迭代吧

爱笑的小雨

安全实战:webshell的几种免杀方式

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

基于区块链技术的超级账本(Hyperledger) - 从理论到实战

汪子熙

区块链 智能合约 云平台 Go 语言 2月月更

融云通信周边能力上新啦!一键 Get 美颜、CDN 服务

融云 RongCloud

CDN 人脸识别

猿桌派第 2 季回归,报名赢现场录制机会!

融云 RongCloud

程序员

华云数据加入龙蜥社区,推动开源产业快速有序成长

OpenAnolis小助手

云计算 Linux 开源 操作系统 国产

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