python不用包画三角形
时间: 2023-07-07 20:46:30 浏览: 43
您好!要在 Python 中画一个三角形,可以使用 Python 自带的 turtle 库。以下是一个简单示例代码:
```python
import turtle
# 创建画布和画笔
canvas = turtle.Screen()
pen = turtle.Turtle()
# 设置画笔的颜色和粗细
pen.color('red')
pen.pensize(5)
# 绘制三角形
for i in range(3):
pen.forward(100)
pen.left(120)
# 关闭画布
canvas.exitonclick()
```
这个代码会创建一个红色的画笔,绘制一个边长为 100 的等边三角形。您可以根据需要修改画笔的颜色、粗细和绘制的三角形大小。
相关问题
用python在一个图形界面画三角形,四棱形和五棱星
可以使用Python中的Tkinter库来实现图形界面的绘制。以下是一个简单的示例代码,可以在窗口中绘制三角形、四棱形和五棱星:
```python
import tkinter as tk
import math
class DrawingApp:
def __init__(self, master):
self.master = master
master.title("Drawing App")
self.canvas = tk.Canvas(master, width=400, height=400)
self.canvas.pack()
# 坐标系原点
self.origin = (200, 200)
# 画三角形
self.draw_triangle()
# 画四棱形
self.draw_square()
# 画五棱星
self.draw_star()
def draw_triangle(self):
# 三角形的三个顶点坐标
points = [(0, -50), (50, 50), (-50, 50)]
# 将三角形顶点坐标转换为画布坐标
coords = [(self.origin[0]+x, self.origin[1]-y) for x, y in points]
# 在画布上绘制三角形
self.canvas.create_polygon(coords, outline='black', fill='white')
def draw_square(self):
# 四棱形的四个顶点坐标
points = [(50, -50), (50, 50), (-50, 50), (-50, -50)]
# 将四棱形顶点坐标转换为画布坐标
coords = [(self.origin[0]+x, self.origin[1]-y) for x, y in points]
# 在画布上绘制四棱形
self.canvas.create_polygon(coords, outline='black', fill='white')
def draw_star(self):
# 五棱星的五个顶点坐标
points = [(0, -50), (30, -15), (50, 40), (-50, 40), (-30, -15)]
# 将五棱星顶点坐标转换为画布坐标
coords = [(self.origin[0]+x, self.origin[1]-y) for x, y in points]
# 计算五棱星内部的五个顶点坐标
inner_points = [(coords[i][0] + coords[(i+2)%5][0])/2,
(coords[i][1] + coords[(i+2)%5][1])/2
for i in range(5)]
# 将五棱星内部顶点坐标转换为画布坐标
inner_coords = [(self.origin[0]+x, self.origin[1]-y) for x, y in inner_points]
# 在画布上绘制五棱星
self.canvas.create_polygon(coords, outline='black', fill='white')
self.canvas.create_polygon(inner_coords, outline='black', fill='white')
root = tk.Tk()
app = DrawingApp(root)
root.mainloop()
```
在这个示例中,我们创建了一个名为`DrawingApp`的类,它包含三个方法:`draw_triangle()`、`draw_square()`和`draw_star()`,分别用于绘制三角形、四棱形和五棱星。
每个方法都使用`create_polygon()`方法在画布上绘制多边形。在绘制之前,我们需要将多边形的顶点坐标从相对于图形中心的坐标转换为相对于画布原点的坐标。
对于五棱星,我们还需要计算五个内部顶点的坐标,并将其也转换为画布坐标。我们使用了一些简单的三角函数来计算这些内部顶点的坐标。
最后,在主函数中创建一个`DrawingApp`对象,并使用`mainloop()`方法显示窗口。
用Python绘制一个绘制多色三角形
可以使用Python中的turtle库来绘制多色三角形,以下是一个示例代码:
```python
import turtle
# 初始化画布
turtle.setup(500, 500)
turtle.pensize(3)
# 定义三角形的顶点和颜色
vertices = [(0, 0, 'red'), (100, 100, 'blue'), (-100, 100, 'green')]
# 绘制三角形
turtle.penup()
turtle.goto(vertices[0][:2])
turtle.pencolor(vertices[0][2])
turtle.pendown()
turtle.begin_fill()
for vertex in vertices[1:]:
turtle.goto(vertex[:2])
turtle.pencolor(vertex[2])
turtle.goto(vertices[0][:2])
turtle.end_fill()
# 关闭画布
turtle.done()
```
运行代码可以得到一个红蓝绿三色的三角形。其中,`vertices`是一个包含三个元组的列表,每个元组表示一个顶点的坐标和颜色。`turtle.pencolor()`函数用于设置画笔颜色,`turtle.begin_fill()`和`turtle.end_fill()`函数用于填充三角形。