写点什么

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

评论

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

考试数据存储方案

皓月

#架构实战营 「架构实战营」

深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践

阿里巴巴云原生

阿里云 云原生 边缘计算 openyurt

从运维域看 Serverless 真的就是万能银弹吗?

阿里巴巴云原生

阿里云 Serverless 运维 云原生

来了!「年度最强技术答辩」看这里

阿里巴巴云原生

阿里云 Serverless RocketMQ 云原生 编程挑战赛

这是一个操作系统,但既不是Windows也不是Linux

LAXCUS分布式操作系统

云计算 分布式操作系统 计算机集群 分布式应用 行列混合存储

电商系统微服务拆分和系统架构设计

drizzle

「架构实战营」

模块四作业

whoami

「架构实战营」

「架构实战营」模块四《如何设计业务高性能高可用存储架构》作业

DaiChen

作业 模块四 「架构实战营」

Spring Boot Serverless 实战系列“部署篇” | Mall 应用

阿里巴巴云原生

阿里云 Serverless 云原生 MAll

SAP R/3系统的R和3分别代表什么含义,负载均衡的实现原理

汪子熙

负载均衡 abap 1月月更

架构实战营 第 4 期 模块四作业

架构实战营 模块四 「架构实战营」

架构训练营 -- 模块六

LJK

#架构训练营

《亚马逊编年史》阅读散记

boshi

读书笔记

深入解读aws graviton3

三少

云计算架构师

996统计

你?

一次无脑接口测试导致的无效排查的经历

liuzhen007

1月月更

08 Prometheus之警报管理

穿过生命散发芬芳

Prometheus 1月月更

也谈谈Python的内存管理

宇宙之一粟

Python 内存管理 1月月更

急速学习C#死锁

喵叔

1月月更

2021 阿里云容器服务年度盘点:企业级容器应用变化和技术趋势观察

阿里巴巴云原生

阿里云 容器 运维 云原生

第六周作业

lv

云原生背景下故障演练体系建设的思考与实践—云原生混沌工程系列之指南篇

阿里巴巴云原生

阿里云 云原生 混沌工程

Elasticsearch核心原理系列:10张图理解Elasticsearch核心概念

慕枫技术笔记

后端 1月月更

ReactNative进阶(九):API学习之注册组件AppRegistry

No Silver Bullet

React Native 1月月更 AppRegistry

白帽子渗透行为监控方案

明亮安全观

网络安全 信息安全 渗透测试 行为监控

什么是 Github 的元数据以及如何备份 github 上的数据

汪子熙

GitHub 1月月更

【Spring专场】「AOP容器」不看源码就带你认识核心流程以及运作原理

码界西柚

spring spring 源码 1月月更 Spring原理

模块 4 作业

miliving

一文看懂椭圆曲线签名算法

Rayjun

区块链 椭圆曲线

从零打造Instagram

俞凡

架构 Instagram 大厂实践

Spring Boot CLI安装(WIN10、macOS系统)

JavaEdge

1月月更

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