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

Визуализация шестигранной решетки по точкам

24.04.2018, 22:59. Показов 1065. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо визуализировать решетку приведенную на рисунке с помощь точек (что бы они были кликабельными) которые будут соединены линиями, как это можно сделать?
Миниатюры
Визуализация шестигранной решетки по точкам  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2018, 22:59
Ответы с готовыми решениями:

Визуализация графеновой решетки
Необходимо визуализировать графеновую решетку (которая представлена на рисунке) и описать отношения соседних точек в матрице (то есть если...

Определить число максимумов в спектре дифракционной решетки, период дифракционной решетки.
Дифракционная решетка шириной 12 мм содержит 4800 штрихов. Определить: 1) число максимумов в спектре дифракционной решетки для длины волны...

Кубический сплайн по 3 точкам и интерполяция синус кардинала по 3 точкам
Ребят, помогите, не могу представить в Matlab интерполяцию кубическими сплайнами по 3 точкам и интерполяцию синус кардинала по 3 точкам.

10
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
25.04.2018, 01:50
правильно ли я понимаю, никаких лекций/семинаров/лабораторных не было?
вот так,с разбегу, пришел некий человек, и дал задание?!
0
25.04.2018, 06:40

Не по теме:

Diamante, вы смеётесь? Так всегда делается. Более того, задание всегда даётся не на том языке, который человек учил.

0
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 21
25.04.2018, 09:12  [ТС]
мне хотя бы знать как через цикл расставить правильно точки остальное еще более менее понятно как сделать
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
25.04.2018, 09:36
Brothev, вам нужна коллекция этих самых точек. Её в цикле и нужно визуализировать. При щелчке мыши, по этой коллекции можно будет пройтись и найти ту, рядом с которой пользователь щёлкнул (сопоставлять координаты курсора мыши и координат точки).

Что вам не ясно? Как по массиву пройтись в цикле? Как вообще с циклами работать? Как рисовать в WinForms? Конкретные вопросы задвайте.
0
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 21
25.04.2018, 10:07  [ТС]
Нарисовал точки таким способом:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 private void BuildFigures()
        {
            var rnd = new Random();
            int x=100, y=400;
            for (int j = 0; j < 7; j++)
            {
                if (j % 2 == 1)
                {
                    for (int i = 0; i < 26/2+1; i++)
                    {
                        var f = Figure.CreateCircle(10);
                        f.Name = Name = "Circle " + i * j;
                        if (j % 2 == 1)
                        {
                            f.Location = new Point(x, y);
                            x += 55;
                            figures.Add(f);
                        }
                        else
                        {
                            if (i % 2 == 1)
                            {
                                f.Location = new Point(x, y);
                                x += 35;
                                figures.Add(f);
                            }
                            else
                            {
                                f.Location = new Point(x, y);
                                x += 20;
                                figures.Add(f);
                            }
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < 26; i++)
                    {
                        var f = Figure.CreateCircle(10);
                        f.Name = Name = "Circle " + i * j;
                        if (j % 2 == 1)
                        {
                            f.Location = new Point(x, y);
                            x += 55;
                            figures.Add(f);
                        }
                        else
                        {
                            if (i % 2 == 1)
                            {
                                f.Location = new Point(x, y);
                                x += 35;
                                figures.Add(f);
                            }
                            else
                            {
                                f.Location = new Point(x, y);
                                x += 20;
                                figures.Add(f);
                            }
                        }
                    }
                }
                if(j % 2 == 1)
                {
                    y -= 20;
                    x -= 55 * (26/2+1) -20;
                }
                else
                {
                    y -= 20;
                    x -= 20 * 14 + 35 * 13;
                }
             
            }
 
        }
Сделал матрицу смежностей:
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
 int m, n, s, i, j, x, y;
            m = 7;
            n = 26;
            s = m * n;
            int[,] a = new int[183, 183];
            for (i = 1; i <= n; i++)
            {
                x = i;
                for (j = 1; j < m; j++)
                {
                    y = x + n;
                    a[x, y] = a[y, x] = 1;
                    x += n;
                }
            }
            for (i = 0; i < m; i++)
            {
                if (i % 2 == 1)
                {
                    x = i * n + 2;
                    y = i * n + n - 1;
                }
                else
                {
                    x = i * n + 1; y = i * n + n;
                }
                for (j = x; j < y; j += 2)
                {
                    a[j, j + 1] = a[j + 1, j] = 1;
                }
            }
Как теперь связать это что бы провести линии между точками
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
25.04.2018, 10:24
Brothev, какая дичь)

Я же вам предложил создать массив с координатами и перебирая его, всё визуализировать. Тогда и щелчки мыши будет просто обрабатывать. Т.е. вам надо разделить представление графическое от модели этой вашей "сетки".

Добавлено через 1 минуту
Линии рисуются просто: ссылко на пример из документации.
0
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 21
25.04.2018, 10:31  [ТС]
Так как? мне же не просто нужно их подряд соединять как они идут а знать какие соседние точки с ней будут по связи.
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
25.04.2018, 10:39
Brothev, ну вот тем более нужна модель этой сетки, а не тупо рисовать как придётся.
0
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 21
25.04.2018, 11:08  [ТС]
А как можно в С# сделать массив из пары значений?
0
Эксперт .NET
 Аватар для Usaga
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
25.04.2018, 11:41
Brothev, ввести класс с нужным количеством свойств и завести массив этих классов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2018, 11:41
Помогаю со студенческими работами здесь

Символ решетки
Вот полная форма спецификатора в методе &quot;format&quot;: align] (http://pythonworld.ru/osnovy/formatirovanie-strok-metod-format.html). Для чего...

Постоянная решетки
Что нужно сделать с дифракционной решеткой чтобы, не меняя d-постоянную дифракционной решетки, увеличить число наблюдаемых порядков...

Проценты и решетки
Всем привет, давно интересовал вопрос: что означают проценты dim a% и решетки (видел только с работой с файловыми дескрипторами, но может...

Сдвиг антенной решетки
Есть 2 антенные решетки отдаленные друг от друга на расстоянии 1λ. Для них посчитана матрица рассеяния 16,16. Необходимо сдвинуть вторую...

Задание квадратной решетки
Здравствуйте! Помогите, пожалуйста, написать программу. Необходимо задать квадратную решетку 3х3, т.е. каждой точке в решетке...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru