10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

学习编程既要追根溯源、又要紧跟时代步伐

玄兴梦影

c 编程 语法

【牛客刷题-算法】NC151 最大公约数

清风莫追

数据结构 算法 最大公约数 10月月更

在Chrome浏览器中最快速实现拾色器(颜色吸管)

茶无味的一天

前端 谷歌浏览器

开发者有话说|在刷怪升级的成长路上,技术人应该掌握的三个大招

迷彩

个人成长 10月月更 学会学习 学会提问 学会思考

【一Go到底】第六天---值类型、引用类型、标识符

指剑

Go golang 10月月更

pgsql数据库自动备份

衝鋒壹号

10月月更

微信业务架构图 & 学生管理系统方案

无语

「架构实战营」

推荐一款id 生成器:Hashids

xiaoxi666

【Nacos源码之配置管理 四】DumpService如何将配置文件全部Dump到磁盘中

石臻臻的杂货铺

nacos 10月月更

【C语言难点突破】指针的常见易错点

Geek_65222d

10月月更

【结构体内功修炼】结构体实现位段(二)

Albert Edison

C语言 结构体 10月月更 位段

【一Go到底】第七天---运算符

指剑

Go golang 10月月更

踩上元宇宙的风口后,消费级AR眼镜真的复兴了吗?

脑极体

【愚公系列】2022年10月 Go教学课程 020-Go容器之数组

愚公搬代码

10月月更

Go设计模式“金旋风”——代理模式

Regan Yue

Go 设计模式 代理模式 10月月更

高效编程不一定意味着要疯狂写代码

宇宙之一粟

程序员 10月月更

你不知道的Java工具类库,十倍提升开发效率

一灯架构

Java java面试 10月月更

HashMap高阶用法,十倍提升开发效率

一灯架构

Java java面试 10月月更

阿里P8面试官总结的《2022最新java面试题》,搞定90%以上的技术面

程序知音

Java 程序员面试 后端技术 Java面试题 Java面试八股文

【牛客刷题-算法】NC141 判断是否为回文字符串

清风莫追

数据结构 算法 刷题笔记 10月月更

Qt|使用QuaZip压缩包中文乱码问题解决

中国好公民st

c++ qt 10月月更

单模光缆与多模光缆,网络工程师必知的光缆类型

wljslmz

网络工程 10月月更 单模光纤 多模光纤 弱电

传统架构面临的挑战及上云的优势

穿过生命散发芬芳

企业上云 10月月更

【牛客刷题-算法】加精 _ 合并两个有序的链表 - 从思路设计、bug排除到最终实现的全过程

清风莫追

算法 链表 算法数据结构 10月月更

与学长共话成长,领跑毕业新未来

宇宙之一粟

校招 10月月更

Android Coder带你了解反射

子不语Any

后端 java; 10月月更

Vue3入门指北(十)侦听器

Augus

Vue3 10月月更

爬虫练习题(二)

张立梵

Python. 10月月更 爬虫案例

2022-10-06:以下go语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3

福大大架构师每日一题

golang 福大大 选择题

竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码

一灯架构

Java java面试 10月月更

Collections之ArrayList源码解读(七)

知识浅谈

ArrayList 10月月更

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