2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

评论

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

鸿蒙高质量代码静态检测200条三

龙儿筝

鸿蒙

iLogtail 开源贡献人物专访:技术之路无坦途,与社区共同成长

阿里巴巴云原生

阿里云 云原生 iLogtail

淘宝APP商品详情深度解析:item_get_app精准提取标题、价格、销量、描述及SKU信息,助力竞品分析与推广策略优化

代码忍者

API 接口 pinduoduo API

操作系统大会2024即将在京召开,见证openEuler发展新里程

科技热闻

Apache Doris 2.1.7 版本正式发布

SelectDB

数据库 大数据 数据仓库 存算分离 湖仓一体

数据库运维实操优质文章文档分享(含Oracle、MySQL等) | 2024年10月刊

墨天轮

MySQL 数据库 oracle sql postgresql

HyperWorks的shrink warp meshing

智造软件

CAE CAE软件 Hypermesh hyperworks

Metasploit Pro 4.22.5-2024110601 发布下载,新增功能简介

sysin

Metasploit

Nexpose 6.6.278 发布下载,新增功能概览

sysin

Nexpose

上新丨统一多层网关架构系列视频课程

阿里巴巴云原生

阿里云 云原生

鸿蒙高质量代码静态检测200条四

龙儿筝

鸿蒙

百度世界大会:AI时代的公司官网来了 会后首日新增582家企业合作

极客天地

CST软件如何设置金属材料表面粗糙度

思茂信息

cst cst使用教程 CST软件

支付宝接口代签约失败排查指南

盐焗代码虾

接口 支付宝 接口代签约

深入探索淘宝API:电商开发的高效策略与实践

代码忍者

API 接口 pinduoduo API

VMware Cloud Foundation 4.5 - 领先的混合云平台

sysin

vmware Cloud Foundation

即时通讯技术文集(第42期):直播技术合集(Part2) [共13篇]

JackJiang

即时通讯;IM;网络编程

文档数字化采集与智能处理:图像弯曲矫正技术概述

合合技术团队

算法 数字化 图像处理 弯曲矫正

Microsoft System Center 2025 Multilanguage - Windows 服务器管理软件

sysin

center System

Serverless GPU:助力 AI 推理加速

阿里巴巴云原生

阿里云 Serverless 云原生

Veritas InfoScale 8.0 (Unix, Linux, Windows) - 高可用性和灾难恢复解决方案

sysin

Acunetix v24.10 发布下载,新增功能概览

sysin

Acunetix

Cisco Expressway Release X15.2.0 - 统一通信网关

sysin

Cisco Expressway

Microsoft Phone System Direct Routing需要准备的

cts喜友科技

通信 通信云 通讯

阿里巴巴 Qwen2.5-Coder: 代码智能的革命

吴脑的键客

人工智能 阿里巴巴‘

Java灵魂拷问13个为什么,你都会哪些?

威哥爱编程

Java 面试 JavaEE

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