使用c#编写程序绘制 Sierpinski 垫片
时间: 2023-07-11 17:31:14 浏览: 105
好的,我可以为您提供一个基于C#语言的绘制Sierpinski垫片的程序。以下是代码:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
namespace SierpinskiTriangle
{
public partial class Form1 : Form
{
private int depth = 0;
private int size = 0;
private Graphics g;
public Form1()
{
InitializeComponent();
g = CreateGraphics();
}
private void button1_Click(object sender, EventArgs e)
{
depth = int.Parse(textBox1.Text);
size = int.Parse(textBox2.Text);
DrawSierpinski(new PointF(ClientSize.Width / 2, 50), size, depth);
}
private void DrawSierpinski(PointF p, int size, int depth)
{
if (depth == 0)
{
DrawTriangle(p, size);
}
else
{
DrawSierpinski(new PointF(p.X - size / 2, p.Y + size / 2), size / 2, depth - 1);
DrawSierpinski(new PointF(p.X + size / 2, p.Y + size / 2), size / 2, depth - 1);
DrawSierpinski(new PointF(p.X, p.Y - size / 2), size / 2, depth - 1);
}
}
private void DrawTriangle(PointF p, int size)
{
PointF[] points =
{
new PointF(p.X, p.Y - size / 2),
new PointF(p.X - size / 2, p.Y + size / 2),
new PointF(p.X + size / 2, p.Y + size / 2)
};
g.FillPolygon(Brushes.Blue, points);
}
}
}
```
这个程序使用了Windows Form,所以您需要将它保存为一个名为Form1.cs的文件。在窗体上添加两个文本框和一个按钮,用于输入Sierpinski垫片的深度和大小,以及开始绘制的命令。您需要在程序中引用System.Drawing和System.Windows.Forms。当您单击按钮时,程序将根据您输入的深度和大小来绘制Sierpinski垫片。
阅读全文