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

引子

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

准备

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

分析

从图上发现:

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

综上看繁琐之处在于五角星的绘制是多次重复的操作,它们的共同点是:
- 外接圆中心为整数格点;
- 外接圆半径也是整数比例;
- 其中一个角的方向向量容易确定,但角度可能为无理数

宏的制作

输入参数确定

从而,决定如果制作一个绘制五角星的宏,那么,它的三个输入参数应该是:
- 外接圆心;
- 其中一个角的方向;
- 外接圆半径。

绘制过程

先在一般意义下绘制这样的一个五角星:
- 绘制外接圆心 A ,
- 任意绘制另外一点 B , 以射线 AB 作为其中一个角方向;
- 创建一个数字量,比如 r=1 作为外接圆半径;
- 然后以 A 为中心、72°或 25π 为角度间隔旋转射线 AB ,得到均匀分布的五射线, 比如Input 后输入下面命令:

Rotate[a,2 Pi/5,A]

- 求五条射线与外接圆的五个交点,如下图

在Geogebra中制作生成五角星的宏用于五星红旗_第2张图片

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

  • 隐藏线段,连接五角星的十条边得到多边形如图:
    在Geogebra中制作生成五角星的宏用于五星红旗_第3张图片

  • 隐藏辅助的点和标签,对多边形作颜色填充和修饰。完成五角星绘制。如图:
    在Geogebra中制作生成五角星的宏用于五星红旗_第4张图片

生成模板(宏,ggt)文件

  • 选取菜单栏Tools>Create New Tool 命令单击:
    在Geogebra中制作生成五角星的宏用于五星红旗_第5张图片
  • 弹出对话框:
  • 在Output Objects中选择最终要的polygon,即五角星

  • 在Input Objects中按照顺序选择 A , B 和数字 r
    在Geogebra中制作生成五角星的宏用于五星红旗_第6张图片

  • 最后命名,并写提示信息,点Finish:
    在Geogebra中制作生成五角星的宏用于五星红旗_第7张图片

  • 还可添加自定义的图片作为该宏的图标。默认则为扳手形状。勾选了Show in toolbar之后,在工具栏会多出一个新按钮:

  • 在Geogebra中制作生成五角星的宏用于五星红旗_第8张图片

  • 选择菜单命令Tools>Manage Tools

  • 弹出对话框,Save As 按钮可以把它保存为单独的ggt文件:
    在Geogebra中制作生成五角星的宏用于五星红旗_第9张图片

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

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

在Geogebra中制作生成五角星的宏用于五星红旗_第10张图片

你可能感兴趣的:(geogebra)