0 / 0 / 0
Регистрация: 18.03.2019
Сообщений: 689

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

02.04.2020, 15:13. Показов 1482. Ответов 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 18.08.2026
Пролетают летом дни Тридцать пять жары в тени. Каждый август год от года Дарит жаркую погоду.
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru