一、什么是蔓叶线

可以去参考百度百科

二、为什么要绘制蔓叶线?

那肯定是好玩啊

三、怎么绘制动态蔓叶线

我主要从我绘制的过程来进行说明。从百度可知蔓叶线的图像以及其曲线方程。


所以问题来了,蔓叶线的动态图像是怎么样的。可参考博主@预见未来to50蔓叶线绘制文章中所示。下图就是我最终的绘制结果。

由于其是曲线方程,本来想改为参数方程采用ParametricPlot命令来绘图,但是绘出的不是动图,所以只能采取别的办法。于是先明确动图中固定的部分和运动的部分。其中有坐标轴与直线x=8,与半径为4的圆,可先绘制。然后以从右到左的角度作为变量,绘制直线。


从中可以看出圆上的点与直线上的点转动的角度须一致。修改后,转动角度同步的图为:

接着就是将蔓叶线引入进来,一开始直接就是将参数方程引进的,然后:

灰常尴尬,图像木有动啊!改了一下,成为动态的蔓叶线,

然而并没有什么用。于是反其道而行之,抛弃了其参数方程,直接采用定义中的条件,将OM=PQ,再根据定义,计算出共线上各点的坐标。

点都在直线上,结合坐标的关系,根据角度变化,则可全部连在一起。后面就是改改线型,颜色,点的大小,以及标签之类的。

话不多说,上代码。

a = Table[Show[{ParametricPlot[{(8/Tan[t]) - 4 Sin[2 t], 4 + 4*Cos[2 t]}, {t, 0.01, t}, PlotStyle -> {Thick, RGBColor[1, 0, 1]}, AxesOrigin -> {0, 0}]},{Graphics[{Red, Disk[{4*Sin[2 t], 4 - 4*Cos[2 t]}, 0.2]}]},Graphics[{{RGBColor[1, 0, 1], Disk[{(8/Tan[t]) - 4 Sin[2 t], 4 + 4*Cos[2 t]}, 0.25]}, Text[Style["M", Black, Italic, FontFamily -> "Times", 22], {(8/Tan[t]) - 4 Sin[2 t] + 0.1, 4 + 4*Cos[2 t] + 0.6}]}],Graphics[{{Red, Disk[{8/Tan[t], 8}, 0.2]}, Text[Style["O", Black, Italic, FontFamily -> "Times", 22], {0, -0.6}]}],ListLinePlot[{{(8/Tan[t]) - 4 Sin[2 t], 4 + 4*Cos[2 t]}, {8/Tan[t],8}}, PlotStyle -> {Thick, Red}],ListLinePlot[{{0, 0}, {4*Sin[2 t], 4 - 4*Cos[2 t]}}, PlotStyle -> {Thick, Red}],ListLinePlot[{{4*Sin[2 t], 4 - 4*Cos[2 t]}, {(8/Tan[t]) - 4 Sin[2 t], 4 + 4*Cos[2 t]}}, PlotStyle -> {Thick, RGBColor[0, 1, 0.501961]}],PolarPlot[8 Sin[x], {x, 0, Pi}, PlotStyle -> {Thick, Blue}],Plot[8, {x, -12, 12}, PlotStyle -> {Thick, Green}],PlotRange -> {{-10, 10}, {-2, 10}}], {t, 0, Pi, 0.5/10}]
Export["e:/Program Files/math files/蔓叶线34.gif", a, ImageSize -> {720, 440}, ImageResolution -> 300]

由于在90度的位置会出现Tan90度分之一的无穷分之一的情况,所以动图刚开始会有一丢丢红色的一帧显示错误。我看整幅图大体上木有问题所以也就没管太多。由于本人初学Mathematica,所接触的函数和编程方法比较少,后续有了更深的了解后再进行修改。

Mathematica绘制动态蔓叶线相关推荐

  1. MATLAB绘制主函数动态图,matlab绘制动态图

    mathematica绘制动态图,"绘图之王"争霸赛--Excel才是绘图王道,matlab绘制动态图,动态三维图绘制 matlab动态图画法_数学_自然科学_专业资料.Matla ...

  2. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  3. C# 在PDF中绘制动态图章

    我们知道,动态图章,因图章中的时间.日期可以动态的生成,因而具有较强的时效性.在本篇文章中将介绍通过C#编程在PDF中绘制动态图章的方法,该方法可自动获取当前系统登录用户名.日期及时间信息并生成图章. ...

  4. python画动图-Python绘制动态水球图过程详解

    先来看看绘制的动态水球图: 没有安装PyEcharts的,先安装PyEcharts: # 安装pyecharts模块,直接安装就是最新的版本pip install pyecharts 安装好PyEch ...

  5. python绘制动态图-Python利用Echarts绘制动态交互图:快速入门

    我们都知道,Echarts是百度开源的超强大的数据可视化工具.Python中经典的matplotlib.seaborn等库相比,它最大的优点是所绘制的图形为动态图,这意味着我们可以和图形之间进行动态的 ...

  6. python画曲线-python绘制动态曲线教程

    从txt种获取数据 并且通过动态曲线显示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation ...

  7. 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF

    模仿绘制动态图像 模仿绘制动态图像 保存为动态图 GIF 视频转 GIF 模仿绘制动态图像 clc;clear a=[1 2 3 4 5 6 7 8 9 ]; b=[2 4 8 16 30 40 50 ...

  8. 可视化篇(三)———使用Excel绘制动态数据分布饼图

    可视化篇(三)---使用Excel绘制动态数据分布饼图 摘要 (一)问题引入 (二)通过偏移引用函数offset创建偏移量 (三)将偏移量字段插入数据透视表并作出饼图 (四)开发者工具中插入选项按钮 ...

  9. pyqt5与matplotlib结合画图 ,绘制动态图形

    pyqt5与matplotlib结合画图,绘制动态图,使图一直刷新. 常规的绘图加一个定时器就能完成. 如给一个数组x=[3,4,5],每隔一秒,数组就会添加一个数,同时每隔一秒就会画一次x的图,实现 ...

最新文章

  1. Javascript中的自执行匿名函数
  2. 简明 Python 编程规范
  3. 自动监控主从MySQL同步的SHELL脚本
  4. java使用gridview,java反射,用于GridView
  5. 事态升级是什么意思_农村老俗话说“男吵官司女吵穷”是什么意思呢,有没有道理?...
  6. 什么?学了C语言还不会表白,下面的多彩小心心快去拿给那个她吧
  7. 【opencv学习之十二】opencv滑条及实例
  8. 2023.04.22更新大麦网移动端/M端抢购软件和使用教程
  9. 零信任能彻底解决邮件安全难题
  10. 数据库实验一:数据库与数据表定义(2)—— 数据表相关操作
  11. kali下载速度慢_kali Linux 2020.1最新安装教程,绝对能帮你安装好!不是root、没有桌面、中文乱码、下载太慢、ssh链接等问题!...
  12. 【微信小程序】---- redux 在原生微信小程序的使用实例
  13. 基于MFC实现的赛车游戏
  14. 使用latex投稿时,tex文件不能生成pdf查看的问题解决方案
  15. 如何利用网络营销技巧推广中医平台?
  16. VLAN端口属性详解
  17. SpringBoot利用@Async注解实现异步调用
  18. iphone,ipad模拟器截图
  19. MySQL生成指定区间内的随机时间
  20. Unity中控制摄像机跟随人物主角的移动

热门文章

  1. div背景图片之间存在的缝隙解决方法
  2. 盛世昊通拼车车通证,以共享经济实现行业颠覆
  3. Navicat Premium 16安装方法
  4. CVPR2022 目标检测方向文章(附摘要)
  5. 解决:记事本打开无乱码而用UE打开乱码现象
  6. 应用上下文请求上下文
  7. vuejs知乎_GitHub - xrr2016/zhihu-daily: 知乎日报(Vuejs)
  8. Multisim的元器件模型的更换
  9. python爬取豆瓣代码_python爬取豆瓣
  10. linux内核黑名单,如何将内核模块列入黑名单?