在Geogebra中制作生成五角星的宏用于五星红旗

引子

在Geogebra中也提供了自定义按钮或类似宏的功能。虽然简单,但是容易忘记,所以,找一个例子记录下来以备不时之需。

准备

学习新东西,最好是从理解和解决实际问题实际案例入手,比较好的例子是用Geogebra绘制一幅五星红旗。从网络上找到五星红旗设计草图如下,包括长宽比例,星的位置和方向等详细信息。

分析

从图上发现:

  • 五星红旗长和宽的比例是30:20;
  • 有五星的区域仅占左上角的1/4相似矩形;
  • 大五星外接圆半径如果是3,小五星外接圆半径为1;
  • 所有五星的外接圆圆心易定,都是整数格点位置;
  • 四个小五星都有一个角是正对大五星中心的,但角度不易表达;

综上看繁琐之处在于五角星的绘制是多次重复的操作,它们的共同点是:

- 外接圆中心为整数格点;

- 外接圆半径也是整数比例;

- 其中一个角的方向向量容易确定,但角度可能为无理数

宏的制作

输入参数确定

从而,决定如果制作一个绘制五角星的宏,那么,它的三个输入参数应该是:

- 外接圆心;

- 其中一个角的方向;

- 外接圆半径。

绘制过程

先在一般意义下绘制这样的一个五角星:

- 绘制外接圆心A,

- 任意绘制另外一点B, 以射线AB作为其中一个角方向;

- 创建一个数字量,比如r=1作为外接圆半径;

- 然后以A为中心、72°或25π为角度间隔旋转射线AB,得到均匀分布的五射线;求五条射线与外接圆的五个交点,如下图

  • 隐藏辅助的射线和外接圆,对五个点中不相邻的点创建两两连接的直线或线段,作出它们的交点,如下图所示:

  • 隐藏线段,连接五角星的十条边得到多边形如图:

  • 隐藏辅助的点和标签,对多边形作颜色填充和修饰。完成五角星绘制。如图:

生成模板(宏,ggt)文件

  • 选取菜单栏Tools>Create New Tool 命令单击:
  • 弹出对话框:
  • 在Output Objects中选择最终要的polygon,即五角星
  • 在Input Objects中按照顺序选择A,B和数字r
  • 最后命名,并写提示信息,点Finish:
  • 还可添加自定义的图片作为该宏的图片。默认则为扳手形状。勾选了Show in toolbar之后,在工具栏会多出一个新按钮:
  • 选择菜单命令Tools>Manage Tools

  • 弹出对话框,Save As 按钮可以把它保存为单独的ggt文件:

  • 该ggt文件可以在新建的GGB文件中打开,作为单独的用户自定义工具使用。至此就完成了。

用自定义的宏工具制作的五星红旗

时间: 2024-10-13 21:58:09

在Geogebra中制作生成五角星的宏用于五星红旗的相关文章

linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析

在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个域:     bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令.     bit29~bit15 14位为 "数据大小" 区,表示 ioctl() 中的 arg 变量传送的内存大小.     bit20~bit08  8位为 “魔数"(也称为&q

iOS中制作可复用的框架Framework

xcode6后支持在xcode中制作动态库,并且过程也十分简单. 新建一个项目,选择framework: 之后我们在里面编写我们的代码,比如我们创建一个MyObject类: @interface MyObject : NSObject -(void)myLog; @end @implementation MyObject -(void)myLog{     NSLog(@"framework"); } @end 和静态库类似,如果我们不做任何处理,打包出来的库文件只能在模拟器或者只能在

使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物

探索用于高级排版和印刷的新一代开放电子书标准 EPUB 3.0 是最新的行业标准 XML 电子书格式,它采用了 HTML5 和 CSS3,因而融入了现代 Web 技术.它重点关注 XML 驱动的工具包,要求 XHTML 序列化,还增加了补充性的 XML 词汇,例如 MathML 和 SVG.EPUB 3 提供了多种开发先进的原生数字出版物的选项.在这篇文章中,您将学习如何利用 EPUB 3 中的部分新特性来制作具有版式丰富的页面. 0 评论: Liza Daly, 软件工程师和企业家, Safa

在Eclipse中制作SSH配置文件提示插件

原文地址:http://blog.csdn.net/longyuhome/article/details/8968093 这篇博客算是对原先的“在Eclipse中制作和使用struts2配置文件提示插件”的博客一个升级吧!原先的那篇没有Spring的提示,那时的我还不知道如何给Spring的配置文件进行,这几天,刚刚知道了.制作了这个插件之后,可以在任何的工作空间有效,不过现在我还不知道在MyEclipse中怎样才能好使.现在的插件只是针对Eclipse的.对于MyEclipse的插件还在进一步

eclipse从数据库逆向生成Hibernate实体类(eclipse中反向生成hibernate实体类+jpa注释)

eclipse从数据库逆向生成Hibernate实体类 做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再"自己"建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是: 1. 1.5倍工作量,浪费时间.(时间对公司来说很重要) 2. 无法

Java中动态生成当前日期的文件

1.Java中动态生成当前日期的文件名称并且将控制台的输出信息输入到文件中     public static void SaveClonseToFile() throws IOException, FileNotFoundException {         File f = new File(getCurrentDateFileName() + ".txt");         f.createNewFile();         FileOutputStream fileOut

java中如何生成可执行的jar文件

java中如何生成可执行的jar文件 最简单的方法就是: jar -cfe Card.jar CardLayoutDemo CardLayoutDemo$1.class CardLayoutDemo$myAct ionListener.class CardLayoutDemo.class myClosingListener.class myPanel.class jar命令为java自带的专用打包工具: c代表生成新的jar包: e代表可执行的类,亦即main方法所在的类.如果该类有所属的包,书

在MDK中如何生成*.bin格式的文件?

在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件.虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具.为了充分地利用现有的工具,同时发挥Realview MDK集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法.本文将详细的探讨这种转换方法. 在详细的

visual studio C/C++ 编程学习 visual studio 中的生成事件

也许是太方便了,大家在visualstudio中调试代码时,大多习惯了直接点这个小绿箭头,但其实从点这个小绿箭头直到程序开始运行中间经历了多个步骤. 下面我就这段事件在编译过程中遇到的问题,讲一些我的经验. 今天先来说一说 visual studio 中的生成事件 一个事例:有几幅bmp图像数据文件放在 test .vcproj工程文件所在文件夹下面的Data文件夹中.此时,外界调用该工程所生成的DLL文件,且需要取Data文件夹中bmp图像数据文件. 如下图所示: 作为首启动项的CallTes