Большие объемы данных на 3d surface

Обсуждение, связанное с разработкой ПО верхнего уровня
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

Доброго дня,уважаемые разработчики!
Целый день сообразить не могу,что не так делаю...подскажите пожалуйста!
Суть задачи: есть три массива: X, Y, Z.
Необходимо отобразить их на 3D surfaces и на Intensity Graph.
Как делаю: создаю новый массив c элементами Z(х,у).
Все работает, но на коротких последовательностях. К примеру, новый массив Z(х,у) размером 4000 на 4000 - все гуд, работает.
Если делаю больше, к примеру 10000 на 10000 - то мой комп колом встаёт...оно и понятно - памяти не хватает...Однако,в перспективах мне надо будет последовательности размером 40000 на 40000 обрабатывать...
Может я не оптимален в своей программе?Может я 3D surface или Intensity Graph не верно пользую...Ребят, подскажите...
Проц Core2DUO 3Ghz, оперативной памяти 2GB.
Вложения
Программа.png
Программа.png (10.52 КБ) 7298 просмотров
Graphs.vi
v.11
(57.09 КБ) 152 скачивания
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 58 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение alerm »

Vitekkz88, а что вы собираетесь увидеть на поверхности размером 40к на 40к? Т.е. есть ли смысл строить каждую точку?
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

alerm писал(а):Vitekkz88, а что вы собираетесь увидеть на поверхности размером 40к на 40к? Т.е. есть ли смысл строить каждую точку?
На поверхности: изменение частоты при различных фазах и амплитудах сигнала. Сигнал перестраивается с плавным шагом по фазе и по амплитуде.
К примеру фаза: от 0 до 360 градусов с шагом 0,01 градуса(то есть 36000 точек по фазе). По амплитуде аналогичная ситуация. Соответственно и частот у меня будет куча целая.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Большие объемы данных на 3d surface

Сообщение Borjomy_1 »

10000х10000 = 800Мб только для одного массива. А как там компонента работает- фиг его знает. Хотите решать задачу в лоб - ставьте оперативку 16Гб и 64-разрядную винду. Если по уму делать, то производить расчеты только для видимого диапазона на графиках, небольшим разрешением.
IORIK
adviser
adviser
Сообщения: 240
Зарегистрирован: 14 дек 2010, 20:46
Версия LabVIEW: 7.0; 8.2

Re: Большие объемы данных на 3d surface

Сообщение IORIK »

Borjomy_1, там по более будет.

Vitekkz88, посмотрите пример. Для решения задачи в "лоб", вам нужно использовать суперкомпьютер с оперативкой от 100 гигабайт и выше. Бюджетный вариант - либо прореживать, либо сглаживать.
fig1.jpg
fig1.jpg (79.96 КБ) 7260 просмотров
Также можете посмотреть эту ссылку, http://www.labviewportal.eu/viewtopic.php?f=81&t=4129. Полюбопытствуйте, что хотели и к чему пришли.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

Vitekkz88, посмотрите пример. Для решения задачи в "лоб", вам нужно использовать суперкомпьютер с оперативкой от 100 гигабайт и выше. Бюджетный вариант - либо прореживать, либо сглаживать.
10000х10000 = 800Мб только для одного массива. А как там компонента работает- фиг его знает. Хотите решать задачу в лоб - ставьте оперативку 16Гб и 64-разрядную винду.
Ребята, спасибо.Пока буду прореживать данные.
Супер-компьютер будет позже. Задача будет решена.
Всем к карме +1:)
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение dadreamer »

Для отображения серьезных графических 3D данных лучше вообще не использовать :labview:, особенно на старых видеокартах, а подключить что-нибудь наподобие того же OpenGL или Direct3D - это, конечно, сложнее, но рендеринг быстрее в разы. Но и там такое большое количество вертексов вызовет затруднения, тут уже как было сказано, нужно уменьшать видимую часть данных.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

Ребят, я поторопился...
Возвращаюсь к своей программке для построения 3D. Сейчас я каждую точку отображаю.
То есть, у меня 3 массива и я строю массив Z(x,y). Это работает не только на мелких последовательностях, но и на мелких значениях из массива X и Y.
Пример:
Х: 1 2 3 4 5
Y: 6 7 8 9 10.
Работает. Создается массив Z размером 5х10 элементов.
А если так:
X: 55 95 150 380 225
Y: 1000 2000 3000 4000 5000.
Всего пять точек, но размер Z уже 380х5000.
Вопрос: как реализуется построение 3D только для тех точек, которые есть в массивах...минуя излишнюю избыточность?
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 58 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение alerm »

Vitekkz88, вообще строить трехмерную поверхность, имея два массива как-то не логично
предположим имеем файл с данными следующего образца: первый столб - значение температуры, второй - напряжение, третий - ток

в итоге мы можем сказать, что имеем трехмерный массив: ВАХ при различной температуре
12.jpg
12.jpg (78 КБ) 7214 просмотров
ну и само собой, у Вас берутся максимальный значения из массивов, прибавляется по единице и строится двумерный массив с заданными значениями строк и столбцов
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

Vitekkz88, вообще строить трехмерную поверхность, имея два массива как-то не логично
предположим имеем файл с данными следующего образца: первый столб - значение температуры, второй - напряжение, третий - ток
Не-не,массива 3, всё как самом первом сообщение данной темы. Есть Х Y Z, как строю 3D еще раз прикрепляю.
То есть, абсолютно НЕ важно, сколько у меня данных в этих массивах,да? Важны сами значения(цифры) в этих массивах?
Пример1:
Х: 1 2 3 4 5
Y: 1 2 3 4 5
Z: 1 2 3 4 5
Все будет работать и отображаться на обычном ПК.

Пример2:
Х: 1000 2000 3000 4000 5000
Y: 10000 20000 30000 40000 50000
Z: 10 20 30 40 50
Отобразить реально только с большим запасом оперативной памяти и мощного железа?
В примере 1 и в примере 2 одинаково по 5 точек для каждого массива.
Возможно попробовать преобразовать значения из примера 2 в более "мелкие"?делить Х на 100, Y на 1000, ну а Z оставлять без изменений...
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

Добавил
Вложения
Программа.png
Программа.png (10.52 КБ) 7209 просмотров
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 58 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение alerm »

Программа.png
Программа.png (12.77 КБ) 7203 просмотра
я выделил красным создание массива, но если взять другой код, то нет разницы какие числа в массиве, главное их количество (ну, в нашем случае), но опять же, у Вас количество закручено на числах
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

alerm писал(а):
Программа.png
я выделил красным создание массива, но если взять другой код, то нет разницы какие числа в массиве, главное их количество (ну, в нашем случае), но опять же, у Вас количество закручено на числах
Да,верно. Красным выделено создание массива Z(x,y). И это создание напрямую связано с максимальным элементом в массиве Х и Y.
А это напрямую влияет на количество элементов в Z(х,у).
Как от этого уйти, не знаю. В данный момент меня это и интересует.
Есть идеи?
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 683
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 58 раз
Поблагодарили: 9 раз
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение alerm »

Vitekkz88, названия осей какие? амплитуда - это Z, есть еще частота и фаза, я правильно понял?
входные данные бы, типа таких:

Код: Выделить всё

T	V	I
9,97	0,00	6,130100E-9
9,95	0,10	6,057100E-9
9,95	0,20	6,064500E-9
9,97	0,30	6,172500E-9
9,99	0,40	6,004300E-9
9,99	0,50	6,216100E-9
9,98	0,60	6,138800E-9
9,98	0,70	6,074800E-9
9,96	0,80	6,112600E-9
9,95	0,90	6,106800E-9
9,95	1,00	6,226900E-9
9,97	1,10	6,207600E-9
9,98	1,20	6,150900E-9
9,99	1,30	6,329300E-9
9,98	1,40	6,369900E-9
9,98	1,50	6,391500E-9
9,96	1,60	6,526800E-9
9,96	1,70	6,783800E-9
9,95	1,80	6,875600E-9
9,97	1,90	7,115700E-9
9,97	2,00	7,330600E-9
9,99	2,10	7,546700E-9
9,99	2,20	7,860400E-9
9,98	2,30	8,352200E-9
9,96	2,40	9,016000E-9
9,96	2,50	9,345100E-9
9,96	2,60	1,012750E-8
9,96	2,70	1,084040E-8
9,98	2,80	1,169810E-8
9,99	2,90	1,269700E-8
9,99	3,00	1,359860E-8
9,98	3,10	1,484670E-8
9,98	3,20	1,594890E-8
9,96	3,30	1,770440E-8
9,96	3,40	1,904730E-8
9,96	3,50	2,122300E-8
9,98	3,60	2,330200E-8
9,98	3,70	2,553800E-8
9,99	3,80	2,834700E-8
9,98	3,90	3,110400E-8
9,98	4,00	3,427000E-8
9,96	4,10	3,838100E-8
9,96	4,20	4,333100E-8
9,95	4,30	4,884800E-8
9,96	4,40	5,646300E-8
9,99	4,50	6,864800E-8
9,99	4,60	8,607600E-8
9,99	4,70	1,174550E-7
9,97	4,80	1,748640E-7
9,97	4,90	1,720540E-7
9,95	5,00	4,248500E-7
9,99	5,10	1,377670E-6
11,97	0,00	6,105800E-9
11,95	0,10	6,193400E-9
11,96	0,20	6,176400E-9
11,96	0,30	5,953000E-9
11,98	0,40	6,112800E-9
11,98	0,50	6,107100E-9
11,98	0,60	6,134600E-9
11,96	0,70	6,161400E-9
11,96	0,80	6,049400E-9
11,95	0,90	6,119600E-9
11,96	1,00	6,226300E-9
11,96	1,10	6,212900E-9
11,98	1,20	6,119200E-9
11,98	1,30	6,179300E-9
11,98	1,40	6,464400E-9
11,98	1,50	6,470000E-9
11,97	1,60	6,519300E-9
11,96	1,70	6,751300E-9
11,96	1,80	6,993400E-9
11,97	1,90	7,209500E-9
11,97	2,00	7,357800E-9
11,98	2,10	7,452800E-9
11,98	2,20	7,902500E-9
11,98	2,30	8,294900E-9
11,97	2,40	8,817800E-9
11,97	2,50	9,300900E-9
11,96	2,60	9,991800E-9
11,97	2,70	1,093670E-8
11,97	2,80	1,162220E-8
11,99	2,90	1,275120E-8
11,99	3,00	1,371510E-8
11,99	3,10	1,491060E-8
11,98	3,20	1,615010E-8
11,98	3,30	1,785170E-8
11,96	3,40	1,944380E-8
11,96	3,50	2,146600E-8
11,97	3,60	2,348400E-8
11,99	3,70	2,563500E-8
11,99	3,80	2,847800E-8
11,99	3,90	3,134000E-8
11,99	4,00	3,442500E-8
11,98	4,10	3,816100E-8
11,97	4,20	4,271200E-8
11,97	4,30	4,785700E-8
11,97	4,40	5,412300E-8
11,97	4,50	6,288700E-8
11,99	4,60	7,307700E-8
12,00	4,70	8,962200E-8
12,00	4,80	1,128390E-7
11,98	4,90	1,572260E-7
11,98	5,00	2,034320E-7
11,97	5,10	4,527900E-7
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Большие объемы данных на 3d surface

Сообщение Vitekkz88 »

названия осей какие?
Х-фаза, Y - амплитуда, Z- частота.
Да,верно. Красным выделено создание массива Z(x,y). И это создание напрямую связано с максимальным элементом в массиве Х и Y.
А это напрямую влияет на количество элементов в Z(х,у).
Как от этого уйти, не знаю. В данный момент меня это и интересует.
Есть идеи?
Есть идеи?))
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»