Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лазерная техника и лазерные технологии Лазерные шоу и эффекты Программы
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

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

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 75057   Ответов в теме 273   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 24.06.2012, 20:41 Автор темы   101
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, спасибо за совет по поводу форматов! Я сделал, чтобы программа читала все форматы ILDA. Но сохраняет она только в форматах 0, 1, 4 и 5.
По поводу нестандартного заголовка формата 3 - не вижу смысла обсуждать его историю, т.к. мы имеем уже принятый стандарт и нам остаётся только ему следовать
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 24.06.2012, 21:00   102
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

You should probably try to implement format 2 palette sections as well, just for the sake of completeness. You probably will never find an ILDA file with a format 2 palette in it, but it might help to make your code more robust.

As for your quote "We have already adopted the standard and we only need to follow". I am not a sheep! I have invented quite a few new original ideas and created many new standards for laser art and display. All if it has to come from somewhere. I know better than to believe that the ILDA technical standards committee are gods that must never be questioned.

You are correct. Format 3 is all history and it is over and done. But it might give you some insight as to why the technical document makes no sense at all. It has contradictions that make it impossible to implement with any certainty. The current specification is not open to the public. The last working version I saw, that was written a couple of years ago was ridiculous. It went on for page after page about what the standard was not to be. It had very little about what it actually is. It is specifically designed to be something that will never be objective or definitive. It will always be speculative. Any efforts to comply with it may be easily denounced. The people who are responsible for creating and maintaining that document are not motivated by mathematical correctness or utility. That much should be obvious.
__________________
Creator of LaserBoy!
James Lehman вне форума   Ответить с цитированием Вверх
Старый 24.06.2012, 21:25 Автор темы   103
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, ты имеешь ввиду сделать возможность сохранения в формате 2? Зачем, если есть форматы 4 и 5? А читать формат 2 программа и так умеет
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 24.06.2012, 21:34   104
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

I guess it is a matter of what you want your program to do. If all you need to do is read ILDA then that's fine.

There are a lot of things you can do with a palette. One of the most important things is that you can control all of the colors in an entire frame set from one list of RGB values. This makes it possible to tune the colors for different projectors in one place. If you use formats 4 or 5, you must identify every RGB combination in every vector in every frame and replace them one at a time.

LaserBoy gives you amazing control over both 24-bit RGB color tables and palettes and the ability to convert between them. It makes a lot of sense and gives you a lot of utility.

James.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 24.06.2012, 21:53 Автор темы   105
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, Я планирую сделать очень простую программу, поэтому не буду заострять внимание на таких вещах, как работа с палитрами. Пока ограничусь только чтением формата 2, без записи
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 25.06.2012, 08:39 Автор темы   106
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Оказывается, формат DXF (для импорта из 3dmax) открытый, но спецификация на него занимает 270(!) страниц
http://usa.autodesk.com/ads...
Как бы выяснить, что именно, надо уметь из него читать, чтобы импортировать картинки, нарисованные для создания лазерного шоу...
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 25.06.2012, 09:20   107
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Most of a DXF file is useless. The only part that is important is the section called ENTITIES. That is where the drawing exists. Add to that the fact that there is only a small set of entities that are relevant to laser art. It's not that hard to read and translate DXF. You do have to read the whole thing as real number coordinates and scale that to fit inside of signed short integer space. Real numbers can be any size and you don't know until you look at the whole thing. That can become more challenging when you need to read an entire set of DXF files to make a frame set. They must all be scaled together and the center of that space needs to be maintained for every frame.

LaserBoy does this.

James.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 25.06.2012, 12:46 Автор темы   108
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, спасибо за подсказки!
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 25.06.2012, 22:26   109
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

If you can figure out how to render a 3D SPLINE entity, please let me know!

LaserBoy knows how to render

POINT
LINE
CIRCLE
ARC
ELLIPSE
POLYLINE
LWPOLYLINE
TEXT

LaserBoy can render all of these in colors from either the pre-defined DXF palette (value code 62) or from 24 bit colors (value code 420).

The TEXT entity was the most difficult one. It requires at least one special ILDA file that is a frame set of all of the visible glyphs in order of the ASCII character set. Both lucida.ild and courier_new.ild come with LaserBoy.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 26.06.2012, 00:14   110
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

I'm not sure what language or development environment you are using, but LaserBoy is written in Generic C++ with good use of The Standard Template Library (STL). I really like to use the template class vector <type>. It's very easy to manage arrays of data elements. Every frame is made of a vector of vertices. A frame set is a vector of frames. A palette or color table is a vector of colors. I have two kinds of data elements for vertices. One is for the short integer space that makes an ILDA file and another is for real numbers, for reading DXF and other real number coordinate systems and scaling them to fit inside of the short integer space.

James.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 26.06.2012, 10:45 Автор темы   111
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, я использую c++, и данные, которыми я оперирую, похожи на те, которые ты описал
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 26.06.2012, 21:41   112
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Are you looking at the source code for LaserBoy as an example?

The real number 3D coordinate class can also be used to store a 3D angle of rotation for motion calculations.

One of the most powerful design features of my code is the overloaded operators.

In several different places, I have defined operators to work between the classes. It is possible to move and scale 3D coordinates with addition and multiplication. It is possible to add the contents of two frames together as easily as C = a + b; It can add frames to frame sets like set += frame; and calculate the distance between points and the angle between three consecutive points just as easily. Plus there is a system to determine if an element of the drawing has been moved out of the bounds of 3D short integer space.

This is what makes it so easy to write special effects functions to create animations from frames and frame sets.

Take a look at LaserBoy_frame_effects.cpp and LaserBoy_frame_set_effects.cpp.

One of the reasons I offered the code in open source was so that other people could use it and it's structure and methodology could become a kind of standard.

If you are writing code to read and write ILDA and DXF then you might as well learn about the LaserBoy WAVE structures! It is actually quite similar to the ILDA format, accept it is usually optimized for display and it is a standard wave that can be played by any wave player that can read multi-channel waves.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 26.06.2012, 21:56 Автор темы   113
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, исходный код LaserBoy-я я пока не смотрел. Чтобы сделать чтение и запись ILDA-файлов, мне хватило спецификации ILDA-стандарта и твоих примечаний на http://laserboy.org/formatt/
На данный момент я хочу довести программу до такого минимально рабочего состояния, чтобы она умела помещать ilda-файлы с эффектами на timeline-дорожки, редактировать настройки элементов на timeline-дорожках и экспортировать проект в ILDA-файл.
Пока что можно перетаскивать ilda-файлы на дорожки и экспортировать всё что получилось в ild (но без эффектов).

Добавлено через 2 минуты
Кроме того, я не уверен, что моя программа будет свободной и открытой (open source). Поэтому мне совесть не позволяет подглядывать в исходники твоей программы
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 27.06.2012, 04:20   114
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Oh!

You can peek a little!

I really understand and respect your enthusiasm.

But I must also admit I have been looking for all these years for some collaboration!

I love LaserBoy. It is a place for me. It makes so much sense! I really want other people to go there and explore. I want to make it better than what I could do all by myself. I want other people to see the order, the correctness and the utility of a well designed system. There is so much I'd like to add to it, but I get bored and lonely all by myself.

I guess that sounds really weird.

I love C++ !
James Lehman вне форума   Ответить с цитированием Вверх
Старый 27.06.2012, 08:54 Автор темы   115
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, уговорил. Я буду периодически заглядывать в код LaserBoy-я, когда в этом возникнет необходимость
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 29.06.2012, 08:17 Автор темы   116
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Может кто подскажет... Во многих ILD-файлах замечаю такую вещь: вместо того, чтобы нарисовать одну простую линию, в этих файлах рисуется много мелких линий, которые лежат на одной линии. С какой целью это делается? Ведь они добавляют много лишних ненужных точек в картинку.
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 29.06.2012, 08:46   117
James Lehman
Увлеченный
 
Аватар для James Lehman
 
Регистрация: 22.05.2012
Последняя активность: 02.12.2015 21:10
Сообщений: 96
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

That is a very good question!

It is a matter of controlling velocity for the scanners. Unfortunately this is an area of very little common knowledge.

You probably know that most laser DACs output the image in points-per-second. Quite a bit of ILDA art that you find is somewhat optimized. That is to say there are a lot of points along all the lines so that the scanners don't have to jump too far to get from one point to the next. There is no exact science to any of it. And you will not find any kind of standards as to how to do it in the ILDA file format specification.

Think about it. Before diode lasers, gas lasers were extremely expensive and this was not something people could afford as a hobby. So there were very few systems for laser projection control. The few that exist have their own ways of doing things and that is all very much a secret. That is why none of this is part of any kind of standard. It's also why ILDA doesn't really want any kind of useful standards.

If you open these files in LaserBoy, you can strip out all the extra points. LaserBoy can identify all points along a straight line and clean up the line to be just the first and the last point.

LaserBoy can also add points of equal distance along any line for better optimization.

The ILDA file specification says something about optimization points but offers nothing about how to do it or what the timing should be or anything. And as you probably know there is no way to record any of this in the ILDA file format.

As you might figure, it all has to do with the sample rate of the DAC and the scan angle of the scanners. Points per second doesn't tell you anything about the actual resulting velocity of the scanners in radians per second.

The information LaserBoy stores in the header of a wave file aims to rectify this situation. It tells you everything about the maximum velocity of the scanners and all of the other factors that went into optimizing the data stored in the wave.
James Lehman вне форума   Ответить с цитированием Вверх
Старый 30.06.2012, 09:05 Автор темы   118
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

James Lehman, спасибо за ответ! Пока мало что понятно, но думаю, со временем разберусь
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 01.07.2012, 15:10 Автор темы   119
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 787
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Выкладываю скриншот, как оно сейчас выглядит, для затравки
Вариант, правда, пока что практически не рабочий.
Миниатюры
Нажмите на изображение для увеличения
Название: LaserRoom1.png
Просмотров: 596
Размер:	124.1 Кб
ID:	258669
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 01.07.2012, 16:20   120
lasers_vovchiklj
Увлеченный
 
Регистрация: 18.11.2011
Последняя активность: 14.09.2020 23:13
Сообщений: 361
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_vovchiklj с помощью ICQ
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от ArtDen :
Выкладываю скриншот, как оно сейчас выглядит, для затравки
Вариант, правда, пока что практически не рабочий.
Сталкиваюсь почти в каждой программе, сейчас почти все мониторы широко форматные, расположенные друг над другом и экран просмотра и монтажка очень неудобно. Лучше окно просмотра делать отдельно,в идеале с возможность масштабирования.
lasers_vovchiklj вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.14893 секунды с 16 запросами