海龟绘图两小时上手C语言 - 3 正方形螺旋线
海龟绘图两小时上手C语言 - 3 正方形螺旋线
整个教程的介绍和目录在这里:
童晶:海龟绘图两小时上手C语言 - 0 引言
3.1 绘制正方形螺旋线
输入并运行以下代码,在窗口中绘制了正方形螺旋线:
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(1000);for (i=1;i<=100;i=i+1){forward(i);rightTurn(90); }pause();return 0;
}
其中setSpeed(1000);用于设置绘制的速度,括号内的数值越大,绘制速度越快。
为了便于说明,将螺旋线中心放大,如下图所示:
小海龟从画面中心出发,前进的距离i逐渐增加,每次forward(i)后向右旋转90度。如此重复运行,即得到了如图所示的正方形螺旋线。
修改for语句中循环变量的起始值、终止值、步长,可以绘制出下图所示的中空螺旋线:
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(5000);for (i=50;i<=300;i=i+3){forward(i);rightTurn(90); }pause();return 0;
}
3.2 旋转的正方形螺旋线
上节代码中右转角度为90度,可以得到规范的正方形螺旋。将旋转角度设为91度,每次向右多旋转1度,就可以形成类似旋转楼梯的螺旋线,如下图所示。
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(5000);for (i=0;i<=300;i=i+3){forward(i);rightTurn(91); }pause();return 0;
}
设定另一组参数,绘制出了下图中的效果。
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(5000);for (i=100;i<=300;i=i+2){forward(i);rightTurn(93); }pause();return 0;
}
读者也可以尝试设定其它参数,得到更加酷炫的螺旋曲线。
3.3 小数
C语言除了可以处理整数,也可以处理小数(也称为浮点数)。rightTurn()中的旋转角度设定为小数,绘制效果如下图所示。
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(5000);for (i=1;i<=300;i=i+3){forward(i);rightTurn(90.3); }pause();return 0;
}
和整数类似,小数也可以存储在变量中:
#include <turtle.h>int main()
{int i;initWorld(800,600);setSpeed(5000);float angle;angle = 90.3;for (i=1;i<=300;i=i+3){forward(i);rightTurn(angle); }pause();return 0;
}
浮点型的关键词为float,第8行代码float angle;定义了一个浮点型的变量angle。C语言中的小数自动认为是浮点型常量,并可以赋值给浮点型变量。
3.4 小结
将旋转角度稍微偏离90度,即可以绘制出各种美丽的旋转螺旋线。进一步学习了小数的用法,可以进行更加精细的角度设定。
这个系列教程可以直接转载,但希望能标明作者和出处。如果对趣味学编程感兴趣的读者,也可以关注我在知乎上的教程,或者参考我写的几本图书:
海龟绘图两小时上手C语言 - 3 正方形螺旋线相关推荐
- 海龟绘图两小时上手C语言 - 4 任意螺旋线
海龟绘图两小时上手C语言 - 4 任意螺旋线 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 4.1 计算正多边形的角度 数值之间也可以进行加.减.乘.除.取余运算,在代码 ...
- 海龟绘图两小时上手C语言 - 5 彩色螺旋线
海龟绘图两小时上手C语言 - 5 彩色螺旋线 整个教程的目录: 童晶:海龟绘图两小时上手C语言 - 0 引言 童晶:海龟绘图两小时上手C语言 - 1 绘制直线 童晶:海龟绘图两小时上手C语言 - 2 ...
- 海龟绘图两小时上手C语言 - 2 绘制正方形
海龟绘图两小时上手C语言 - 2 绘制正方形 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 2.1 向右旋转 除了让小海龟前进外,也可以让它旋转.输入并运行以下代码: # ...
- 海龟绘图两小时上手C语言 - 1 绘制直线
海龟绘图两小时上手C语言 - 1 绘制直线 整个教程的介绍和目录在这里: 童晶:海龟绘图两小时上手C语言 - 0 引言 1.1 什么是C语言? 如今,我们的生活已经离不开程序.比如用计算机写文章.做P ...
- 海龟绘图两小时上手C语言 - 0 引言
海龟绘图两小时上手C语言 0 引言 作为一名教了十几年编程的大学老师,看过不少学生一开始学习C语言,就被其复杂的语法.枯燥的数学应用案例给吓住了. 在此提供一个很简单的教程,希望零基础的读者花上两个小 ...
- python语言绘制正方形螺旋线
先上成品图 代码: import turtle as t t.speed(5) t.pencolor("purple") for i in range(128):t.fd(2*i) ...
- Python基础学习笔记——用海龟绘图实现两两相连
学习目标: 使用海龟绘图.输入多个点,将这些点都两两相连. 代码: def connect_dot(*args):for i in range(len(args) - 1):for j in rang ...
- python海龟绘图圆形_python之海龟绘图
1. 基本功能介绍 在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动.这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条.通过编写代码,以各种很酷的模式 ...
- 2021天梯赛L1-074 两小时学完C语言 题解
L1-074 两小时学完C语言 (5 分) 题目: 知乎上有个宝宝问:"两个小时内如何学完 C 语言?"当然,问的是"学完"并不是"学会". ...
最新文章
- 2019个嵌入式市场研究,持续的C/C++优势
- 企业信息化快速开发平台JeeSite
- 连接LilyPad之Linux平台的驱动
- hdu 6396 Swordsman (技巧)
- STL库中string类内存布局的探究
- k8s中流量分离以及资源隔离实战
- 【LCT】历史(P4338)
- facelets_不要在facelets中重复表情
- 这款能够生成文档的接口测试软件,为什么越来越受欢迎?
- TripMode 管理 App 网络数据使用情况
- 把Alexa工具条改装成木马
- 完美数及寻找完美数的算法(Perfect number‘s algorithm)
- 移动叔叔MTK6589一键ROOT工具v3.0+by+罗微
- Request method XXX not supported
- 基于SpringBoot+Bootstrap【爱码个人博客系统】附源码
- 道可道,非常道 ---8个做事之“理”
- 教育培训行业使用CRM管理系统有什么好处
- 手把手教你如何用python制作自动翻译程序
- Unexpected Exception caught setting '' on 'class com.: Error setting expression '' with value ['', ]
- excel表格末尾添加一行_Excel制表,办公用品申请单(表),方法简单,一起来学习...