python简单图画程序_用Python的Turtple画图形

不知道各位是否还记得在小学或者初中的时候,我们接触过一种语言叫做logo语言,这个语言可以画正方形,画三角形,画圆。而用Python画图形也有点类似logo语言的意思。

在画图之前,我们需要启动一个模块,turtple。然后在这个turtple下有一个属性叫pen,顾名思义就是画笔的意思。当输入完pen这个属性的时候,idle会打开一个叫Python Turtle Graphics的东西,在屏幕中间有一个三角的原点,这个点就有点类似logo的点,我们就是操作它来回移动留下痕迹。在idle里写完一句话,后面的Graphics就会画一道,然后再写一句话,再画一道。如果是直接的.py文件,那么就会按步骤的出现图形。

import turtple

t=turtple.Pen() #设定这个t就是整个的变量,注意大写P

让原点前进50个像素:t.forward(50)

让原点左转90度:t.left(90)

让原点右转30度:t.right(30)

让原点抬起来:t.up() #这样使用forward就不会留下痕迹,因为笔在纸面上抬起来了嘛

让原点落下:t.down()

让原点是蓝色:t.color("blue")

需要使用蓝色填充图案:t.begin_fill() #需要和上面的语句搭配

填充图案停止:t.end_fill()

清空左右图案并且原点回到原始位置:t.reset()

让原点移动到(70,100)的位置:t.goto(70,100) #注意中间是逗号,默认整个图案是四象限的

了解了上面的几个简单语句,就可以画一个八边形,比如这个图:

wKioL1c_G8ijLP1uAABke6ok2YM677.png

这个图的程序就比较灵活了:

import time

import turtle

#x边形内角和180*(x-3)

#函数:给出大小和顶点数绘制星星

#size:星星的核心是个等边多边形,这是该多边形的顶点到其中心的距离

#point:顶点数

def funcDrawStar(size, point):

t = turtle.Pen()

#调校坐标位置

t.up()

t.backward(200)

t.right(90)

t.forward(100)

t.left(90)

t.down()

#开始画图

t.color(1, 0, 0)

t.begin_fill()

for x in range(1, point * 2 + 1):

t.forward(size)

if x % 2 == 0:

t.left(120)

else:

t.right(180 * (point - 2) / point - 60)

t.end_fill()

#funcDrawStar(100, 6)

funcDrawStar(100, 9)

time.sleep(5)

上面都是一些简单的应用,但是要知道python也是可以画出来美妙的图形的,比如下图:

wKiom1c_GEyDBxhSAAB1vJJy87k758.png

这个图形的代码如下(代码是转载的,感谢大牛分享,python 3.5亲测好使,而且整个过程非常美妙,强烈推荐各位感受一下。)

from numpy import *

from random import random

import turtle

turtle.reset()

x = array([[.5],[.5]])

p = [0.85,0.92,0.99,1.00]

A1 = array([[.85, 0.04], [-0.04,.85]])

b1 = array([[0],[1.6]])

A2 = array([[0.20,-0.26], [0.23,0.22]])

b2 = array([[0],[1.6]])

A3 = array([[-0.15,0.28],[0.26,0.24]])

b3 = array([[0],[0.44]])

A4 = array([[0,0], [0,0.16]])

turtle.color("red")

cnt = 1

while True:

cnt += 1

if cnt == 2000:

break

r = random()

if r < p[0]:

x = dot(A1 , x) + b1

elif r < p[1]:

x = dot(A2 , x) + b2

elif r < p[2]:

x = dot(A3 , x) + b3

else:

x = dot(A4 , x)

#print x[1]

turtle.up()

turtle.goto(x[0][0] * 50,x[1][0] * 40 - 240)

turtle.down()

turtle.dot()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab自带的Bessel函数及如何扩展其应用

第一类虚宗量Bessel函数I_v: help besseli第二类虚宗量Bessel函数K_v: help besselk第一类Bessel函数J_v help besselj第二类Bessel函数 Y_v(诺伊曼函数N_v) help bessely汉克尔函数H_v help besselh以上函数的问题是输出结果都是实数。如果想算复数域&#xff0c;以上函数…

freeRTOS实时操作系统学习笔记

温馨提示&#xff1a;点击图片查看大图更清晰 —————————————————————————————↑↑↑上方资源下载后可获取xmind原文件。 1、freeRTOS移植和配置脑图 2、内核源码学习

mysql删除记录后id不连续_Mysql数据库中使用DELETE语句时,一般删除一条记录后ID会不连续,才能让序号继续按顺序排列?...

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":7,"count":7}]},"card":[{"des":"提供基于开源Elasticsearch及商业版X-Pack插…

通用AI——未来真正强健的人工智能?

来源&#xff1a;王宏琳科学网博客一本新书纽约大学马库斯&#xff08;Gary Marcus&#xff09;教授和戴维斯&#xff08;Ernest Davis&#xff09;教授2019年新书&#xff08;参考资料[1]&#xff09;的书名&#xff0c;颇吸引眼球&#xff1a;《Rebooting AI : 构建我们可以信…

signed 与 unsigned 有符号和无符号数

unsigned int a 0; unsigned int b -1; // b 为 0xffffffff unsigned int c a - 1; // c 为 0xffffffff 转载于:https://www.cnblogs.com/mtcnn/p/9423663.html

使用matlab播放特定频率的声音

A2;%振幅 f_0397%声音频率 fs10000; %采样频率 N3000; % 信号样点数&#xff0c;播放时长 yA*sin(2*pi*f_0*(0:N-1)/fs); %单频信号 sound(y,fs); %通过声卡放音 另外matlab还自带好多声音&#xff0c;需要的时候搜一搜就好了。

python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...

原标题&#xff1a;Python开发桌面软件文档及网址管理工具&#xff0c;强迫症的福音写在前面 这两天用python鼓捣开发了一个软件&#xff0c;分享给同事&#xff0c;觉得很实用&#xff0c;可以大大提高工作效率&#xff0c;想通过平台分享出来给大家 希望给爱好python的童鞋做…

halcon 将数据保存到excel_pandas筛选、合并、批量保存excel数据

人生苦短&#xff0c;我学python&#xff01;python是目前最流行的编程语言&#xff0c;功能十分强大&#xff0c;在爬虫、数据分析、人工智能方面均得以广泛应用。本专辑主要分享两个数据分析库numpy和pandas在数据分析方面的基础知识和各种技能&#xff0c;pandas的快、准、简…

边缘计算参考架构3.0

来源&#xff1a;萤火虫智能家居沙龙全球已经掀起行业数字化转型的浪潮&#xff0c;数字化是基 础&#xff0c;网络化是支撑&#xff0c;智能化是目标。通过对人、物、环境、过程等对象&#xff0c;进行数字化而产生数据&#xff0c;通过网络化实 现数据的价值流动&#xff0c;…

以二维振动为例展示使用matlab画圆形三维图的偷懒方法

画图主要是用极坐标&#xff0c;我们使用画复数的函数来画。 clc;%清空上次的 %draw_Bessel%画这个东西 a4;%圆形半径% %定义角向和径向的步长和范围 fai[-4:0.1:4]; r[0:0.02:a];%将fai和r组合起来并生成复平面 [R,T] meshgrid(fai,r); Z R.*exp(1i*T);%和画具体图有关的 m…

tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor

在这篇文章中&#xff0c;我们将深入研究Tensorflow Tensor的细节。我们将在以下五个简单步骤中介绍与Tensorflow的Tensor中相关的所有主题&#xff1a;第一步&#xff1a;张量的定义→什么是张量&#xff1f;第二步&#xff1a;创建张量→创建张量对象的函数第三步&#xff1a…

指针和字符串

指针和字符串 [前言] 我们所写的应用程序都需要从网络获取数据&#xff0c;或者从网络下载数据&#xff0c;这些操作都需要和网络另一端的服务器进行数据传输&#xff0c;这些数据都是通过文件进行传输的&#xff0c;文件中就是字符串&#xff0c;我们程序员需要保证正确解析从…

华为手机怎么使用读卡器_华为手机使用小窍门

华为手机电池耐用&#xff0c;信号好&#xff0c;系统流畅&#xff0c;外观也一改以往的呆板现在追求时尚&#xff0c;所以深得国人的喜爱&#xff0c;也因为美国的打压激起了国人的爱国意识&#xff0c;华为在国内手机销量高居第一&#xff0c;使用的人很多。现在国产最好的手…

报告 | 数字孪生城市研究报告(2019年)

来源 &#xff1a;数据观数字孪生技术应用最早起源于工业领域&#xff0c;尤其飞机、火车发动机等高端制造领域&#xff0c;对产品、生产线和工艺等进行数字仿真、实时跟踪&#xff0c;研发周期大幅缩减&#xff0c;生产成本大幅降低&#xff0c;形成多设备互联、协同和优化的建…

立方体引起的引力异常计算&画图

地球重力学需要我们计算立方体引起的重力异常&#xff0c;公式见《重力学与固体潮》。 这个程序取的z方向是竖直向下的&#xff0c;也就是说地面向下为正&#xff0c;地面向上为负 %定义一个立方体函数% function [gravity]draw_square(a,b,c,x0,y0,H,ph,z) %长方体模型参数说…

win10开始不显示python_win10从零安装配置pytorch全过程图文详解

1.安装anaconda &#xff08;anaconda内置python在内的许多package&#xff0c;所以不用另外下载python&#xff09; 可以点击下面的清华开源软件镜像站&#xff0c;在官网下载anaconda不如在这下的快 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 镜像站 我下载的…

大雁展翅,轮回,国甲,国丙,速龙,傲龙,御龙这些魔方有什么区别

大雁&#xff1a;展翅&#xff1a;曾经最顶级的速柠魔方。顺滑&#xff0c;容错大&#xff0c;无小卡。菲神的5.66就是用它破的。 轮回&#xff1a;角块有双重卡脚&#xff0c;稳定性好&#xff0c;不易pop&#xff0c;但容错较小。大雁的其它产品有孤鸿&#xff0c;大…

暗备用的运行状态_瞧:我利用“无偏二极管”发明设计出了【宇宙“暗物质”、“暗能量”探测器】...

《瞧&#xff1a;我利用“无偏二极管”发明设计出了【宇宙“暗物质”、“暗能量”探测器】》楔子&#xff1a;首先&#xff0c;我要在此留下“2020”——“爱你爱你”印迹的一张照片&#xff1a;这不是口罩而是爱&#xff01;中国人以【爱家人、爱自己】这一特殊形式的“爱”战…

【必读】2019年深度学习自然语言处理最新十大发展趋势, 附报告下载

https://blog.floydhub.com/ten-trends-in-deep-learning-nlp/来源&#xff1a;专知2018年是基于深度学习的自然语言处理(NLP)研究发展快速的一年。在此之前&#xff0c;最引人注目的是Word2Vec&#xff0c;它于2013年首次发布。在此期间&#xff0c;深度学习模型在语言建模领域…

spring 事务隔离级别和传播行为_Spring事务的传播行为案例分析

网上关于Spring事务传播性以及隔离型的文章漫天盖地&#xff0c;还有不负责任的直接复制名词意思&#xff0c;文章虽然很多却是看的云里雾里&#xff0c;我们今天将给出案例分别和大家一起学习。1、spring给出经常面试的考点Spring事务的4个特性含义---这个很容易理解2、spring…