你有多久没手写过三角函数了?不是调用sin(),而是从0开始造轮子。
巴西圣卡洛斯联邦大学(USP São Carlos)计算机系的一个扩展项目,最近把这件事拍成了教程。他们用C语言实现正弦计算,完全不碰。
打开网易新闻 查看精彩图片
核心思路:泰勒级数硬算
sin(x) = x - x³/3! + x⁵/5! - x⁷/7! + ...
取前几项近似,精度够用,代码量极小。没有浮点库依赖,嵌入式场景也能跑。
这个项目来自BCC-ICMC(计算机科学与数学计算学院)的课外拓展计划。作者在YouTube评论区挂了个问卷,收集观众反馈——典型的学术开源做派。
为什么这事值得看?
第一,它戳中了一个真实痛点:嵌入式开发里,数学库常常太大或根本不存在。自己实现基础函数是基本功。
第二,泰勒展开这个"老古董"算法,在资源受限环境里反而比查表法更省内存。项目没提性能数据,但方法本身经得起推敲。
第三,视频只有7分钟,没废话,直接上代码。这种密度在编程教程里算稀缺品。
一个有趣的细节
作者在开头发问:「你们试过不用算正弦吗?」
这个问题本身就是筛选器。答"没有"的人,是目标观众;答"经常用"的人,大概率在写操作系统或单片机固件。
巴西高校把这类硬核小项目做成公开教程,国内同类内容大多藏在考研辅导书里,或者散见于个人博客。传播形式的差异,可能比技术本身更值得琢磨。
视频链接扔在描述区,问卷也在。如果你正被某个资源受限的场景卡住,这7分钟可能比翻文档更高效。
热门跟贴