halcon中如何生成椭圆_教你动态生成椭圆,还教你怎么用海龟作图——GeoGebra制作教程...
先看下面的动画演示,你能给出答案吗?海龟-文末有制作教程
这就涉及到椭圆是怎么来的!
什么是椭圆——将圆拉伸 / 压扁?
椭圆的定义是什么?
椭圆的定义平面内与两个定点F1,F2的距离的和等于常数(大于|F1F2|)的点的轨迹叫做椭圆。
结合动画演示,看看什么是椭圆:画椭圆
通过动画演示,对椭圆就有直观形象的认识!
由此,一开始提出的问题,也随之得到解答!
所以,理解椭圆的定义,还可以换个角度想,很有趣——从点F1沿直线跑向椭圆上任何一点,再沿直线跑向点F2,其总距离都是一样的!
新问题来啦:|MF1|加上|MF2|怎样才能是一个定值?
解决这个问题,即有制作该动画的思路!
“画椭圆”的制作两线段的距离之和为定值,不妨考虑将两线段转化为在同一直线上
因为定值——可考虑圆,一个固定的圆,其半径为定值
等量的转化——考虑作中垂线,中垂线上的点,到线段两端点的距离相等
据此,我们可以写出指令:如需word版,请见作者个人介绍
同样,我们采取快捷的方法——直接复制所有指令,粘贴到GeoGebra按钮的脚本里:
可以看到生成的轨迹是椭圆,而且是整个显示。
那么,如何做到动态生成轨迹的效果?
划重点:
创建滑动条k',最小值为0,最大值为1;并在其更新脚本里输入:赋值(k,k')
将滑动条k的最大值改为:k'
这样做,拉动滑动条k’就有画椭圆的效果。
【这么做,可理解为:loc1 = 轨迹(M, k)由滑动条k控制,k的取值决定了M生成的轨迹。既然k为1时,可以生成完整的轨迹,那么控制k的最大值慢慢增大到1时,就可以让轨迹慢慢生成。】
如果想要通过按钮来控制轨迹的生成,只需创建按钮,其脚本为:
赋值(k',0)
启动动画(k')
自此就完成画椭圆的作品!
海龟效果的制作
海龟移动的效果是怎么制作的呢?
海龟( )
turtle( )
GeoGebra中,只需在指令栏输入海龟( ),敲完回车键,在绘图区原点(0,0)处便会显示一只海龟。
让海龟动的指令有前进(TurtleForward)、后退(TurtleBack)、左转(TurtleLeft)、右转(TurtleRight),具体语法为:前进( , )
后退( , )
左转( , )
右转( , )
所以,为了方便,我们把(0,0)作为椭圆的左焦点,也就是海龟的起点。
而海龟旋转的角度,可以用线段斜率(slope)的反正切值,或者用角度(angle)指令。
至于椭圆,不想输入椭圆方程,也可以用椭圆工具:
已有椭圆c,左、右焦点分别为A、B。于是,可以书写指令:如需word版,请见作者个人介绍
【备注:反正切用atand,返回角度,以度作为单位。而atan返回的角度,以弧度为单位。】
让海龟1、海龟2“动”的指令,我们分别写进按钮“海龟1演示”、“海龟2演示”的脚本里。
创建按钮“海龟1演示”,脚本为:
左转(海龟1,α)
前进(海龟1,距离(A,D))
右转(海龟1,β)
前进(海龟1,距离(B,D))
创建按钮“海龟2演示”,脚本为:
左转(海龟2,α1)
前进(海龟2,距离(A,E))
右转(海龟2,β1)
前进(海龟2,距离(B,E))
想多次演示,可创建按钮“复位”,脚本为:
删除(海龟1)
删除(海龟2)
海龟1 = 海龟()
海龟2 = 海龟()删除( )
删除(delete)指令:删除对象,及其从属对象。
这里用删除指令,再重新创建海龟。是因为新建的海龟就在我们要的起点处,书写起来也较为容易。
至此,海龟效果的制作就完成了,至于文本可以自行输入。
如需word版教程,请见作者个人介绍。
halcon中如何生成椭圆_教你动态生成椭圆,还教你怎么用海龟作图——GeoGebra制作教程...相关推荐
- mxOutlookBarPro中,button是通过for语句动态生成的,如何取得当前单击button的标题呢?...
mxOutlookBarPro中,button是通过for语句动态生成的,如何取得当前单击button的标题呢? VCL组件开发及应用 http://www.delphi2007.net/Delphi ...
- java使用flex生成swf_flex动态生成矢量swf字体--java动态生成swf文件
前言 相信很多在线设计的前端WEB应用会用到字体作为素材的案例,丰富多样的字体一般是部署在服务器端让用户去选择,而且能动态部署,使用客户端字体显然是不可取的: 现状 然而中文字体动不动就几个M,做过f ...
- python绘制反比例函数_描点法画反比例函数图像的动态演示——数学软件GeoGebra制作教程...
Gif动态图又又又上传不成功了,建议跳转链接查看全文:描点法画反比例函数图像的动态演示--数学软件GeoGebra制作教程www.toutiao.com 关于描点法画函数图像,前面已有三篇,包括以一 ...
- Java读取pdf模板,并动态生成pdf文件,如动态生成准考证
Java读取pdf模板,并动态生成pdf文件,如动态生成准考证 前几天遇到了一个生成准考证的需求,并提供用户下载,然后百度了一圈还是觉得使用itextpdf这个框架好用点.但是还需要找到一个能创建 ...
- vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件
使用form-create动态生成vue自定义组件和嵌套表单组件 maker.create 通过建立一个虚拟 DOM的方式生成自定义组件 生成 Maker let rule = [ formCreat ...
- layui图片上传按钮按着没反应_关于layui动态生成文件上传按钮后点击无效的解决办法...
首先,这是一个坑,大坑,网上一大堆写的云里雾里,不知所以,转了一圈,除了copy就是copy,Jesus God,花了一晚上,走通了这个坑,话不多说,直接解决 layui版本: layui-v2.5. ...
- 根据时间戳生成编号_使用雪花算法生成流水号!
前言"在分布式系统中常见的问题就是如何生成流水号,一般情况下会有专门的流水号系统,不过在开发过程中或者开发早期不一定会有专门流水号系统,在这里介绍下我所使用的流水号生成器--雪花算法&quo ...
- android唯一机器码生成方案_分布式系统唯一ID生成方案汇总
系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很多,适应不同的场景.需求以及性能要求.所以有些比较复杂的系统会有多个ID生成的策略.下面就介绍一些常见 ...
- php如何生成一年的日历表_使用php动态生成一个日历,附源码。【简单实用】
日历在web开发中是非常常用的一个功能,网上搜也能找到一大堆日历组件,大部分是js组件. 因为再开发过程中需要使用到日历的功能,又不想下载什么日历组件.所以就自己动手写了一个简单的php生成日历的功能 ...
最新文章
- python selenium脚本_怎样开始写第一个基于python的selenium脚本
- js实现审批流_超实用的工作流,小白用户也能轻松驾驭
- COM:养分平衡在塑造植物根-真菌互作中的作用:事实与猜想
- 所有顶点对最短路径问题(图的应用)
- bp神经网络算法步流程_基于遗传算法的BP神经网络优化算法模板
- 操作系统的初始化流程简图
- 公钥密码-非对称加密算法
- pylucene构建索引_pyLucene
- [BZOJ3173][Tjoi2013]最长上升子序列
- Python 为了提升性能,竟运用了共享经济!赶紧看看!!
- 妙笔生花!文字图像图形生成技术研究进展
- linux手动安装rsync_Linux中安装使用rsync | 学步园
- 导航 navigationbar 与 tabbar
- [linux] ab压测工具进行post压力测试
- 计算机控制液压同步顶升系统,变频控制同步顶升液压系统
- 论文阅读:A machine learning approach to medical image classification:Detecting age-related macular dege
- 计算机类文献综述如何写,应该如何撰写计算机类文献综述.doc
- 盘点国外知名量化基金
- java实现简单的 cs架构
- 计算机导航窗格里没有桌面,今天解决win10 导航窗格怎么添加桌面的解决环节