воскресенье, 29 ноября 2009 г.

Векторный графический редактор в браузере на Raphael

SVG во всю набирает обороты и уже скоро сместит с пьедестала Flash. Не буду рассказывать о преимуществах, о этом можно прочитать в википедии.
На текущий момент у SVG есть один недостаток - нет поддержки в IE. У Microsoft собственный стандарт для векторной графики в браузере - VML.
Для решения этой проблемы разработана специальная библиотека Raphael, предоставляющая общий API для построения векторной графики, не зависимо от браузера.

В свою очередь я хочу представить графический редактор для построения векторной графики на основе RaphaelJS и чистоного SVG/VML.

Пример работы:
Opera (Firefox, Chrome, Safari - аналогично)
Internet Explorer
svg, raphael, canvas
Трансформация, поворот, масштабирование, закругление:
svg, raphael, canvas, Трансформация, поворот, масштабирование, закругление
svg, raphael, canvas

Попробовать демо редактора

Для просмотра списка возможностей читайте далее.

среда, 25 ноября 2009 г.

Исправление ошибок в модуле связи Punbb и Drupal

Исправил следующие ошибки в модуле:
1. Создание пользователя форума с пустым паролем.
2. Ошибка авторизации при привязке cookie к домену (проявлялось на некоторых браузерах).
3. Установка языка форума для пользователя, основываясь на глобальных настройках.
Спасибо golden[a]speechpro.com (Golden) за тестирование.

Ссылка для скачивания прежняя.

воскресенье, 22 ноября 2009 г.

NOT IN в MS SQL

В продолжение топика по оптимизации подзапросов в MS SQL, хотел бы сказать еще по поводу использования NOT IN. Точней его не использовании, т.к. в противном случае не подтягивается индекс и происходит полный перебор. Если есть возможность замените на эквивалентный запрос или перечисление констант.
Было:
...
field NOT IN (value1, value 2)
...
Стало:
...
field <> value1 AND field2 <> value2
...

суббота, 7 ноября 2009 г.

Модуль связи PunBB 1.3 и Drupal 6

Модуль связи PunBB и Drupal
Изменения:
1. Переработка модуля для версии Drupal 6
2. Усложнение авторизации и регистрации форума punbb привело к изменению модуля.

Напомню еще раз характеристики:
Только через Drupal. Рекомендую на пунбб вообще отключить регистрацию.
1. Единая регистрация
2. Единая авторизация
3. Единый выход
4. Единая смена учетных данных (В данной версии: почта, временная зона и пароль)
5. Анонс нодов на форуме

Доступ внутри node к информации о топике:
$node['punbb'] == array('id', //ид топика
                        'subject', //тема топика
                        'posted', //автор топика
                        'url'); //url до топика на форуме

Дата разработки: ноябрь 2009
Основное место обсуждения

Скачать архив (Размер файла: 8КБ)

воскресенье, 1 ноября 2009 г.

Синтез виртуальной среды с применением аналитических и скалярных функций возмущения

Ранее я выкладывал исходный код своего диплом (Синтез виртуальной среды с применением скалярных и аналитических функций возмущения и трехмерных массивов вокселей). Думаю многих интересуют детали реализации, для этого я выложу полную записку в общий доступ.

Оглавление:
Оглавление 6
Введение 9
1. Постановка задачи 11
1.1. Основные понятия и определения 11
1.2. Общее описание программной системы 11
2. Анализ методов и средств решения поставленной задачи 15
2.1. Теоретически основы 15
2.1.1. Физика процесса распространения света 15
2.1.2. Основная модель трассировки лучей 22
2.1.3. Способы задания свободных форм объектов 25
2.1.4. Функция возмущения в неявном виде 26
2.1.5. Функция возмущения в скалярном виде 28
2.1.6. Моделирование текстуры 28
2.1.7. Рельефное текстурирование 29
2.2. Аналитический обзор существующих систем синтеза воксельной графики 30
3. Анализ требований к программной системе 33
3.1. Анализ предметной области 33
3.2. Определение функциональности программной системы 34
3.3. Система приоритетов при разработке программной системы 34
4. Проектирование программной системы 36
4.1. Архитектура программной системы 36
4.2. Выбор инструментальных средств разработки 37
4.2.1. Выбор языка программирования 37
4.2.2. Выбор среды реализации 37
4.2.3. Выбор компилятора 38
4.2.4. Выбор прочих средств разработки 38
4.3. Проектирование структур данных, иерархии классов и алгоритмов 38
4.3.1. Описание структур данных 39
4.3.2. Описание алгоритмов программы 44
4.3.3. Оценка скорости работы алгоритма трассировки лучей 47
4.4. Проектирование пользовательского интерфейса 49
5. Реализация программной системы 50
5.1. Особенности реализации системы 50
5.1.1. Оценка объема исходного кода 54
5.2. Внешний вид сцен 54
6. Тестирование программной системы 59
6.1. Обоснование методики тестирования 59
6.2. Результаты тестирования 59
7. Внедрение системы 65
7.1. Руководство пользователя 65
7.2. Руководство программиста 66
8. Организационно-экономическая часть 68
8.1. Анализ и оценка стоимости объекта интеллектуальной собственности 68
8.1.1. Анализ объекта интеллектуальной собственности 68
8.1.2. Подходы к оценке стоимости объекта интеллектуальной собственности 70
8.1.3. Оценка стоимости объекта интеллектуальной собственности 75
8.2. Расчет показателей экономической эффективности 76
8.3. Выбор и обоснование методики ценообразования разработки 81
8.4. Способы коммерциализации объекта интеллектуальной собственности 83
9. Безопасность и экологичность проекта. 85
9.1. Анализ опасных и вредных факторов пользователей ПЭВМ 86
9.1.1. Опасные и вредные факторы при работе за мониторами. 88
9.2. Решения по охране труда 92
9.2.1. Проектирование естественного освещения 93
9.2.2. Проектирование искусственного освещения 96
9.3. Решения по обеспечению устойчивости функционирования в чрезвычайных ситуациях 99
9.3.1. Основные понятия чрезвычайных ситуаций 99
9.3.2. Информационная безопасность 101
Заключение 108
Список литературы 110
Приложение А 113
Листинг основных алгоритмов 113
Приложение Б 122
Организационно-экономическая часть 122
Приложение В 123
Безопасность и экологичность проекта 123
Приложение Г 124
Архитектура системы 124
Приложение Д 125
Общий алгоритм функционирования системы 125
Приложение Е 126
Тестирование системы 126
Приложение Ж 127
Алгоритм трассировки лучей 127
Далее примеры сцен и ссылка на скачку полного файла.