今天看到了一个 求 平面图形 Centroid 的 办法
这件事 其实 是 这几天 讨论 的 一些问题 引出来 的, 见 《记录一下这几天的一些讨论》 https://www.cnblogs.com/KSongKing/p/15028555.html 。
今天 (2021-7-16) 下午, 馥岚过野 在 QQ 群 里 发了一个 外国网站 https://www.efunda.com/math/areas/Centroid.cfm , 里面 介绍了 一个 求 平面图形 Centroid 的 方法 :
有空 可以 写 几个 Demo 试试 。
其实 这里 介绍 的 方法 还是 有 挺多 可以 推敲 的 , 比如 , 这个 方法 可能 主要 适合用于 在 x 轴 和 y 轴 方向 上 对称 的 平面图形 。
由此, 又可以引出 一些 数学问题 。
2022-04-29 补充 :
前几天 又看到了 这篇文章, 想了一下, 上面 外国网站 介绍 的 方法 也 适用于 不规则 图形, 不仅仅 适用于 在 x 轴 和 y 轴 方向 上 对称 的 平面图形 。
看 形心 怎么定义 。 如果 形心 定义 为 过 形心 的 任意一条直线 都 平分 图形 (图形 被 直线 分成 的 两部分 的 面积相等), 或 任意 两条 直线 过 形心, 对角 的 部分 面积 相等 。 那么, 根据 二元函数极值定理, 上面 外国网站 的 方法 还是 讲得通 的, 也是 对 的 。
但 又 细看了一下, 发现, 外国网站 的 公式 有 错误, 而且 错的 莫名其妙 。 不知 怎么会 想出 这样 的 公式 来 。
第一组 公式
第一组 公式 看起来 是 求 “均值”, 但 这里 不应该是 求 均值, 而应该是 求 “平分线” 。 均值 和 平分线 是 不一样 的 。
而且 这里 的 均值 比如 Cy 是 让 Cy * A = ʃ y dA, 即 让 底 为 A, 高 为 Cy 的 矩形面积 Cy * A 等于 曲边形面积 ʃ y dA , 但 通常来想的话, 是不是 Cy * X = ʃ y dX 这样 的 均值 Cy 更合适一些 ? X 是 图形 在 x 方向(x 轴) 上 的 宽度, dX = dx 。 当然 dX 有 区间 的 属性, 包含了 定积分 的 意义, 可以 这样理解 。 比如 [ x1, x2 ] 区间 上 的 定积分 ʃ y dx , [ x1, x2 ] 可以 写作 ʃ y dX , 即 ʃ y dx , [ x1, x2 ] = ʃ y dX 。 X 本身 包含了 区间 和 定积分 的 意义, X = x2 - x1 。
当然, 我们刚刚说了, 这个 均值 和 平分线 是 不一样 的 , 均值 也不适合 用来 求 形心, 和 形心 好像 没什么关系 。 既然 Cy * X = ʃ y dX 的 这个 均值 Cy 不是 平分线 , 那 Cy * A = ʃ y dA 的 这个 均值 Cy 和 平分线 就 更没什么关系了吧 ? 当然 这是 一个 大概 的 推断 , 并不严格 。
究竟 Cy * A = ʃ y dA 有什么 含义, 得到的 Cy 是否 是 平分线, 或 是 形心 (形心 的 y 坐标), 这 需要 数学证明, 留给大家 。
另外, Cy * A = ʃ y dA , 这个 Cy 是不是 应该 也是 Y ? Y = y2 - y1 。 而 ʃ y dA 的 y 是不是 也应该 是 Y ? Cy * A = ʃ Y dA 。 Cy 是 ( ʃ Y dA ) / A 得到 的 均值 Y 。
挺乱的 。
第二组 公式
第二组 公式 也是 求 均值, 用于 复杂图形, 把 一个 复杂图形 分割 为 一些 简单图形, 把 简单图形 的 形心 坐标 按 这个公式 合起来 。
如果 简单图形 是 在 x 方向 或 y 方向 上 顺序 的 排列起来 合成 复杂图形, 那 第二组公式 也 讲得通, 和 第一组公式 等价 。 如果 不是 这样, 而是 简单图形 纵横交错 像 拼图 一样 合成 复杂图形, 好像 也 讲得通, 和 第一组公式 等价 。 可以在 数学 上 证明 。
但 要 注意 的 是, 第一组 公式 中, A 上 有 无数个 dA, 站在 x 坐标 的 角度 来 看, 这些 dA 并不相等, 也就是 每一个 dA 不相等, 一个 dA 和 另一个 dA 不相等 。
第二组 公式 中, 简单图形 纵横交错 像 拼图 一样 合成 复杂图形 的 情况, 在 某个 x 处, 有 A1 也有 A2, 就是 在 这个 x 处, A1 、A2 “纵向排列”, 纵向 是 y 方向, 则 A1 上 的 dA 和 A2 的 dA 也可能不相等 。
这样 会不会 有问题 ? 嘿嘿 。
要让 dA 处处相等, 就要 用 A 来表示 x, 设 A = f ( x ) , 则 x = f -¹ ( A ) , ʃ x dA = ʃ f -¹ ( A ) dA, 在 ʃ f -¹ ( A ) dA 里, dA 处处相等 。
这里, 我发现了一个定理 : 一个函数 的 导数 的 倒数 的 积分 是 这个 函数 的 反函数 !
dy / dx = f ′ ( x )
dx / dy = 1 / f ′ ( x )
dx = 1 / f ′ ( x ) dy
ʃ dx = ʃ 1 / f ′ ( x ) dy
x = ʃ 1 / f ′ ( x ) dy
哈哈 。
就算 第二组公式 和 第一组公式 等价, 但 因为 第一组 公式 就 搞错了, 求 均值 是干嘛 ? 应该是 求 平分线 。 因此, 第一组 和 第二组 公式 都没有意义 。
但 受 这套 公式 和 方法 的 启发, 我 想到 和 总结 了 正确 的 方法, 说一下 。
对于 任意 的 复杂图形, 形心 定义 为 过 形心 的 任意一条直线 都 平分 图形 (图形 被 直线 分成 的 两部分 的 面积相等), 或 任意 两条 直线 过 形心, 对角 的 部分 面积 相等 。 这个定义 记为 【 定义 (1) 】 。
先 求 x 方向 的 平分线, 平分线 就是 一条 直线 将 图形 分成 两部分, 两部分 的 面积 相等 。 x 方向 的 平分线 就是 平行于 x 轴 的 平分线 。
再 求 y 方向 的 平分线,
x 方向平分线 和 y 方向平分线 的 交点 就是 形心 。 这根据 二元函数极值定理 证明 。
但 又 想了一下, 发现, 这个 结论 并不成立, 也不能 用 二元函数极值定理 证明 。
实际上, 可以 很容易 举出 例子, 大多数 的 图形 没有 【 定义 (1) 】 那样 的 形心, 有 【 定义 (1) 】 这样的 形心 的 图形 大概 只有 三类 :
1 中心对称 的 图形
2 旋转 180 ° 对称 的 图形
3 左右对称 且 上下对称 的 图形, 左右对称 和 上下对称 都是 轴对称 。
在 分析 这个 问题 的 过程中, 分析了 一个 例子,
已知 钝角三角形 ΔABC, 直线 a 、b 都是 ΔABC 的 平分线, a 、b 正交于 点 O, AH 垂直于 BC, AH 和 a 的 夹角 为 45 °, EF 过 点 O 平行于 BC, 那么, EF 是不是 ΔABC 的 平分线 ?
来, 同学们, 证明一下 ?
我想 申请 这题 作为 数学竞赛题, 不知道 能不能 入选 ?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-07-21 物理学 的 基本原理