Задание по компьютерной графике написать прогу с демонстрацией любого из фракталов. Я выбрал фрактал-дракона зашел на вики там был код на делфях, труда не составило его переделать на мой любимый С Sharp.
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace lab1
{
public partial class Form1 : Form
{
int k1 = 0;
Pen h = new Pen(Color.Red, 1);
Color c = new Color();
const int bm_width = 300, bm_height = 300;
static Bitmap bm = new Bitmap(bm_width, bm_height);
Graphics gg = Graphics.FromImage(bm);
public Form1()
{
InitializeComponent();
}
private void paaint( int x1, int y1, int x2, int y2, int k)
{
int tx, ty;
if (k == 0)
{
gg.DrawLine(h, x1, y1, x2, y2);
return ;
}
tx = (x1 + x2) / 2 + (y2 - y1) / 2;
ty = (y1 + y2) / 2 - (x2 - x1) / 2;
paaint(x2, y2, tx, ty, k - 1);
paaint(x1, y1, tx, ty, k - 1);
pictureBox1.Image = bm;
}
private void button1_Click_1( object sender, EventArgs e)
{
gg.Clear(Color.White);
k1 = Convert.ToInt32(textBox1.Text);
if (k1 >= 14)
{
MessageBox.Show( "Введите меньшее значение шагов :)" );
}
else
{
int x1 = 200, y1 = 200, x2 = 100, y2 = 100;
paaint(x1, y1, x2, y2, k1);
}
}
}
}
Сама программа выглядит у меня вот так:
15 декабря 2010, 20:56