Интересная задача - сгенерировать картинку мест в кинотеатре

Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

Интересная задача - сгенерировать картинку мест в кинотеатре

Post by Seryi »

Добрый день,

сейчас вот думаю над задачей как правильно сгенерировать схематическую картинку отображающую расположение мест в кинотеатре.

Итак, что у меня есть:

1) зал поделен на несколько секций
2) у каждой секции есть следующие атрибуты:

DirectionToStage - как секция ориентирована относительно сцены/экрана, в градусах. Если 0 - то прямо напротив экрана.
DistanceToStage - расстояние от сцены до секции в метрах
Rows - список рядов которые есть в секции, у каждого ряда есть Seats, то есть список мест.

Вот используя эти данные надо схематически отобразить зрительный зал, указать свободные/занятые места и т.д.

Как бы вы подошли к этой задаче? Какие дополнительные данные нужны для решения?
yocto
Уже с Приветом
Posts: 3640
Joined: 13 Sep 1999 09:01
Location: Canada

Post by yocto »

Я бы создал 3D модель зала и показывал бы прямо в трёхмерном виде.
Например, как VRML файл.
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

Post by Seryi »

yocto wrote:Я бы создал 3D модель зала и показывал бы прямо в трёхмерном виде.
Например, как VRML файл.


Это перебор, нужна всего лишь двумерная схемка и чем проще и быстрее тем лучше.
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Интересная задача - сгенерировать картинку мест в кинотеатре

Post by Boriskin »

На первый взгляд не помешали бы еще размеры секций и/или сцены - чтобы была какая то наглядность в смысле размеров...

В целом - я бы сперва нарисовал векторную картинку как секции располагаются относительно сцены с размерами пропорциональными кол-ву рядов и сидений в них, после чего отмасштабировал ее чтобы не было физического пересечения секций, ну и после этого каждую секцию можно разрисовать на сиденья...
Имхо, проще всего будет это забабахать в полярных координатах в каком то левом масштабе и потом применить гомотетию для масштабирования, причем скорее всего придется делать две итерации для масштабирования - первая по непересечению разных более менее равноудаленных секция (типа интервал по ширине, чтобы левые сидения центральной части не пересекались с правыми сиденьями левой части), вторая - по непересечению по глубине (чтоб последние сиденья передней центральной части не залезали на передние сиденья средней центральной части).
Тупизна как Энтропия. Неумолимо растет.
yocto
Уже с Приветом
Posts: 3640
Joined: 13 Sep 1999 09:01
Location: Canada

Post by yocto »

Seryi wrote:
yocto wrote:Я бы создал 3D модель зала и показывал бы прямо в трёхмерном виде.
Например, как VRML файл.


Это перебор, нужна всего лишь двумерная схемка и чем проще и быстрее тем лучше.


Двумерная схемка - всего лишь одна из проекций 3D-сцены.
Вся прелесть использования нормального трёхмерного вида в том, что очень просто определять все углы, расстояния и пр. Причём в реальных координатах. Другой плюс - не придётся писать свой доморощенный рендерер, проще взять готовый.
Твои бывшие соседи-швелы сделали очень приятную штуку для Интернета.
Можешь посмотреть на www.demicron.com
iip
Уже с Приветом
Posts: 279
Joined: 06 Jul 1999 09:01
Location: Toronto

Post by iip »

В Visio нарисовать схему, экспортировать в растровое изображение. Картинку "разрезать по сиденьям", чтобы различать занятые места от незанятых.
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

Post by Seryi »

iip wrote:В Visio нарисовать схему, экспортировать в растровое изображение. Картинку "разрезать по сиденьям", чтобы различать занятые места от незанятых.


Все бы было хорошо, только залов будет много и под каждый схемку рисовать лениво.
Остальные решения высказанные здесь изучаю.
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Re: Интересная задача - сгенерировать картинку мест в кинотеатре

Post by IA72 »

Seryi wrote:Добрый день,

сейчас вот думаю над задачей как правильно сгенерировать схематическую картинку отображающую расположение мест в кинотеатре.

Итак, что у меня есть:

1) зал поделен на несколько секций
2) у каждой секции есть следующие атрибуты:

DirectionToStage - как секция ориентирована относительно сцены/экрана, в градусах. Если 0 - то прямо напротив экрана.
DistanceToStage - расстояние от сцены до секции в метрах
Rows - список рядов которые есть в секции, у каждого ряда есть Seats, то есть список мест.

Вот используя эти данные надо схематически отобразить зрительный зал, указать свободные/занятые места и т.д.

Как бы вы подошли к этой задаче? Какие дополнительные данные нужны для решения?


Кривизна не учитывается? Я бы для начала попробовал нарисовать 45 квадратиков картинок с сидениями под различным углом, и генерить html с картинками в <div/> c абсолютным позиционированием.

Позже. 90 картинок, с учетом занятых/не занятых.

Return to “Вопросы и новости IT”