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

Вход на сайт

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

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

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

КРУГОВОЙ ФРАКТАЛ -ОШИБОЧНАЯ ПРОГРАММА! ПАПА ЗибЕрт
Можешь обяснить подробно что как работает, и почему массу не задаем
Здравствуйте, Ильгиз. Математика - царица наук (Карл Гаусс). Изучение математики начинается с детского сада, когда нас учат считать и выполнять простые арифметические операции. Любой, даже самый простейший алгоритм будет связан с арифметическими...
Я хотел узнать математика это обязательно в программирование. Пять лет назад просто из любопытства я увлекся HTML потом изучил CSS и JvaScript потом изучил PHP и Java. Как то не задумывался и начал смотреть форумы и узнал что без математики не...
Все верно, но так же необходимо зайти в: Компоновщик -> Ввод -> Дополнительные зависимости Здесь необходимо нажать изменить и в Дополнительные зависимости прописать это: SDL2.lib SDL2main.lib SDL2test.lib Без этого не заработает. (MVS 2015)

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

Яндекс.Метрика Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
Visual Studio 2012
Статья по теме: 

Звезда вырисовывается при кликании на форме.

Код программы: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Star
{
    public partial class Form1 : Form
    {
        Pen p;
        SolidBrush fon;
        Graphics gr;
 
        double pi = 3.14;
 
        void Draw_Pentagon(double x, double y, double r, double angle)
        {
            p = new Pen(Color.Orange, 2);
            gr = pictureBox1.CreateGraphics();
            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
 
            int i;
            double[] x1 = new double[5];
            double[] y1 = new double[5];
 
            for (i = 0; i < 5; i++)
            {
                x1[i] = r * Math.Cos(angle + i * pi * 2 / 5);
                y1[i] = r * Math.Sin(angle + i * pi * 2 / 5);
            }
 
            for (i = 0; i < 4; i++)
            {
                gr.DrawLine(p, (int)Math.Round(x + x1[i]), (int)Math.Round(y + y1[i]), (int)Math.Round(x + x1[i + 1]), (int)Math.Round(y + y1[i + 1]));
            }
        }
 
        void Draw_Star(double x, double y, double r, double angle, int d)
        {
            int i;
            double h;
 
            h = 2 * r * Math.Cos(pi / 5);
 
            for (i = 0; i < 5; i++)
            {
                Draw_Pentagon(x - h * Math.Cos(angle + i * pi * 2 / 5), y - h * Math.Sin(angle + i * pi * 2 / 5), r, angle + pi + i * pi * 2 / 5);
 
                if (d > 0)
                    Draw_Star(x - h * Math.Cos(angle + i * pi * 2 / 5), y - h * Math.Sin(angle + i * pi * 2 / 5), r / (2 * Math.Cos(pi / 5) + 1), angle + pi + (2 * i + 1) * pi * 2 / 10, d - 1);
            }
            Draw_Pentagon(x, y, r, angle);
 
            if (d > 0)
                Draw_Star(x, y, r / (2 * Math.Cos(pi / 5) + 1), angle + pi, d - 1);
        }
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            fon = new SolidBrush(Color.Black);
            gr = pictureBox1.CreateGraphics();
            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
 
            gr.FillRectangle(fon, 0, 0, pictureBox1.Width, pictureBox1.Height);
 
            Draw_Star(300, 250, 85, pi / 2, 4);
        }
    }
}