编程与软件工程a1k0n.net编辑精选
甜甜圈数学——donut.c 如何工作
Donut math - How donut.c works
2011 — 2014,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇文章由 donut.c 作者亲自解释那段著名 ASCII 甜甜圈代码背后的数学:如何用三角函数构造圆环(torus)、进行 3D 旋转和投影,再用字符亮度模拟光照与深度,最终在终端里画出旋转的甜甜圈。作者尽量把推导控制在高中的三角和代数水平,让看似魔法的混淆代码变得可理解。
为什么经久不衰:它把一段极客味十足的混淆 C 代码拆解成清晰的几何与投影步骤,既是经典代码考古,也是学习 3D 渲染入门数学的直观材料。
HN 评论精选
作者自述文章面向高中三角和代数水平,并征求读者澄清意见。
在这样一篇技术性很强的文章里,我总不确定自己解释得够不够好。这篇我尽量把内容控制在高中的三角/代数 II 水平。我已经校对无数遍了,但有什么地方可以讲得更清楚吗?
a1k0n查看英文原文
In a highly technical post like this I'm never sure how well I'm explaining it. I tried to keep things at the high school trig/algebra II level for this one. I've proofread it a billion times now but is there anything I can clarify?
推荐进一步阅读混淆 C 相关书籍和 IOCCC 作品。
如果你喜欢拆解混淆 C 代码,可能也会喜欢 Don Libes 的《Obfuscated C And Other Mysteries》。除了编程建议,它还分析了 1984—1991 年混淆 C 大赛的一些顶尖作品。
kqr2查看英文原文
If you like deconstructing obfuscated c, then you may also enjoy Obfuscated C And Other Mysteries by Don Libes. In addition to coding advice, it looks at some of the top entries from the Obfuscated C Contest, 1984-1991. http://www.amazon.com/gp/product/0471578053/ Also appears to be available as a reprint: http://www.cafepress.com/libes.43758522 Obfuscated C Contest website: http://www.ioccc.org/
推荐 Iñigo Quilez 的 raytracer 实时编程教程作为相关入门资源。
Iñigo Quilez 有我见过最好的简单光线追踪实时编程教程。它比我想的容易多了。
Gravityloss查看英文原文
Iñigo Quilez has the best live coding tutorials on simple raytracers I've seen: http://www.iquilezles.org/live/index.htm It's so much easier than I thought...
强调数学对软件开发的重要性。
这篇文章说明了为什么想开发软件的人应该学数学。
zackbloom查看英文原文
This article demonstrates why it is important to learn math if you want to develop software.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选