воскресенье, 23 марта 2008 г.

Pixilang v1.5

Выпустил в свет новую версию языка Pixilang 1.5.
Что нового:
* добавлена поддержка библиотеки SDL (для прямого доступа к видеопамяти) в Linux-версии;
* добавлена поддержка прямого доступа к видеопамяти в PalmOS-версии;
* оптимизированы функции для рисования в полноэкранном режиме (SDL, DirectX, OpenGL, GAPI...);
* исправлены баги при рисовании "обрезанной" картинки в Windows Mobile;
* исправлен баг с загрузкой pixi-картинки после вызова команды file_dialog();
* оптимизация скорости;
* исправлено множество небольших ошибок.

Качать, как обычно, отсюда: http://www.warmplace.ru/soft/pixilang/index_ru.php

2 комментария:

Qu комментирует...

Предлагаю расширить список принципиально новым подходом, как расширение возможностей Pixilang

Интеграция масштабирования предмета в пикселизацию изображения.

Пиксель - это некий структурный элемент изображения единичного размера. Например, пикселом можно принять как квадрат единичного периметра, размером 0.25, так и окружность длиной 1 и размером 0.31 (пример). Характерно, что в миллиметрах это полностью соответствует общепринятым размерам пикселей. Аналогично, объёмным пикселом можно принять как куб площадью поверхности равной единице, так и сферу единичной площади, тогда размер объёмного графического пикселя будет варьироваться от 0.4 до 0.56.
Принцип масштабирования или пикселизации позволяет масштабировать изображение вне зависимости от единиц измерения. Например, изображение писксела в сантиметрах может быть детализировано группой аналогичных пикселов меньшего размера в миллиметрах и наоборот, группа пикселей с размером меньше минимального может быть сгруппирована в суперпиксель. Это позволяет манипулировать изображением функционально, в зависимости от степени удалённости объекта или предмета.
Пикселизация - это структурно-зависимая детализация предмета и его изображения, когда стуктура объекта либо субъекта детализируется в зависимости от функциональных связей, таких как условий удалённости и взаимодействия предметов. При этом все элементы структуры (пикселы) взаимосвязаны общими принципами взаимодействия, такими как корпускулярная физика взаимодействия частиц тела, отображаемого графически пикселом. Таким образом пикселу соответствуют дополнительные свойства и связи (профиль структуры), формирующие поведение пикселов. Например, связи соседних пикселов позволяют определить всё изображение предмета, как резиновое, пластелиновое, либо хрупкое. Функционально это означает, что поведение пикселей определяется внешними связями и взаимодействием. И наоборот, взаимодействие с предметом на макроуровне, как механика твёрдого тела, может быть детализировано до взаимодействия связей между пикселами, как функциональная среда поведения и взаимодействия, например, песок, вода, пластилин или резина.

Иными словами, реакция предмета на взаимодействие определяется простой механикой связей соседних пикселей, тогда как реакция изображения предмета определяется степенью приближения и детализации объекта.
Таким образом изображение предмета совмещается с описанием его содержания и деталей взаимодействия в виде пиксела и корпускулярной механики и физики.
Наконец, современное применение в компьютерах ускорителей физики взаимодействия предметов, наряду с ускорителями графики, полностью соответствует логике развития компьютерных процессов и компьютерной графики вцелом.

P.S. Это такой же процесс обобщения структуры взаимодействия и описания поведения предмета, как и приводимый вами процесс обобщения языковой структуры программирования в виде LLVM. В итоге, описание пиксела в виде отдельного элемента изображения предмета можно совместить программно с описанием отдельного элемента структуры самого предмета в виде функциональных связей между ними. Pixilang обладает хорошей базой в качестве инструмента описания технологии совмещения элементов изображения и описания функциональности отдельных элементов предмета, а также перспективой описания динамических структур программных модулей (описание).

Qu комментирует...

Проясню идею [...]
Предлагается пикселизировать изображаемые предметы в матрицу объёмных пикселов. Эта трансформация соответствет корпускулярно-атомарному представлению объекта.
Разница между корпускулярной теорией и атомарной состоит в том, что изображаемый предмет загружается как пиксельная матрица и таким образом переходит в другое состояние. При этом перемещение частиц тела вызывается изменением состояния соседних пикселей. Сами пикселы при этом никуда не перемещаются, перемещается только состояние пиксела. Это представимо в виде дорожки светодиодов, зажигаемых последовательно.
Удобство процесса в том, что пикселизация и атомаризация взаимозаменяемы и взаимодополняемы. Механика атомарных процессов представима в простом виде, как механика простых пружин (функциональных связей), соединяющих частицы тела, характеризуемых определёнными параметрами эластичности, жёсткости, хрупкости, тягучести и формирующих конечное поведение предмета как резины, пластилина, песка, либо жидкости.
Динамизм структуры возникает именно при трансформации представления изображаемого предмета.
Корпускулярно-атомарное представление напоминает корпускулярно-волновую теорию света из физики и, конечно, весьма похожа на "МАТРИЦУ". Собсно, это и есть матрица с иными принципами взаимодействия элементов и переходов, отличающихся от механики атомарных процессов.
Таким образом, элементарная программная структура возникает, с одной стороны, как процесс формирования пиксела из луча света, отражаемого от частицы тела на поверхности, с другой стороны, она же представима в виде состояния корпускулы тела, "освещённости" пиксельной матрицы.
При этом определяется связь или состояние перехода на макроуровень описания и разбиения, когда предмет описывается как целое, например, в виде математической аппроксимации или набора интерполирующих поверхностей.
Для этого я предлагаю использовать инновационные методы и технологии программирования динамических структур, в которых определяющую роль играют связи между модулями, внешние управляющие сегменты, задающие взаимодействие элементов структуры и формирующие динамику структуры модулей вцелом. Внешние сегменты программного модуля могут быть общими, как электрическая схема распределения сигналов; могут быть управляющими, как контроллер электронной печатной платы; могут быть самостоятельными, как носители; функциональными; распределительными (транспортеры), определительными (сенсорные) и т.д.