Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
1

Создайте приложение, отображающее увеличивающиеся окружности, центры которых лежат на спирали

25.10.2019, 18:25. Показов 2579. Ответов 2
Метки c# (Все метки)

Author24 — интернет-сервис помощи студентам
Создайте приложение, отображающее увеличивающиеся окружности, центры которых лежат на спирали
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2019, 18:25
Ответы с готовыми решениями:

Построить ряд квадратов, центры которых лежат на окружности
Приветствую! Вот такое задание по ОП у меня: Нарисовать квадраты - не проблема. Проблема в...

Создайте приложение, отображающее движение окружности вдоль границы окна
Помогите пожалуйста. Создайте приложение, отображающее движение окружности вдоль границы окна....

Построить семейство одинаковых окружностей, центры которых лежат на окружности большего диаметра.
Прошу очень помочь!!! Построить семейство одинаковых окружностей, центры которых лежат на...

Построить семейство одинаковых окружностей, центры которых лежат на окружности большего диаметра.
Задача: Построить семейство одинаковых окружностей, центры которых лежат на окружности большего...

2
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
26.10.2019, 16:06  [ТС] 2
List<Rectangle> MyRect;
public Form1()
{
InitializeComponent();
MyRect = new List<Rectangle>();
}
protected override void OnPaint(PaintEventArgs e)
{
AddEllipse(0);
e.Graphics.TranslateTransform(100, 100);
e.Graphics.ScaleTransform(1, -1);
foreach (Rectangle i in MyRect)
e.Graphics.DrawEllipse(Pens.Aqua, i);
}
private void AddEllipse(int angel)
{
int x1 = (int)(Math.Cos(angel * Math.PI / 180) * 50) - angel / 30;
int y1 = (int)(Math.Sin(angel * Math.PI / 180) * 50) - angel / 30;
MyRect.Add(new Rectangle(x1, y1, angel / 15, angel / 15));
angel += 30;
if (angel <= 360)
AddEllipse(angel);
}
}
}

Добавлено через 19 секунд
Поправьте пожалуйста что тут не так
0
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
29.10.2019, 08:50 3
Как-то так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
protected override void OnPaint(PaintEventArgs e)
{
            var gr = this.CreateGraphics();
            float offsetX = this.Width / 2f;
            float offsetY = this.Height / 2f;
            float a = 10f;
            float prevx = offsetX, prevy = offsetY;
            float par2 = 2f;
            float maxRho = (float)Math.Sqrt(offsetX * offsetX + offsetY * offsetY);
            float startwidth = 0.5f;
            int interval = 0;
            for (float phi = 0f; ; phi += (float)Math.PI / 100f)
            {
                float rho = phi * a / (par2 * (float)Math.PI);
                if (rho > maxRho) break;
                float currx = rho * (float)Math.Cos(phi) + offsetX;
                float curry = rho * (float)Math.Sin(phi) + offsetY;
                //gr.DrawLine(Pens.Aqua, prevx, prevy, currx, curry); //сама спираль
                if (interval%5==0)
                gr.DrawEllipse(Pens.Green, currx - (startwidth/2.0f), curry - (startwidth/2.0f), startwidth, startwidth);
                startwidth += 0.01f;
                prevx = currx;
                prevy = curry;
                par2 -= 0.0005f;
                interval++;
            }
}
1
29.10.2019, 08:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2019, 08:50
Помогаю со студенческими работами здесь

Создайте приложение, отображающее движение окружности вдоль границы окна. Учтите возможность изменения размеров окна
Написать программу на языке Delphi 7 Создайте приложение, отображающее движение окружности вдоль...

Создайте приложение, отображающее движение окружности вдоль границы окна. Учтите возможность изменения размеров окна
Создайте приложение, отображающее движение окружности вдоль границы окна. Учтите возможность...

Создайте приложение, отображающее вращающийся винт самолета
Создайте приложение, отображающее вращающийся винт самолета.

Приложение, отображающее движение окружности вдоль границы окна
приложение, отображающее движение окружности вдоль границы окна. Учтите возможность изменения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru