写点什么

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

评论

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

合约永续交易/秒合约/现货币币交易系统开发/技术应用

V\TG【ch3nguang】

现货合约跟单API对接交易所系统开发实现技术方案/源码部署

V\TG【ch3nguang】

掌握Spring事件监听器的内部逻辑与实现

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟

HarmonyOS电话服务开发指导

HarmonyOS开发者

WorkPlus:领先的IM软件,助力企业高效沟通与协作

WorkPlus

大模型时代的人工智能+大数据平台,加速创新涌现

阿里云大数据AI技术

人工智能

如何优雅的开发?低代码搭建应用如此轻松

互联网工科生

软件开发 低代码平台 JNPF

装备制造行业云MES解决方案

万界星空科技

数字化转型 工业互联网 mes 装备修理行业 云mes

在宇宙的视角下看我们WE

脑极体

腾讯

私有网络的安全保障,WorkPlus Meet内网视频会议助力企业高效会议

WorkPlus

三月份发车的Celestia你们拿到了吗

币离海

Celestia tia

关于佛萨奇2.0版波场链/币安链/马蹄链智能合约系统开发详细案例及源码

V\TG【ch3nguang】

秒合约系统、跟单合约和量化秒合约技术开发

V\TG【ch3nguang】

打造企业级门户,WorkPlus助您打造个性化与高效的企业通讯平台

WorkPlus

华为云开源校园行 | 线下meetup • 电子科技大学站

华为云开源

开源 云原生 华为云 Meetup

一文吃透低代码开发与传统IT开发的区别

树上有只程序猿

软件开发 低代码开发 IT开发

打造美团外卖新体验,HarmonyOS SDK持续赋能开发者共赢鸿蒙生态

HarmonyOS开发者

券商上演“极速交易”,天翼云组播行情解决方案助力券商稳中求快!

Geek_2d6073

合约跟单系统开发(方案及策略)丨合约跟单交易所系统开发(详细及源码)

V\TG【ch3nguang】

浅谈元宇宙链游系统开发的原理及逻辑(Python框架)

V\TG【ch3nguang】

全网最详细4W字Flink全面解析与实践(下)

Java随想录

Java 大数据 flink

软件开发全文档归档,开发、管理、实施、运维、服务巡检、信息安全、安全运维

金陵老街

概要设计 详细架构设计文档 软件文档

数字货币交易所/钱包开发系统开发详细,数字货币钱包/交易所系统开发(开发方案)源码

V\TG【ch3nguang】

第20期 | GPTSecurity周报

云起无垠

SaaS 出海,如何搭建国际化服务体系?(一)

LigaAI

创业 SaaS 国际化 To B业务 客户成功

BOE(京东方)发布2023年三季度报告 营收利润双增长 盈利能力持续提升

科技热闻

OpenHarmony状态变量更改通知:@Watch装饰器

OpenHarmony开发者

DAPP以太链/波场链/币安链代币合约流动性质押挖矿分红系统开发(开发详情及源码逻辑)

V\TG【ch3nguang】

快速出彩!适合产品经理的10款AI生成PPT工具推荐!

彭宏豪95

人工智能 AI PPT 在线白板 办公软件

DeFi流动性质押挖矿模式dapp系统开发模式详情(技术方案)

V\TG【ch3nguang】

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