Добрый день,
сейчас вот думаю над задачей как правильно сгенерировать схематическую картинку отображающую расположение мест в кинотеатре.
Итак, что у меня есть:
1) зал поделен на несколько секций
2) у каждой секции есть следующие атрибуты:
DirectionToStage - как секция ориентирована относительно сцены/экрана, в градусах. Если 0 - то прямо напротив экрана.
DistanceToStage - расстояние от сцены до секции в метрах
Rows - список рядов которые есть в секции, у каждого ряда есть Seats, то есть список мест.
Вот используя эти данные надо схематически отобразить зрительный зал, указать свободные/занятые места и т.д.
Как бы вы подошли к этой задаче? Какие дополнительные данные нужны для решения?
Интересная задача - сгенерировать картинку мест в кинотеатре
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 3640
- Joined: 13 Sep 1999 09:01
- Location: Canada
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 18906
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Интересная задача - сгенерировать картинку мест в кинотеатре
На первый взгляд не помешали бы еще размеры секций и/или сцены - чтобы была какая то наглядность в смысле размеров...
В целом - я бы сперва нарисовал векторную картинку как секции располагаются относительно сцены с размерами пропорциональными кол-ву рядов и сидений в них, после чего отмасштабировал ее чтобы не было физического пересечения секций, ну и после этого каждую секцию можно разрисовать на сиденья...
Имхо, проще всего будет это забабахать в полярных координатах в каком то левом масштабе и потом применить гомотетию для масштабирования, причем скорее всего придется делать две итерации для масштабирования - первая по непересечению разных более менее равноудаленных секция (типа интервал по ширине, чтобы левые сидения центральной части не пересекались с правыми сиденьями левой части), вторая - по непересечению по глубине (чтоб последние сиденья передней центральной части не залезали на передние сиденья средней центральной части).
В целом - я бы сперва нарисовал векторную картинку как секции располагаются относительно сцены с размерами пропорциональными кол-ву рядов и сидений в них, после чего отмасштабировал ее чтобы не было физического пересечения секций, ну и после этого каждую секцию можно разрисовать на сиденья...
Имхо, проще всего будет это забабахать в полярных координатах в каком то левом масштабе и потом применить гомотетию для масштабирования, причем скорее всего придется делать две итерации для масштабирования - первая по непересечению разных более менее равноудаленных секция (типа интервал по ширине, чтобы левые сидения центральной части не пересекались с правыми сиденьями левой части), вторая - по непересечению по глубине (чтоб последние сиденья передней центральной части не залезали на передние сиденья средней центральной части).
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 3640
- Joined: 13 Sep 1999 09:01
- Location: Canada
Seryi wrote:yocto wrote:Я бы создал 3D модель зала и показывал бы прямо в трёхмерном виде.
Например, как VRML файл.
Это перебор, нужна всего лишь двумерная схемка и чем проще и быстрее тем лучше.
Двумерная схемка - всего лишь одна из проекций 3D-сцены.
Вся прелесть использования нормального трёхмерного вида в том, что очень просто определять все углы, расстояния и пр. Причём в реальных координатах. Другой плюс - не придётся писать свой доморощенный рендерер, проще взять готовый.
Твои бывшие соседи-швелы сделали очень приятную штуку для Интернета.
Можешь посмотреть на www.demicron.com
-
- Уже с Приветом
- Posts: 279
- Joined: 06 Jul 1999 09:01
- Location: Toronto
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 956
- Joined: 04 Mar 2002 10:01
Re: Интересная задача - сгенерировать картинку мест в кинотеатре
Seryi wrote:Добрый день,
сейчас вот думаю над задачей как правильно сгенерировать схематическую картинку отображающую расположение мест в кинотеатре.
Итак, что у меня есть:
1) зал поделен на несколько секций
2) у каждой секции есть следующие атрибуты:
DirectionToStage - как секция ориентирована относительно сцены/экрана, в градусах. Если 0 - то прямо напротив экрана.
DistanceToStage - расстояние от сцены до секции в метрах
Rows - список рядов которые есть в секции, у каждого ряда есть Seats, то есть список мест.
Вот используя эти данные надо схематически отобразить зрительный зал, указать свободные/занятые места и т.д.
Как бы вы подошли к этой задаче? Какие дополнительные данные нужны для решения?
Кривизна не учитывается? Я бы для начала попробовал нарисовать 45 квадратиков картинок с сидениями под различным углом, и генерить html с картинками в <div/> c абсолютным позиционированием.
Позже. 90 картинок, с учетом занятых/не занятых.