Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...
Как реализовать в данном примере границы расчёта?

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Язык программирования: 
C#
Среда программирования: 
Visual Studio 2017

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApp9
{
    public partial class Form1 : Form
    {
        Bitmap myBitmap;
        Graphics g;
        int flag = 0;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void timer1_Tick(object sender, EventArgs e) //Вызов таймера
        {
            myBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            g = Graphics.FromImage(myBitmap);
            pictureBox1.Image = myBitmap;
            if (flag < 20)
            {
                Pen pen = new Pen(Color.DarkSeaGreen, 30 - flag);
                for (double angl = 0; angl < 2 * Math.PI; angl += Math.PI / 4) // Рисуем круги каждые 45 градусов, от маленького к большому
                {
                    double x = Math.Sin(angl);
                    double y = Math.Cos(angl);
                    x *= 200;
                    y *= 200;
                    x += 450 - 10 * flag;
                    y += 450 - 10 * flag;
                    g.DrawEllipse(pen, (float)x, (float)y, 20 * flag, 20 * flag);
                }
                flag++;
            }
            else
            {
                if (flag < 25)
                {
                    flag++;
                    Pen pen = new Pen(Color.DarkSeaGreen, 10);
                    for (double angl = 0; angl < 2 * Math.PI; angl += Math.PI / 4)// Рисуем круги каждые 45 градусов одинакового размера
                    {
                        double x = Math.Sin(angl);
                        double y = Math.Cos(angl);
                        x *= 200;
                        y *= 200;
                        x += 250;
                        y += 250;
                        g.DrawEllipse(pen, (float)x, (float)y, 400, 400);
                    }
                }
                else
                {
                    if (flag < 45)
                    {
                        Pen pen = new Pen(Color.DarkSeaGreen, 10 + 2 * (flag - 25));
                        for (double angl = 0; angl < 2 * Math.PI; angl += Math.PI / 4)// Рисуем круги каждые 45 градусов, от большого к маленькому
                        {
                            double x = Math.Sin(angl);
                            double y = Math.Cos(angl);
                            x *= 200;
                            y *= 200;
                            x += 250 + 10 * (flag - 25);
                            y += 250 + 10 * (flag - 25);
                            g.DrawEllipse(pen, (float)x, (float)y, 400 - 20 * (flag - 25), 400 - 20 * (flag - 25));
                        }
                        flag++;
                    }
                    if (flag < 50) flag++;
                    else flag = 0;
                }
            }
        }
    }
}

Прикрепленный файлРазмер
Pasternak_demoscene_eight.zip163.16 кб
Pasternak_gif_1.gif342.99 кб