用python绘制奇异三角形
时间: 2024-10-29 10:16:36 浏览: 14
在Python中,我们可以使用matplotlib库来绘制奇异三角形,也被称为Sierpinski三角形,它是一种分形几何图形。这种图形通过递归地去除等边三角形的中心小三角形来生成。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
from matplotlib.path import Path
from matplotlib.patches import PathPatch
def sierpinski_triangle(polygon):
n = len(polygon)
new_polygon = []
for i in range(n):
j = (i + 1) % n
if polygon[i][0] == polygon[j][0]:
mid_x = polygon[i][0]
else:
mid_x = (polygon[i][0] + polygon[j][0]) / 2
if polygon[i][1] == polygon[j][1]:
mid_y = polygon[i][1]
else:
mid_y = (polygon[i][1] + polygon[j][1]) / 2
if i != n // 2 and j != n // 2:
new_polygon.append([mid_x, mid_y])
return new_polygon
# 初始三角形
initial_triangle = [[0, 0], [1, 0], [0.5, 0.866]]
# 绘制sierpinski三角形
fig, ax = plt.subplots()
ax.add_patch(PathPatch(Path(sierpinski_triangle(initial_triangle)), facecolor='black', edgecolor='none'))
plt.axis('off')
plt.show()
阅读全文