《聪明人用公式计算三棱锥体积吗?》 回复
《聪明人用公式计算三棱锥体积吗?》 https://tieba.baidu.com/p/8056552446 。
23 楼
计算 三棱锥 体积 涉及 已知 三角形 三个顶点 求 三角形 面积, 这 又 涉及 到 四次方程 或 高次方程, 难怪 是 @多项式之父 的 领域, 类似 的 问题 还有, 已知 三角形 的 三条边边长 求 三角形 面积 。
这些 问题 我 以前 遇到过, 比如 @bnllm 《有没有这样一道题任意n多边形中一点n分该多边形面积?》 https://tieba.baidu.com/p/7447888526 , 我 在 9 楼 10 楼 回复了 。
其实 我也 可以 自己 推导一遍 三棱锥 体积 公式, 不过 算了, 明年 吧 。
如果 世界上 的 三棱锥 都是 直角三棱锥, 不就 简单 了 ?
K歌之王 : 其实 这里 又 延伸 出来 一个 问题, 以 一个 任意形状 的 三角形 为 三棱锥 的 底面, 三棱锥 的 三条棱 要 怎么生长, 长出来 的 三棱锥 的 每个 横截面 都是 相似三角形 ? 这里 的 横截面 是 和 底面 平行 的 横截面 。 进一步, 这个 问题 是否 有解 ? 嘿嘿 。
K歌之王 : 若 允许 三条棱 最终 不相交于 一点, 即 不构成 三棱锥, 那么, 在 一定 的 高度 内, 这个 问题 是否 有解 ?
30 楼
回复 24 楼 @太虚之父 @多项式之父
四维空间 里 五面体 是 封闭 的 吗 ?
另外, 楼上 有一些 楼 说到了 数值计算 和 3D 打印, 数值计算 三棱锥体积 有一定 的 技术含量, 但 3D 打印 不是 那么 简单的, 我 不是说 3D 打印 简单不简单, 而是说 3D 打印 出 三棱锥 后, 要 怎么 测量 体积 ? 还是 要 装水(灌水) 的, 可能 还要 倒模 以后 再 装水, 或者 直接 3D 打印 一个 模子 出来, 用 模子 装水 。 如果 说 3D 打印 可以 告诉 你 体积 的 话, 那 还是 用了 数值计算 。
K歌之王: @黎合胜 @星野梦美a (宇心) @ylyyjjlh @思维机器 @披萨反过来是你
Excalibur!: 回复 K歌之王 :不是说没有公式吗?软件又是用什么计算的呢?
K歌之王: 回复 Excalibur! :用 数值计算 啊 ,晚上详解 。 话说,谁说没有公式的 ?(疑问句)
Excalibur!: 回复 K歌之王 :@多项式之父 谁说没有公式的?
多项式之父: 回复 Excalibur! :验证看看
Excalibur!: 回复 多项式之父 :@K歌之王 让你验证看看
K歌之王: 回复 Excalibur! :有歧义, 是 让 @多项式之父 验证看看, 还是 让 @K歌之王 验证看看 ?
回复 30 楼, 数值计算 三棱锥 体积 比如 有 两种方法, 第一种 方法 是 单纯 的 模拟, 就是 把 三棱锥 看作是 许多 很薄 的 三角形块 叠成, 把 这些 三角形块 的 体积 加起来 就是 近似 的 三棱锥 体积 。 三角形块 的 体积 = 三角形面积 * 高 。 三角形面积 也是 用 模拟 的 方法 计算, 把 三角形 看作 许多 很窄 的 小长方形 组成, 把 这些 长方形 的 面积 加起来 就是 近似 的 三角形 面积 。 这种方法 (第一种方法) 的 时间复杂度 是 m * n, m 就是 三角形块 的 个数, n 是 长方形 的 个数 。 一般 用 n 个 很窄 的 小长方形 模拟 函数曲线 和 x 轴 围成 的 曲边形面积 来 计算 数值积分 会 把 n 取得 比较大, n 很大 精度 才高 。 以前 (2020 年 ?) 我 帮 左老师 @渝中寿人 做过一次 这种 模拟 的 数值积分, 印象中, n 取 100 万 时, 积分结果 和 @国手张伯 用 数学软件 计算 的 结果 比较 相似, 但 还是 相差 比较大, n 取 1000 万 时, 和 数学软件 的 结果 就 比较 接近, 但 还是 有 一定差距, 我估计 数学软件 的 n 取到 1 亿 以上 。
但 注意, 这里 计算 三棱锥 体积 是 m * n , 如果 m 和 n 都取 1000 万 或 1 亿, 那 1000 万 * 1000 万 或 1 亿 * 1 亿 这个 时间复杂度 就 太大 了 。
第一种 方法 中 可以说 全部 是 线性计算, 因为 根据 高度(位置) 计算 三角形块 的 三角形 的 三个顶点 坐标, 根据 三个 顶点 求 每一个 小长方形 的 顶点坐标 进而 求 长方形面积, 这些 全部 是 直线投影 和 直线相交 问题, 都是 线性方程(组) 。
第二种 方法 也是 把 三棱锥 看作是 许多 很薄 的 三角形块 叠成, 但 三角形 的 面积 用 数值方法 求解, 这里 的 数值方法 不是 用 许多 小长方形 模拟, (我认为 模拟 也是 数值方法 的 一种, 所以 这样说明), 而是 用 一些 算法 。 23 楼 已经说了 “已知 三角形 三个顶点 求 三角形 面积, 这 又 涉及 到 四次方程 或 高次方程”, 实际上 这个 代数方程 就是 要求 三角形 的 高, 也就是 这个 代数方程 的 一个 根 是 三角形 的 高 。
数值方法 求解 高次方程 (n 次方程), 首先 要 分析 方程 有 几个 根, 这里只 讨论 实根 。 把 n 次方程 看作 n 次函数, 有 几个 实根 就是 函数曲线 和 x 轴 有 几个 交点 。 可以 对 n 次函数 求导数, 一阶导数, 二阶导数, 三阶导数 …… 一直 求到 二次函数, 根据 这个 导数关系 可以知道 n 次函数 最多 有 n 个 实根, 但 这 也只是 一个 范围 “最多”, 并不能 知道 一个 n 次方程 确切 的 有 几个 实根 。
在 “已知 三角形 三个顶点 求 三角形 面积” 问题 中, 要求 的 是 高, 从 几何 上 应该可以 知道, 方程 的 正根 只有一个, 就是 高 。 而且 可以知道 0 <= 高 <= 底边以外的两条边中较小的一条边 , 知道了 高 的 取值范围, 用 跨越步进法 很容易 从 方程 中 求得 高 。
要 知道 n 次函数 和 x 轴 有 几个交点, 还可以 取 一些 样本点, 逐点绘制 出 函数曲线(当然 是 近似的), 来 看 函数曲线 的 大致趋势 。 这 算是 “数学规划” 吧 ? 这 也是 数值方法 (数值算法) 的 一种 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-10-04 三角函数 版 的 霍奇猜想