网站首页 > 技术文章 正文
一个粗糙的圆,是多边形还是圆?这个问题本身没有太大意义。毕竟,圆的定义即同一平面内,到定点的距离等于定长的点的集合;不完美、粗糙的「圆」本身就不是数学定义的圆。
「粗糙」的概念是模糊的,无法为我们带来任何好处,除非我们改用更严谨的语言。
例如:「一块半生不熟的牛排,是生的牛排还是熟的牛排?」
这个问题是不是特别流氓?
我们很快就能看出,牛排不止有「生」、「熟」两种状态。
为了讨论「半生不熟」,我们要引入更严谨的描述:零分熟、一分熟、二分熟、……、八分熟、九分熟、十分熟。(没错,我列出了偶数分熟的牛排。我坚定地认为,数值化是翻译什么rare, medium well时候的伟大改进,把定性描述改成了定量描述。现实煎牛排时,不可能完美控制熟度,存在随机噪音,所以用不到无限精度的实数,浮点数+精确到小数点后三位就绰绰有余了。)
回到这个问题,我们可以提出一个类似的思路:「这个二维形状,有多接近一个完美的圆形?」
在二维空间中,它是圆度(roundness)。
对于圆度,我们大致可以把它看做内切圆与外接圆的比值。更具体的数学推导,可以参见英文维基、ISO等更专业的网站。另外,圆度和圆度误差不是同一个东西,百度百科的简介里似乎搞混了。一个完美圆的圆度为1,圆度误差为0。
我们可能会觉得,只要一个图形从各个角度测量的直径都一样,那么它就是一个圆形。其实不是这样,定宽曲线(例如莱洛多边形)了解一下?
在三维空间中,类似的概念是球度(sphericity)。但是,球度并非圆度在三维空间的直接推广。
球度是Compactness measure of a shape的一个例子(这里的compact和拓扑学没有任何关系)。它的计算方式为
,其中Ap是三维物体的表面积,Vp是该物体的体积。
维基百科Sphericity - Wikipedia列出了一些常见三维几何体的球度:
更深入的相关知识,估计要找地质学或者工程专业(大概吧……)的工作者了解了。
注:本文转自公众号“数学职业家”
猜你喜欢
- 2024-12-19 C++的23种设计模式(上篇-创建型模式)
- 2024-12-19 25000 字详解 23 种设计模式(多图 + 代码)
- 2024-12-19 开源的的二维绘图引擎,EChart在用的图形渲染器——ZRender
- 2024-12-19 手机拍大片诀窍记心间 掌上PS应用合集
- 2024-12-19 搞科研常用技能和绘图学习 科研绘图工具
- 2024-12-19 「服装小知识」服装各部位名称学习(中英对照)
- 2024-12-19 10分钟教你如何看懂GIA证书 怎么看gia证书的详细信息
- 2024-12-19 图片四个角怎么能做成圆弧角?这几种制作方法操作起来很简单!
- 2024-12-19 苹果梨篇:大庙香水梨 大香水梨品种介绍
- 2024-12-19 教你用OpenCV 和 Python实现圆物检测
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)