Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.03.2019
Сообщений: 689

Узор из 24 эллипсов с центром узора в середине экрана

02.04.2020, 15:13. Показов 1468. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста нарисовать узор из 24 эллипсов с центром узора в середине экрана. Радиусы очередного эллипса (Rx, Ry) и расстояние до центра узора циклически изменять
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2020, 15:13
Ответы с готовыми решениями:

Нарисовать узор из эллипсов с центром узора в середине экрана
Подскажите пожалуйста , как нарисовать узор из 30 эллипсов с центром узора в середине экрана . Радиусы каждого эллипса (Rx,Ry) и расстояние...

Построить в середине экрана вложенные друг в друга 10 эллипсов и закрасить промежутки между ними разными цветами
Построить в середине экрана вложенные друг в друга 10 эллипсов и закрасить промежутки между ними разными цветами.

Составить программу для изображения вложенных окружностей, с центром в середине экрана
2.Составить программу для изображения вложенных окружностей, с центром в середине экрана.

24
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
04.04.2020, 15:56
Студворк — интернет-сервис помощи студентам
Специально скачал первую версию проекта, вот так это выглядело изначально
Миниатюры
Узор из 24 эллипсов с центром узора в середине экрана  
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
04.04.2020, 16:09
Вот так вроде как на рисунке получается
C#
1
2
3
4
5
6
7
8
9
10
11
12
        private void DrawElipses(int n, int xc, int yc, int rinit, PaintEventArgs e)
        {
            for (int i = 1; i <= n; i++)
            {
                var ugol = 2.0 * Math.PI * ((double)i) / (double)n;
                int r = rinit  *(i % 2 + 1);
                int x = xc + (int)Math.Round(r * Math.Cos(ugol));
                int y = yc + (int)Math.Round(r * Math.Sin(ugol));
                var rr = i % 2 == 0 ? rinit : rinit*2;
                e.Graphics.DrawEllipse(Pens.Black, x - rr, y - rr, rr * 2, rr * 2);
            }
        }
Здесь просто на четных итерациях делаю радиус rinit, а на нечетных умножаю его на два.
0
0 / 0 / 0
Регистрация: 18.03.2019
Сообщений: 689
04.04.2020, 16:14  [ТС]
diadiavova, вот сейчас что-то похожее на правду получилось
0
0 / 0 / 0
Регистрация: 18.03.2019
Сообщений: 689
04.04.2020, 16:29  [ТС]
diadiavova, а как с квадратами?

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
28
29
30
31
32
public static IEnumerable<PointF> GetPolyPoints(int n, float cx, float cy, float r, double a = 0.0)
        {
            return Enumerable.Range(0, n).Select(i =>
            {
                var fi = Math.PI * 2.0f / (float)n;
                return new PointF((int)Math.Cos(i * fi + a) * r + cx, (int)Math.Sin(i * fi + a) * r + cy);
            });
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
 
            DrawRectangle(10, 100, 100, e);
 
        }
 
 
        private void DrawRectangle(int n, int xc, int yc, PaintEventArgs e)
        {
            for (int i = 1; i <= n; i++)
            {
                var ugol = 2.0 * Math.PI * ((int)i) / (int)n;
                int r = 40;
                int rf = 30;
               
                int x = xc + (int)Math.Round(r * Math.Cos(ugol));
                int y = yc + (int)Math.Round(r * Math.Sin(ugol));
                e.Graphics.DrawRectangle(Pens.Black, x - rf, y - rf, x + rf , y + rf);
            }
        }
    }
}
0
0 / 0 / 0
Регистрация: 18.03.2019
Сообщений: 689
04.04.2020, 17:00  [ТС]
diadiavova, не нужно, получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2020, 17:00

Нарисовать окружность радиуса 150 пикселей красного цвета с центром в середине экрана
помогите пожалуйста

Нарисовать окружность радиуса 150 пикселей красного цвета с центром в середине экрана
Нарисовать окружность радиуса 150 пикселей красного цвета с центром в середине экрана.

В нижней левой четверти графического экрана нарисовать круг, в середине круга-эллипс, а в середине эллипса-текст
В нижней левой четверти графического экрана нарисовать круг,в середине круга-эллипс,а в середине эллипса-текст:фамилию и инициалы.Все...

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

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


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru