小熊猫C++自带rturtle库的使用说明,以下资料均整理自网络
1 海龟作图的坐标系
为了便于学生理解,在海龟作图中使用和中学数学课本中一致的平面直角坐标系和方向角定义。
1 坐标系
原点在窗口正中间 x轴平行于屏幕底边,正向向右 y轴垂直于屏幕底边,正向向上
2 方向角
0度方向角指向x轴正向,即屏幕右侧; 90度方向角指向y轴正向,即屏幕正上方。
2 海龟移动
1 前进和后退
使用forward()或者fd()函数,可以让海龟前进;backward()或者bk()函数可以让海龟后退。
2 转向
使用leftTurn()或者lt()函数,可以让海龟逆时针转动指定的角度(单位为度,360度为一圈);使用rightTurn()或者rt()函数,可以让海龟顺时针转动指定的角度。
3 清除绘制内容
使用clearScreen()或者cs()函数,可以清除窗口中所有已经绘制的内容,并将海龟重置到初始位置。
使用clear()函数,可以清除窗口中所有已经绘制的内容,但是并不重置海龟。
4 重置海龟位置
使用home()函数,可以让海龟瞬间返回初始位置:海龟位于屏幕正中间,并且朝向正上方。
3 高级移动函数
在海龟作图中,除了让海龟前后移动和向左向右转向之外,还可以直接让海龟移动到屏幕上的某个点,或者转到某个特定的方向角。
1 有过程移动
下表中的函数,可以让海龟移动或者转向特定的位置或者角度。
函数 | 作用 |
---|---|
gotoXY(x,y) | 让海龟爬动到点(x,y)处 |
turnTo(angle) | 让海龟转动到方向角为angle |
faceXY(x,y) | 转动海龟,让它朝向点(x,y) |
2 无过程瞬移
下表中的函数,将海龟瞬移到特定的位置或者角度,没有动画过程。
函数 | 作用 |
---|---|
setXY(x,y) | 让海龟瞬移到点(x,y)处 |
setX(x) | 海龟瞬移到横坐标为x,纵坐标不变的位置 |
setY(y) | 海龟瞬移到横坐标不变,纵坐标为y的位置 |
setHeading(angle)、setAngle(angle) | 让海龟瞬间转到方向角为angle |
home() | 让海龟瞬移回初始位置(0,0),方向角为90度 |
3 获取海龟位置
下面的函数可以获取海龟位置:
函数 | 作用 |
---|---|
getXY() | 获取海龟当前位置的x和y坐标(Vector2类型) |
getX() | 获取海龟当前位置的x坐标 |
getY() | 获取海龟当前位置的y坐标 |
getHeading()、getAngle() | 获取海龟当前的方向角 |
4 画笔和填充
1 画笔设置
在海龟作图世界中,海龟爬行时会留下痕迹。我们可以将想象海龟的身子下方有一只笔,笔的大小和颜色决定了海龟痕迹的宽度和颜色。在海龟作图世界中,将我们想象的这只笔称为画笔。
使用setPenSize()函数可以设置画笔的大小(即画出的线条宽度)。
使用setPenColor()函数可以设置画笔的颜色(即画出的画笔颜色)。
2 抬笔和落笔
有时候我们希望海龟改变位置,但是不要留下痕迹。使用penUp()或者pu()函数,可以让海龟处于“画笔抬起”状态,此时海龟移动不会留下痕迹。对应的,使用penDown()或者pd()函数,可以让画笔落下(画笔的缺省状态)。
使用isPenDown()函数可以判断画笔是否处于落下状态。
海龟爬行的痕迹可以形成图案轮廓,但是如何让轮廓里的图案也能有颜色呢?海龟作图库提供了填充图形的功能。使用beginFill()/endFill()函数分别标记图案轮廓路径的开始和结束,就可以将整条路径围城的图形中填上颜色。这个功能叫做填充(Fill)。
注意:如果路径中存在交叉,则可能会有部分区域不能被填充。
3 泛洪填充
除了beginFill()和endFill()外,海龟作图中还提供了两个泛洪填充(Flood Fill)函数:
fillToBorder会从海龟当前所在位置开始,向四周的点填充颜色,直到遇到指定Border颜色的点为止。 fill()会从海龟当前所在位置开始,将四周和当前位置颜色相同的点填充成指定的颜色,直到遇到不同颜色的点为止。
5 背景、网格和交互功能
1 改变窗口背景
1.1 改变背景色
使用setBackgroundColor()函数可以改变海龟窗口的背景颜色。
1.2 显示背景图片
使用setBackgroundImageFile()函数可以将指定的图片设置为窗口背景。注意海龟作图仅支持png和bmp格式图片文件。 在设置了背景图片后,可以在程序运行时按下F4键切换隐藏/显示背景图片。
2 绘图网格
在海龟程序运行时,可以通过按下F2键来切换显示坐标网格,如下图所示:
3 显示和隐藏海龟
在海龟程序运行时,可以通过按下F3键来隐藏/显示海龟,以便更好的查看绘制出的图形。
也可以在程序中使用show()和hide()函数来显示/隐藏海龟。
4 截图
在海龟程序运行时,可以通过按下F5键来抓取当前窗口中的图形,并保存成图片文件。
图片文件保存在编译后的.exe程序所在的文件夹中。
6 手动更新模式
因为在有些教师的编程课程体系里,首先使用python语言入门,然后转向C语言教学。为了能够更好的和python的海龟作图库衔接,在C语言的海龟作图库里也提供了无动画的手动更新模式,以使用海龟作图库来绘制简单的动画。 调用setAutoUpdateWorld(false)函数,来启用手动更新 while循环的每次循环绘制动画的一帧 在while循环体的最后调用updateWorld()来将内容绘制到屏幕上。 在while循环体的最后调用waitMilliseconds(),让程序暂停指定的毫秒数。