尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
圆锥曲线 Python 可视化 45 分钟实践指南:三个滑块做出交互演示
圆锥曲线 Python 可视化 45 分钟实践指南三个滑块做出交互演示【免费下载链接】Book3_Elements-of-MathematicsBook_3_《数学要素》 | 鸢尾花书从加减乘除到机器学习上架欢迎继续纠错纠错多的同学还会有赠书项目地址: https://gitcode.com/GitHub_Trending/bo/Book3_Elements-of-Mathematics跑通开源项目《数学要素》(Book3_Elements-of-Mathematics) 后你在浏览器里拖动滑块椭圆会实时地倾斜、变扁、变圆。本文用该项目的第 9 章代码带你走通圆锥曲线 Python 可视化与交互演示的完整流程先出一张静态图再升级成可拖动的网页。需要的数学只有一个区分椭圆、抛物线、双曲线的数字。安装依赖命令与克隆仓库先把环境跑起来这一节能让你的环境不再卡在安装步骤上后面的代码才能只在数学上出错。一共四个库numpy 做数值计算matplotlib 负责画图streamlit 生成网页jupyter 用来打开 Notebook。git clone https://gitcode.com/GitHub_Trending/bo/Book3_Elements-of-Mathematics cd Book3_Elements-of-Mathematics pip install numpy matplotlib streamlit jupyter打开文件有两种方式终端执行jupyter notebook然后在浏览器里选第 9 章的 Notebook 逐个运行或者用 VS Code 直接点开 .ipynb 文件。Streamlit 应用在后面一节用一条命令启动。三条命令全部执行完毕且没有报错就可以进入下一节。离心率与曲线类型对照表一把统一的尺子这一节能给你一张读图用的表。圆锥曲线是平面切圆锥得到的曲线主要有椭圆、抛物线、双曲线三类圆算椭圆的特例。判断一条曲线属于哪一类看离心率 eEccentricity衡量它偏离正圆的程度就够了e 的取值曲线类型直观形状e 0圆椭圆的特例0 e 1椭圆e 越大越扁长e 1抛物线向一个方向张开e 1双曲线左右两支向外张开椭圆标准方程写作$$\frac{x^2}{a^2} \frac{y^2}{b^2} 1$$a、b 分别是半长轴和半短轴a 与 b 相等时变成圆e 回到 0。记牢这张表后面图里每一道颜色深浅不同的曲线你都能说出它的家底。三步运行圆锥曲线 Notebook出第一张静态图这一节能让你在 5 分钟内看到项目的标志性画面31 条曲线挤在同一张图里颜色从红到蓝渐变形状从圆一路演化到椭圆再到双曲线。对应文件是 Book3_Ch09_Python_Codes/Bk3_Ch09_01.ipynb。第一步在 Jupyter 里打开它点 Run All。能直接出图就跳到第三步出不了再看第二步的核心代码。x np.linspace(-4, 4, num201) y np.linspace(-4, 4, num201) xx, yy np.meshgrid(x, y) # 生成 201×201 的坐标网格 e_array np.linspace(0, 3, num31) # 31 个 e 值从 0 均匀排到 3 for i, e in enumerate(e_array): f yy**2 - (e**2 - 1) * xx**2 - 2 * xx # 圆锥曲线方程 plt.contour(xx, yy, f, levels[0]) # 描出 f 等于 0 的曲线三个设计点值得记住。一是为什么用网格contour 不是逐点连线而是扫描每个网格点、挑出函数值恰好为 0 的位置曲线就在那里所以必须有 meshgrid。二是为什么一个式子加一个循环项目刻意让三类曲线共用同一表达式只改 e于是同一张图里直接看得到从椭圆经抛物线到双曲线的连续变形这就是圆锥曲线的统一性。三是 levels[0] 的含义零水平等高线就是满足方程的点集也就是曲线本体。第三步改一个数字验证理解把 31 改成 11 再运行曲线变稀疏但每条的形状没变只是色带变粗。运行完你应该看到窗口里出现一组由椭圆渐变到双曲线的曲线。一键启动 Streamlit 应用拖动滑块操控椭圆这一节能把看图变成玩图。项目里的 Streamlit_Bk3_Ch09_03.py 会在浏览器画一个虚线矩形和一组永远与矩形四边相切的内接椭圆。左侧三个滑块分别控制 m矩形宽、n矩形高、rho倾斜度rho 为 0 时椭圆正放往两边拖椭圆逐渐歪过去。在终端执行下面这条命令Streamlit 会自动在浏览器打开本地页面默认 http://localhost:8501streamlit run Book3_Ch09_Python_Codes/Streamlit_Bk3_Ch09_03.py核心逻辑压成这几行with st.sidebar: m st.slider(m, 1.0, 2.0, value1.5, step0.1) n st.slider(n, 1.0, 2.0, value1.5, step0.1) rho st.slider(rho, -1.0, 1.0, value0.0, step0.05) ellipse ((xx/m)**2 - 2*rho*(xx/m)*(yy/n) (yy/n)**2) / (1 - rho**2) plt.contour(xx, yy, ellipse, levels[1], colors[b]) st.pyplot(fig)交互的关键在 Streamlit 的运行机制每拖动一次滑块整个脚本就从头再执行一遍用新的 m、n、rho 重算椭圆方程并重画曲线看起来才像实时响应。xx、yy 网格的生成方式和 Notebook 里完全一样。启动后你应该看到虚线矩形内嵌着一个蓝色椭圆拖 rho 时它左右倾斜改 m、n 时矩形比例同步变化。常见问题 FAQ终端提示 Port 8501 is already in use上次启动的 Streamlit 进程还占着端口。到那个终端按 CtrlC 结束它或换个端口启动在命令末尾追加--server.port 8502。浏览器里图形空白只有坐标轴多半是曲线算出来了但落在显示范围外。检查脚本里的 set_xlim、set_ylim先临时放宽到 -5 到 5 确认曲线存在再收紧范围。图中中文显示为方框系统缺中文字体。Linux 可安装fonts-noto-cjk或把图内标签临时换成英文。轮廓发虚、边缘有折角提高网格分辨率把 num201 改成 401曲线立刻平滑代价是运行时间略长。升级库后 matplotlib 报版本错误通常是 numpy 与 matplotlib 版本错配执行pip install -U numpy matplotlib一起升级再重启内核。圆锥曲线只在课本里出现吗不止。二维高斯分布的等高线就是椭圆马氏距离圈出的正常范围也是椭圆项目第 19 章优化入门还会反复用到这些形状可以之后回来看。资源清单与动手挑战 ️项目内建议按这个顺序读正文Book3_Ch08_圆锥曲线__数学要素__从加减乘除到机器学习.pdf 建立几何直觉Book3_Ch09_深入圆锥曲线__数学要素__从加减乘除到机器学习.pdf 深入参数与性质NotebookBk3_Ch09_01.ipynb 离心率渐变、Bk3_Ch09_02.ipynb 随 rho 变形的椭圆、Bk3_Ch09_03.ipynb 内切矩形的椭圆、Bk3_Ch09_04.ipynb 超椭圆指数越大越接近方形、Bk3_Ch09_05.ipynb 圆锥曲线一般式交互应用Streamlit_Bk3_Ch09_03.py、Streamlit_Bk3_Ch09_04.py项目说明README.md动手挑战把 Bk3_Ch09_01.ipynb 在本地复制一份仓库本身保持只读将np.linspace(0, 3, num31)改成np.linspace(0, 1.5, num16)后运行你会发现图里只剩椭圆、最远一条抛物线说说原因再把 num 改回 3只画 3 条曲线判断各自属于哪一类。能准确说出三条曲线对应的 e 区间这条线就算彻底跑通了。【免费下载链接】Book3_Elements-of-MathematicsBook_3_《数学要素》 | 鸢尾花书从加减乘除到机器学习上架欢迎继续纠错纠错多的同学还会有赠书项目地址: https://gitcode.com/GitHub_Trending/bo/Book3_Elements-of-Mathematics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战

QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战

QuickRecorder macOS 屏幕录制指南:双音轨、窗口录制与演讲者前置实战 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode…

📅 2026/9/20 20:51:16
DBX 数据库测试环境实战:启动并验证 Elasticsearch 6.8 单节点冒烟数据

DBX 数据库测试环境实战:启动并验证 Elasticsearch 6.8 单节点冒烟数据

数据库客户端数据库桌面应用CLI后端MCP 服务AI 应用 【免费下载链接】dbx 25 MB lightweight cross-platform database client for 90 databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, deskt…

📅 2026/9/20 20:46:16
OpenSpec:AI时代软件定义交付(SDD)的语义契约协议

OpenSpec:AI时代软件定义交付(SDD)的语义契约协议

1. 项目概述:OpenSpec 不是又一个 API 文档工具,而是 AI 时代软件定义交付(SDD)的底层协议层“OpenSpec 从入门到精通:AI 时代的最佳 SDD 范式”——这个标题里藏着三个被多数人忽略的关键信号:OpenSpec 是…

📅 2026/9/20 20:46:16
MORE NEWS

更多资讯

📰

Ray Tune 同步配置(SyncConfig)完全指南:实验状态、Checkpoint 与 Artifact 的持久化同步

Ray Tune 同步配置(SyncConfig)完全指南:实验状态、Checkpoint 与 Artifact 的持久化同步 【免费下载链接】ray Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML w…

📰

Agent技能库设计指南:从工具封装到智能编排的完整实践

1. 先把“agent-skills”拆开看:它到底在解决什么问题这两年只要做 Agent 相关项目的人,基本都会遇到一个很尴尬的现状:模型能力越来越强,可每次落地一个新场景,还得从头把工具、流程、边界条件一点点喂给模型。今天写…

📰

MMPose 关键点半自动标注:5 步跑通实战

MMPose 关键点半自动标注:5 步跑通实战 【免费下载链接】mmpose OpenMMLab Pose Estimation Toolbox and Benchmark. 项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose 数据集到 5000 张还在一张张手标?单人 17 个关键点加上框和分割&am…

📰

Phoenix Contexts 入门:用 Elixir 模块封装数据访问与业务逻辑

Phoenix Contexts 入门:用 Elixir 模块封装数据访问与业务逻辑 【免费下载链接】phoenix Peace of mind from prototype to production 项目地址: https://gitcode.com/gh_mirrors/ph/phoenix 本指南介绍 Phoenix 框架的核心设计概念 —— Contexts&#xff…

📰

Atlas 300V AI推理加速卡:YOLO模型从零部署与性能调优实战

1. 这块“运算加速卡”,到底解决了什么问题先给你吃一颗定心丸:Atlas 300V 24G 不是我们常说的那种跑训练的大显卡,它是一张面向推理场景的专用加速卡,官方定位是数据中心和边缘侧的人工智能推理。很多人第一次看到“24G”这个数字…

📰

BiLSTM+Attention语音情感识别实战:从模型到Web部署

简介:本资源是一套完整的语音情感识别研究与Web系统实现方案,面向人工智能、语音信号处理方向的本科生、研究生及算法工程师,解决语音情感分类模型构建与轻量级部署的实际问题。资源包含Attention-BiLSTM、BiLSTM、CNN-BiLSTM三种对比模型的完…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬