Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
wolfnew
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 8
#1

Какой массив использовать для хранения множества точек

05.11.2012, 22:13. Просмотров 795. Ответов 2
Метки нет (Все метки)

В общем задача у меня такая: надо нарисовать персонажа из точек и прямых (скелет типа), с последующим его редактированием (выбираем точку и передвигаем куда захотел). Использую я TaoFramework. Сложность у меня заключается в выборе массива. Мне нужно чтобы прорисовка линий происходила между созданными точками, но точки созданы не последовательно (например, строим туловище, от него руки, ноги и т.д.). Может кто то что то подскажет?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 22:13
Ответы с готовыми решениями:

Какой массив использовать для хранения больших объёмов информации?
В целях саморазвития пишу программу для поиска дубликатов файлов по названию....

Какой вид хранения данных лучше использовать?
День добрый. Мне нужно определиться в чём лучше хранить данные, сохраняемые и...

Что использовать для хранения словаря синонимов
Здравствуйте! Мне нужно создать словарь синонимов, как лучше сделать: создать...

Что лучше использовать для хранения данных ?
Здравствуйте. Подскажите пожалуйста, что лучше использовать для хранения...

Как вместо двумерного массива использовать несколько классов для хранения данных о территории игры?
здравствуйте подскажите, как вместо двумерного массива использовать несколько...

2
kesean
273 / 272 / 108
Регистрация: 04.09.2010
Сообщений: 638
Завершенные тесты: 1
06.11.2012, 09:22 #2
Массив точек? Point[] или PointF[]
0
wolfnew
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 8
06.11.2012, 23:55  [ТС] #3
Лучший ответ Сообщение было отмечено wolfnew как решение

Решение

Вот у меня есть пример


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
// массив в который будут заносится управляющие точки
private float [,] DrawingArray = new float [1024, 2]; // количество точек
 
...
 
private void RenderTimer_Tick(object sender, EventArgs e)
        {
            Draw();
        }
 
private void Draw()
{
...
Gl.glBegin( Gl.GL_LINE_STRIP);
 
            for (i = 0; i < n; i++)
                {
 
                    X = DrawingArray[i, 0];
                    Y = DrawingArray[i, 1];
                    Gl.glVertex2d(X, Y);
                   
                }
        Gl.glEnd();
 
 
        // завершаем рисование
        Gl.glFlush();
 
        // сигнал для обновление элемента реализующего визуализацию.
        redaktor.Invalidate();
}
 
 private void redaktor_MouseClick(object sender, MouseEventArgs e)
{
 // забираем координаты мыши
            Mcoord_X = e.X;
            Mcoord_Y = e.Y;
            
            // приводим к нужному нам формату, в соотвествии с настройками проекции
            lineX = devX * e.X;
            lineY = ( float )(ScreenH - devY * e.Y);
 
            // создаем новую контрольную точку
            DrawingArray[count_points, 0] = lineX;
            DrawingArray[count_points, 1] = lineY;
 
            // и увеличиваем значение счетчика контрольных точек
            count_points++;
}
 
private void redaktor_MouseMove(object sender, MouseEventArgs e)
        {
lineX = devX * e.X;
                lineY = ( float )(ScreenH - devY * e.Y);
            
                // текущая (интерактивная точка, добавляемая к уже установленным - непрерывно изменяется от движения
                // мыши и создает эффект интерактивности и наглядности приложения
                DrawingArray[count_points, 0] = lineX;
                DrawingArray[count_points, 1] = lineY;
}


Point[] является подобием двумерного массива, в этом то вся моя проблема. Массив идет последовательно, то есть я не могу начать рисовать линию, например, со второй точки, если уже проставил их три
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 23:55

Среди всех точек этого множества найти пару симметричных относительно оси ОХ точек
Доброго вечер. Помогите, пожалуйста, с задачей: Дано множество A из N точек...

Какой алгоритм getHashCode использовать как для больших значений, так и для маленьких
Есть некий класс с какими-то числовыми полями. Причем значения полей могут...

Какой IDE использовать для кодинга ?
Здравствуйте хотел бы задать два глупых вопроса. 1.Какой IDE использовать для...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru