首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用勾股定理画圆

今天,爸爸给我推荐了一个python的库,叫做turtle。它是python自带的一个绘图库,可以绘制出各种各样的图形。

1.0版本

首先,我先用库里的circle()函数画了一个正方形和一个圆画了一个圆。

画出来的图:

代码:

2.0版本

画完以后,我觉得不过瘾,光用库里的函数画两个图形有什么意思,我要用自己代码去画圆。于是写了2.0版本。

原理:

这是我们练习册上的一道题,我是根据它想出来的。

画出来的图:

代码:

3.0版本

我给爸爸看了以后,爸爸提示我:“你可以用勾股定理画圆啊!”我顿时恍然大悟,于是改进出3.0版本。

原理:

可以利用x和r算出y。求法为:

x当a,y当b,r当c。已知x、r,求b(x从0到r循环)。求出坐标以后再画挨个点就行了。参考文章:画圆的程序(来自: 父女一起学Python)

画出来的图:

代码:

import turtle

import time

import math

t = turtle.Turtle()

def printc(r):

y=0

for x in range(r):#画右上的四分之一圆

s=r*r-(x*x)

y=math.sqrt(s)

t.goto(x,y)

t.pendown()

for x in range(r):#右下

x=r-x

s=r*r-(x*x)

y=math.sqrt(s)

y1=0-y

t.goto(x,y1)

t.pendown()

for x in range(r):#左上

s=r*r-(x*x)

y=math.sqrt(s)

x=0-x

t.goto(x,y)

t.pendown()

for x in range(r):#左下

x=r-x

s=r*r-(x*x)

y=math.sqrt(s)

y1=0-y

x=0-x

t.goto(x,y1)

t.pendown()

turtle.write('r=200', font=("Courier", 24, "bold"))#打印半径

printc(200)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180122B0Y5UN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券