Расчет зон ЭМД

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Ответить
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Расчет зон ЭМД

Сообщение YanZorg »

Здравствуйте. Есть задача: на 3d подстилающей поверхности (stl импортированный из ГИС) раскрасить зону покрытия (ЭМД) источника радиоизлучения с заданными параметрами. Возможно ли это? Куда копать?
Я новичок в labview, поэтому любой совет полезен.
Поскольку тема по графике еще вопрос - при рисовании картинки в XY graph координаты мыши, курсора и графические разные - как привязать построение изображения к курсору?
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение ESeid »

YanZorg писал(а):Здравствуйте. Есть задача: на 3d подстилающей поверхности (stl импортированный из ГИС) раскрасить зону покрытия (ЭМД) источника радиоизлучения с заданными параметрами. Возможно ли это? Куда копать?
Я новичок в labview, поэтому любой совет полезен.
Поскольку тема по графике еще вопрос - при рисовании картинки в XY graph координаты мыши, курсора и графические разные - как привязать построение изображения к курсору?
YanZorg, я не новичок ни в :labview: , ни в обработке изображений, но очень не сразу понял, что вам нужно. А, когда понял, восхитился верой вашего начальника в то, что новичок сможет эту задачу решить. :wink: :super: ;)
Это - очень приличный проект, с таким нестыдно и на конференцию выходить. Тут я вижу два варианта решения:
1. Решаете сами, вынося свои варианты сюда на обсуждение. Это будет долго, зато вы научитесь и :labview:, и решению таких задач. Плюс вам это не будет ничего стОить.
2. Заказываете решение этого проекта на этом же форуме за деньги. Это будет быстро, но обойдется вам в некоторую сумму и вряд ли чему-то вас научит.
Совместить эти два варианта в смысле - вам здесь все решат, но бесплатно - вряд ли получится. :wink:
Удачи!
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

О да, я прекрасно понимаю амбициозность и сложность задачи. Это элемент моей квалификационной работы, поэтому за деньги не вариант. Вся соль - овладеть LabView(время есть).
Физику процесса знаю, математику тоже. Уперся в то, что *.stl из ГИС не отображается (другие *.stl выводятся без проблем)
Приложу для примера скрин поверхности из турбокада. Вот как его отобразить на 3d pic control

Изображение
Участок североамериканского архипелага))))
Последний раз редактировалось YanZorg 26 окт 2014, 16:32, всего редактировалось 1 раз.
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение ESeid »

YanZorg, если я правильно понял, проблема развалилась на две.
1. Экспорт изображения из ГИС или турбокада в форматы, приемлемые для :labview: .
2. Раскраска оных изображений.
1-ю задачу, вроде, кто-то здесь решал, передавая файлы из када в :labview: . Я тут точно не помощник. Спрашивайте. Когда ее решите - наверное, несложно будет помочь со второй. Для ее решения совершенно не обязательны картины или карты. Достаточно файла с массивом трех значений: координаты Х и У и значение функции в точке.
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

Спасибо, действительно первым делом импорт stl файла. На форуме есть примеры его отображения, но то, что работает, скажем с молотком, не работает с поверхностью.
Аватара пользователя
Vitekkz88

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

Re: Расчет зон ЭМД

Сообщение Vitekkz88 »

Уперся в то, что *.stl из ГИС не отображается (другие *.stl выводятся без проблем)
У Вас ASCII STL или двоичный формат?
Если ASCII STL - то зная его устройство: https://ru.wikipedia.org/wiki/STL_(формат_файла)
http://download.novedge.com/Brands/FPS/ ... Format.pdf
можете считать его как текстовый файл,распарсить и получить желаемые
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
для отображения на 3d Surface.
Аналогично и для двоичного файла. Согласно описанию:
"Файл начинается с заголовка из 80 символов (который обычно игнорируется, но не должен начинаться с 'solid', так как с этой последовательности начинается ASCII STL файл). После заголовка идет 4 байтовое беззнаковое целое число, указывающее количество треугольных граней в данном файле. После этого идут данные, характеризующие каждый треугольник, в свою очередь.

Каждый треугольник описывается двенадцатью 32 битными числами с плавающей запятой: 3 числа для нормали и по 3 числа на каждую из трех вершин для X/Y/Z координат. После идут 2 байта беззнакового 'short', который называется 'attribute byte count'. В обычном файле должно быть равно нулю, так как большинство программ не понимают других значений."
Читаем,парсим и отображаем.
В LabVIEW есть средства,типа STL Geometry in 3D Picture Control.
http://www.ni.com/example/30218/en/
Если выложите сюда Вашу картинку в ASCII STL,то я попробую построить эту поверхность и показать Вам,как это делается.
Код набросал,отладиться не на чем...И помните,что:
Some CAD programs save STL files as binary STL files by default.
Последний раз редактировалось Vitekkz88 27 окт 2014, 21:34, всего редактировалось 1 раз.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

Вот файл который я получаю из ГИС

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

http://25medvedey.ru/STL2.STL
Судя по размеру он не бинарный, а ASCII, поверхность представлена как совокупность треугольников.
Буду очень признателен, так как
можете считать его как текстовый файл,распарсить и получить желаемые
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
пока для меня тяжеловато
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

С вложениями не разобрался (форумы чаще читаю, чем пишу) выкладываю исходники на свой хостинг - ссылку вводите, качайте.
Открывал в блокноте, толком ничего понять нельзя, заголовок есть, но не говорит о типе STL
Аватара пользователя
Vitekkz88

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

Re: Расчет зон ЭМД

Сообщение Vitekkz88 »

YanZorg
Открывал в блокноте, толком ничего понять нельзя, заголовок есть, но не говорит о типе STL
Открываю WordPad-ом. По содержимому становится понятно,в какой форме данные. Если структура файла типа:
facet normal ni nj nk
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet
,
то это ASCII STL,иначе в двоичном представлении.Подобные файлы открываю в MeshLab.Легкая и удобная в обращении программа. Позволяет сохранять STL-файлы в ASCII. В двоичном формате файл занимает меньше. Тот файл,который Вы выложили как раз двоичный и весит 7 МБ. Сохраняем в ASCII и файл уже 40 МБ(по крайней мере MeshLab до таких размеров сконвертировал).Зато содержимое понятно и работать удобней.
Теперь по заданию. С каким объемом данных планируете работать?Хватит ли у Вас аппаратных ресурсов,чтобы отрисовать целиком всю поверхность в LabVIEW?Извлечь необходимую информацию из ASCII STL можно с помощью парсинга. Этот вариант не слишком быстрый,но для начала сойдет. Выделите небольшой участок поверхности(500х500 точек,например) и попробуйте получить массивы Х Y Z(пример приложил).Затем проверьте,что читается то же самое,что и в исходном файле(по цифрам сравните).Даже не пробуйте целиком файл пихать - до утра ждать будете :D
Дальше следует определиться,как 3d отрисовать?Surface,Scatter,Mehs и т.д. Нужна ли будет интерполяция,децимация?Почитайте про построение трехмерных графиков в LabVIEW,примеры гляньте в Help-е.
Вложения
ASCII STL.vi
(99.64 КБ) 177 скачиваний
STL2(ASCII2).zip
Кусочек изображения в ASCII STL
(14.15 КБ) 182 скачивания
Последний раз редактировалось Vitekkz88 29 окт 2014, 17:59, всего редактировалось 1 раз.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

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

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

Re: Расчет зон ЭМД

Сообщение Vitekkz88 »

Только почему стандартное средство не работает? Есть же блок считывания STL.
Все работает.Кстати,и двоичные файлы тоже открываются на "ура"!
http://digital.ni.com/public.nsf/allkb/ ... B800734FB4
Для увеличения,уменьшения объекта зажмите клавишу Shift и используйте колёсик мышки либо тяните вниз/вверх.
Для перемещения объекта в стороны зажмите клавишу Ctrl и двигайте мышкой в желаемую сторону.
Скачайте пример программы по ссылке(внизу страницы находится,а так же картинку). Попробуйте,всё работает.
Так же NI напоминает,что:
Recommend checking the coordinates of your object. Is it actually located far from the origin (0,0,0)? If so, it could just be drawn off-screen.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

Пробовал переместить на 3 д сцене камеру по координатам поверхности, но так и не смог её найти, другие примеры в stl отображаются.
YanZorg
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 окт 2014, 23:28
Версия LabVIEW: 2013
Контактная информация:

Re: Расчет зон ЭМД

Сообщение YanZorg »

Скрин поверхности
Скрин поверхности
Поверхность нашел, вот только она качественно прорисоваться не может и нет Z координаты (поверхность почему-то плоская) Может надо воспользоваться OpenGL или ActivX???
Вложения
Скрин поверхности 2
Скрин поверхности 2
Ответить

Вернуться в «Работа с графикой и звуком»