Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Клеточное поле на веб-странице [RSS Feed]

#1 Апрель 5, 2011 23:36:59

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

Заранее прошу прощения, что вопрос не совсем по питону, но в основе проекта лежит Django, да и вообще задача интересная.

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

HTML5 Canvas отпадает, потому что требуется поддержка IE. Я пробовал генерировать структуру на сервере и вставлять в DOM самой HTML-страницы - но на поле 1000 на 1000 браузер уже начинает просить пощады и очень долго рассуждать. А flash я, к сожалению, знаю довольно плохо.

В общем, прошу совета - как реализовать на клиенте задание начальных данных мышкой для больших полей и как сериализовать-десериализовать это поле для передачи на сервер за минимальное время? JSON почему-то не кажется хорошим решением, а бинарный формат яваскриптом реализовывать - это злобно…



Отредактировано (Апрель 5, 2011 23:37:25)

Офлайн

#2 Апрель 6, 2011 05:26:47

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

Enchantner
HTML5 Canvas отпадает, потому что требуется поддержка IE.
Не все так плохо с канвасом. http://code.google.com/p/explorercanvas/. В работе с растром там многого нет, но вектор работает неплохо.

Или даже http://raphaeljs.com/



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Апрель 6, 2011 09:43:15

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

PooH
А как со скоростью-то? Я понимаю, что рисование квадрата в любом случае быстрее DOM-манипуляции, но все зависит от реализации…

И да, насчет SVG (Raphael) думал, но там опять же та же ерунда - поддержка SVG появилась только в IE 9, а всякие svg2swf - ужасно неудобные и тормозные…



Отредактировано (Апрель 6, 2011 09:44:30)

Офлайн

#4 Апрель 6, 2011 11:21:48

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

Enchantner
PooH
А как со скоростью-то? Я понимаю, что рисование квадрата в любом случае быстрее DOM-манипуляции, но все зависит от реализации…
А фиг знает, пробовать надо :) Я делал на нем карту интерактивную, вроде хватало скорости. В принципе он почти напрямую в VML операции транслирует.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Апрель 12, 2011 23:18:01

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

А по сериализации никто ничего не посоветует хорошего? Как можно на сервер максимально компактно это все отправить?



Офлайн

#6 Апрель 12, 2011 23:42:35

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

JSON + Zip
если вариантов значений клеток не много, что-то типа RLE сжатия



Офлайн

#7 Апрель 13, 2011 05:44:26

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Клеточное поле на веб-странице

Enchantner
Как можно на сервер максимально компактно это все отправить?
Может битовый массив? На клиент придет набор целых чисел. Побитные операции в javascript есть.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

  • Начало
  • » Web
  • » Клеточное поле на веб-странице[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version