QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

评论

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

业务连续性专题:一致性和并发度的平衡

agnostic

高并发 一致性

Rust下SM4/AES/RSA加解密

dlzht

rust rsa AES SM4 RustCrypto

支出这么多?收入从何而来

源字节1号

小程序 开源 前端 后端

智能运维新课程丨雅菲奥朗“可观测性国际认证课程”圆满结束

雅菲奥朗

可观测性 Observability SRE培训 SRE考试 SRE认证

开启SRE技术新篇章:SRE Foundation认证培训圆满结课

雅菲奥朗

SRE SRE培训 SRE考试 SRE认证

硅纪元AI应用推荐 | 5分钟搞定会议纪要,一键生成脑图

硅纪元

通义听悟

游戏直播APP开发:如何实现低成本解决方案

软件开发-梦幻运营部

使用 Elasticsearch Python SDK 查询 Easysearch

极限实验室

Python elasticsearch easysearch

Topaz Video AI for mac(视频增强和修复工具) 4.1.0激活版

Mac相关知识分享

Marvelous Designer 11 for Mac(3D服装设计软件) v6.1.547中文激活版

Mac相关知识分享

Loopback for Mac(mac虚拟音频设备) v2.4.2激活版

Mac相关知识分享

IoTDB 分段查询语句详解:GROUP BY + 时序语义

Apache IoTDB

比亚迪王传福对话九牧林孝发,一场火出圈的“科技跨界”

Alter

KORG Software VOX Super Continental for mac(组合风琴音乐插件)

Mac相关知识分享

IDEA插件—激活JRebel

源字节1号

小程序 开源 前端 后端

ByteSRC奖励再升级,抖音单个漏洞奖金提升至20万元

科技热闻

Topaz Gigapixel AI for Mac(照片放大工具) v7.3.0激活版

Mac相关知识分享

spss统计软件:IBM SPSS Statistics 27 (Win/Mac) 中文激活版

你的猪会飞吗

spss数据统计 SPSS26破解版 spss统计软件

汽车行业看板实战培训顺利举行

雅菲奥朗

看板 价值流 VSM

行人、司机和“萝卜”的城市路权争夺战,谁能赢?

脑极体

AI

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