您的位置:

python同切圆绘制,python同切圆绘制不了

本文目录一览:

为什么python绘图会出现闪退的问题

这里说程序已经运行完了,你在最后加上这一行代码 waiting = input(''),然后再运行试试看

Python绘图之(1)Turtle库详解

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

(1) 画笔运动命令

(2) 画笔控制命令

(3) 全局控制命令

(4) 其他命令

3. 命令详解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以给定半径画圆

参数:

radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

举例:

circle(50) # 整圆;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圆

实例:

1、太阳花

2、五角星

3、时钟程序

用python画一个圆

###################################

# coding=utf-8

# !/usr/bin/env python

# __author__ = 'pipi'

# ctime 2014.10.11

# 绘制椭圆和圆形

###################################

from matplotlib.patches import Ellipse, Circle

import matplotlib.pyplot as plt

fig = plt.figure()

ax = fig.add_subplot(111)

ell1 = Ellipse(xy = (0.0, 0.0), width = 4, height = 8, angle = 30.0, facecolor= 'yellow', alpha=0.3)

cir1 = Circle(xy = (0.0, 0.0), radius=2, alpha=0.5)

ax.add_patch(ell1)

ax.add_patch(cir1)

x, y = 0, 0

ax.plot(x, y, 'ro')

plt.axis('scaled')

# ax.set_xlim(-4, 4)

# ax.set_ylim(-4, 4)

plt.axis('equal') #changes limits of x or y axis so that equal increments of x and y have the same length

plt.show()

你可以试试,谢谢。

Python3.x 如何用idle画正方形的内切圆

用turtle库,初始位置设置在正方形中心,在以半径为二分之一变成画圆

Matlab或Python怎么作出两个圆的公切线

用sympy + matplot:

from sympy import Point, Circle, Line, var

import matplotlib.pyplot as plt

var('t')

c1 = Circle(Point(0, 0), 2)

c2 = Circle(Point(4, 4), 3)

l1 = Line(c1.center, c2.center)

p1 = l1.arbitrary_point(t).subs({t: -c1.radius / (c2.radius - c1.radius)})

p2 = l1.arbitrary_point(t).subs({t: c1.radius / (c1.radius + c2.radius)})

t1 = c1.tangent_lines(p1)

t2 = c1.tangent_lines(p2)

ta = t1 + t2

fig = plt.gcf()

ax = fig.gca()

ax.set_xlim((-10, 10))

ax.set_ylim((-10, 10))

ax.set_aspect(1)

cp1 = plt.Circle((c1.center.x, c1.center.y), c1.radius, fill = False)

cp2 = plt.Circle((c2.center.x, c2.center.y), c2.radius, fill = False)

tp = [0 for i in range(4)]

for i in range(4):

start = ta[i].arbitrary_point(t).subs({t:-10})

end = ta[i].arbitrary_point(t).subs({t:10})

tp[i] = plt.Line2D([start.x, end.x], [start.y, end.y], lw = 2)

ax.add_artist(cp1)

ax.add_artist(cp2)

for i in range(4):

ax.add_artist(tp[i])

在python中如何使用循环结构画四个相切的圆

from turtle import *

r=20

x,y=0,0

for i in range(4):

if i==2:

penup()

goto(x,2*r)

penup()

forward(2*r)

pendown()

circle(r)