写点什么

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

评论

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

国内外十大开源快速开发平台推荐

NocoBase

开源 低代码 快速开发 无代码

《京东金融APP的鸿蒙之旅系列专题》鸿蒙新特性篇:Hello, 仓颉 World

京东科技开发者

探索HarmonyOS:一键掌握Router与NavPathStatck的传参和页面回调技巧

李小轰

HarmonyOS NEXT

华为阅读启动“乘国航 阅世界”国航伴读计划,3重好礼免费领!

最新动态

【稳定性】上线三板斧(可灰度、可验证、可回滚)

京东科技开发者

商业开源的最佳起步实践 PPT 分享中|QCon・北京站圆满落幕

Greptime 格睿科技

数据库 AI 云原生 活动

HarmonyOS UI动态化:探索自定义组件的创建与实时更新技术

李小轰

HarmonyOS NEXT

强化学习在众包差异化定价中的探索

京东科技开发者

KWDB v2.1.0 发版说明

KWDB数据库

时序数据库 查询优化 分布式架构 DataX 数据查询

如何在敏捷开发中实现更好的需求管理

易成研发中心

需求管理 需求管理工具

华为视频多平台聚合,热门IP《白夜破晓》《珠帘玉幕》任你追

最新动态

HarmonyOS :扩展修饰器,实现节流、防抖、权限申请

李小轰

HarmonyOS NEXT

NocoBase 本周更新汇总:优化 REST API 数据源插件

NocoBase

开源 低代码 插件 无代码 版本更新

某充电桩业务服务内存监控和程序行为分析

乘云数字DataBuff

运维 内存监控

《一文讲透》第4-3期:KWDB 数据库运维 —— 安全与审计(上)

KWDB数据库

时序数据库 数据库运维 审计 数据库安全 多模数据库

实录速递 | 和鲸ModelWhale助力医学Datathon跨学科协同,共筑数据科学与临床研究标准化新路径

ModelWhale

Python 人工智能 数据库 R语言 临床医学

人工智能与人类合作:未来工作模式的新探索

天津汇柏科技有限公司

AI人工智能

和鲸科技创始人&CEO范向伟出席首届工业智算产业发展研讨会,共话 AI 创新与产业化落地

ModelWhale

人工智能 大数据 AI R语言

HarmonyOS :基于 emitter 封装了一个便捷的 EventBus 事件通知

李小轰

HarmonyOS NEXT

和鲸气象联合解决方案闪耀亮相第29届联合国气候变化大会(COP29)

ModelWhale

人工智能 AI R 语言 气候 COP29

汽车摆臂行业数字化转型方案及MES系统具体功能介绍

万界星空科技

汽车 mes 汽车零部件mes 汽车摆臂行业 汽车摆臂mes

HarmonyOS :适配折叠屏展开与收起,实现单屏与双屏UI的无缝切换

李小轰

HarmonyOS NEXT

模拟器快速上手,助力HarmonyOS应用/服务高效开发

白晓明

HarmonyOS 模拟器 HarmonyOS NEXT

HarmonyOS :面向对象式网络请求库,我发布的第一个鸿蒙三方库

李小轰

HarmonyOS NEXT

HarmonyOS :自定义组件 @BuilderParam 中 this 作用域填坑小记

李小轰

HarmonyOS NEXT

Domino 流计算快速上手 - 2. 聚集

YMatrix 超融合数据库

数据库 数据仓库 流计算 超融合数据库

数智绩效合并报表:全球化合并实现财报精准高效

用友智能财务

科技 财务 企业数智化 财务软件

长上下文语言模型评估体系探析

Baihai IDP

程序员 AI LLMs 长上下文语言模型

用户指南 | 快速迁移 InfluxDB v2 数据至 GreptimeDB

Greptime 格睿科技

数据库 云原生 数据存储 数据迁移

HarmonyOS :自定义弹窗(CustomDialog)的解耦实践

李小轰

HarmonyOS NEXT

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