Страницы

Tuesday 31 May 2011

Руководство по Image_3D: Суммарно, Скачать, Ресурсы, Об авторе (части 10, 11, 12, 13 из 13)

Перевод заключительных четырех частей руководства по PEAR пакету Image_3D, оригиналы
http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section10.html
http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/downloads.html
http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/resources.html
http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/authors.html

Суммарно

Image_3D является легким пакетом PEAR в плане настройки и использования в PHP для динамической генерации изображений. Интерфейс классов должен быть понятным для тех, кто пользовался ими в PHP 5. Вы исследовали все типы объектов включенных в пакет, в именно - источников света, цвета и преобразований. Вы также рассмотрели, как взять простые сценарии командной строки и создать более сложные приложения, а также стратегию, благодаря которой можно сделать их пригодными для использования даже в Интернете. Наконец, вы разработали простой класс, который может управлять созданием круговых диаграмм, ваш руководитель будет пускать слюни.

Не все примеры будут вам сразу же полезным или пригодным для использования. Помните, что этот пакет все еще находится в альфа-версии. Если вы найдете отсутствующую или неработающую функциональность, сообщите в список пожеланий PEAR.

Monday 30 May 2011

Руководство по Image_3D: Возвращение к практическим примерам (часть 9 из 13)

Перевод девятой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section9.html

Возвращение к практическим примерам

Пока, примеры которые вы видели демонстрировали возможности этого пакета для создания 3D изображения в PHP. Кто бы мог подумать, что этот язык, который был изобретен для управления веб-страницами, может быть использован для создания таких сложных графических файлов? Ну вот все прекрасно и замечательно, но если вы не 3D волшебник или вычислительная машина, вам может быть скучно. Давайте посмотрим, как вы можете взять ваши простые объекты и сценарии командной строки и воссоздать несколько интересных примеров.

Анимация 3D изображений

Графическая библиотека GD в прошлом имела поддержку изображений в формате GIF. Из-за проблем лицензирования, поддержка GIF-изображений была удалена из GD после V1.6, хотя это было восстановлено в V2.0.28. В любом случае, Image_3D не может экспортировать анимированные GIF изображения, а PNG файлы не поддерживают анимацию.

Вместо того чтобы создавать один файл, который будет играть циклические анимации, давайте посмотрим, как вы можете взять несколько файлов для создания анимации. Вы расширите пример с кубом сфер, генерирующий 30 отдельных файлов. В результате при просмотре анимации вы увидите вращающийся куб вокруг двух осей.

Sunday 29 May 2011

Руководство по Image_3D: Дополнительные драйверы вывода (часть 8 из 13)

Перевод восьмой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section8.html

Дополнительные драйверы вывода

До сих пор все изображения, которые вы создали, использовали драйвер GD. Вы видели, что этот драйвер производит изображения в формате PNG, но в вашем распоряжении есть ещё четыре дополнительных драйвера: SVG, SVGRotate, ZBuffer, и ASCII.

Saturday 28 May 2011

Руководство по Image_3D: Пользовательские формы и поверхности (часть 7 из 13)

Перевод седьмой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section7.html

Пользовательские формы и поверхности

Существуют два объекта, которые позволяют создавать больше пользовательских объектов в Image_3D: полигоны и карты.

Создание полигонов

Предположим, что вы можете наметить 3D форму с помощью многомерных координат, вы можете поместить эти координаты вместе, чтобы построить стороны 3D объекта. Проделав некоторые тщательные расчеты, используя точки и полигоны, можно построить кубы, конусы или сферы с нуля. Но существуют простые методы для создания этих объектов.

Friday 27 May 2011

Руководство по Image_3D: Дополнительные объекты (часть 6 из 13)

Перевод шестой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section6.html

Дополнительные объекты

Вы уже рассмотрели много подробностей о освещении, цвете и расположении вашего конуса. Давайте вернемся к рассмотрению какие еще типы объектов могут быть созданы в Image_3D.

Кубы

Как конусы, кубы еще один простой объект для создания. Только для их создания необходимо небольшое количество полигонов и, не взирая на размер, все кубы имеют один уровень детализации. При создании куба, второй параметр для createObject() является массивом из трех значений: ширина, высота и глубина куба.

Thursday 26 May 2011

Руководство по Image_3D: Изменение объектов и форм (часть 5 из 13)

Перевод пятой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section5.html

Изменение объектов и форм

Если вы когда-либо использовали инструмент преобразования в Adobe Photoshop, вы, вероятно, знакомы с его способностью перемещать, масштабировать, вращать, и наклонять элементы. Метод transform() для 3D объектов и пространств является аналогичным инструментом.

Wednesday 25 May 2011

Руководство по Image_3D: Источники света и цвета (часть 4 из 13)

Перевод четвертой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section4.html

Источники света и цвета

Без цвета или света, вы не можете видеть объекты в 3D пространстве. Давайте выберем момент для изучения этих двух важных пунктов, которые позволяют нам видеть свои творения.

Включите свет

Если бы вы установили цвет конуса в примере приведенном выше на красный (255, 0, 0) и удалили два источника света, в результате на изображении будет отображен черный конус на белом фоне. Красная поверхность конуса не будет видна ​​без лучей света.

Вы с легкостью можете исправить это, добавив по крайней мере один источник света - и лучше всего, если это белый свет, который лучше всего представит цвет объекта.

Один источник света будет освещать только одну сторону объекта или объектов в вашем пространстве. Добавление еще одного источника света на противоположную сторону поможет нам лучше рассмотреть объекты. Если вы используете два белых источника света, то они не будут лучше передавать характер объекта, а контрастность углов будет принимать только различные оттенки цвета объекта.

Как уже говорилось, в примерах вместо этого вы будете создавать объекты белого цвета и направлять цветные источники света на них. Это позволяет задать более широкий диапазон тонов и оттенков, чтобы выявить особенности каждого объекта.

Tuesday 24 May 2011

Руководство по Image_3D: Создание вашего первого мира (часть 3 из 13)

Перевод третей части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section3.html

Создание вашего первого мира

Ваше первое изображение будет включать в себя все основные элементы, необходимые для любого изображения, созданного с помощь Image_3D. Из этого примера, вы будете иметь правильное понимание пространства и освещения, чтобы быстро изучить все основные объекты в пакете.

Конусы

Целью этого первого примера будет заключаться в создании освещенного конусообразного объекта на белом фоне. Полученное пространство будет воспроизведено на изображении размером 400x400 пикселей.

Monday 23 May 2011

Руководство по Image_3D: Расположение в пространстве (часть 2 из 13)

Перевод второй части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/section2.html

Расположение в пространстве

С уверенностью можно сказать, что у большинства PHP разработчиков хорошее понимание 2D графики. Большинство из них, вероятно, использовали Adobe Photoshop, Corel Paint Shop Pro, GIMP, или другие программы для создания хотя бы простой графики. Давайте начнем с обсуждения того как 3D пространство, или мир, коррелирует с знакомым 2D холстом. Вы также изучите такие инструменты, как источники света, цвета и преобразования, которые помогут вам создать свои 3D изображения.

Sunday 22 May 2011

Руководство по Image_3D: Перед началом работы (часть 1 из 13)

Перевод первой части руководства по PEAR пакету Image_3D, оригинал http://www.ibm.com/developerworks/opensource/tutorials/os-php-3d/index.html

Перед началом работы

Данное руководство предназначено для PHP программистов заинтересованных в динамической генерации 3D графики. Изображения могут быть созданы с нуля, построенные из объектов и источников света расположенных в пространстве по координатах X, Y, и Z. Программисты с опытом работы с 3D Studio Max увидят, как импортировать объекты из 3DS файлов в PHP. Комплекс поверхностей, заданных параметрическими уравнениями могут быть легко сопоставлены использованием Image_3D. Наконец, бизнес-приложения и отчеты данных могут быть усовершенствованы путем добавления круговых диаграмм генерируемых на лету.

Об этом руководстве

Image_3D является объектно-ориентированным интерфейсом для создания 3D изображений. Объекты и источники света расположены в 3D пространстве в соответствии с координатами X, Y и Z. Изображения воспроизводятся в 2D пространстве и могут быть сохранены как PNG, SVG, или вывод в shell (с использованием ANSI символов). Пакет может быть легко использован для создания нескольких простых 3D объектов, в том числе кубов, конусов, шаров, текста и графиков "пирогов". Кроме того, есть поддержка импорта и изменения объектов, созданных в 3D Studio Max. Разработчики с сильным пониманием 3D пространств могут воспользоваться стандартными полиграммами и поверхностями карт для создания интересных объектов.

В первой половине этого руководства будет показано, как использовать PHP сценарии в командной сроке для создания файлов 3D изображений. После настройки основного 3D пространства с цветами и источниками света, будет рассмотрен каждый уникальный тип 3D объекта, а также каждый из выходных форматов файлов. Во второй половине обсудим, как превратить эти основные примеры в практические приложения. Создание 3D изображений интенсивная процессорная задача, так что вы определите решение этой проблемы для того, чтобы использовать динамически генерируемые изображения в Веб-приложениях, без сбоев веб-серверов. Пакет Image_3D поддерживает только статические графические форматы, так что вы будете делать простое решение на JavaScript для анимации 3D пространств. Наконец, вы будете писать класс на PHP для отображения отчетов данных в красочных круговых диаграммах, которые могут быть интегрированы с бизнес-приложениями.

Sunday 15 May 2011

Грядет PHP 5.4

Прошел почти год как разработчики PHP начали снова обсуждать возможность выхода версии 5.4. На этот раз уже точно определились с номером версии, ибо раньше получился жуткий срач 5.4 vs 6.0, поэтому транк жил под версией 5.3.99. Что есть хорошо, ведь в шестерке все ждут только поддержку юникода. Процесс во всю идет, сегодня в SVN создан бранч 5.4. Так же активно чинят сломанные тесты.

С графиком разработки можете ознакомиться тут. Радует, что к концу этого года планируют выпустить финальный релиз. Самое ужасное, scalar type hinting нам похоже не видать! Хотя не все потеряно, возможно и вернут.

Какие изменения нас ждут в новой версии? Из наиболее заметного:
- Оптимизирован Zend Engine в плане потребления памяти и скорости работы;
- Удалены safe_mode, register_globals, register_long_arrays;
- Удалены синтаксические конструкции break $var; и continue $var;
- Магические кавычки тоже хотели удалить, но пока оставили для обратной совместимости, помечены как устаревшее;
- Добавлено Function Array Dereferencing, многие уже и не надеялись;
- Добавлены Traits;
- Ну и как обычно добавлены/удалены ini директивы, константы, функции, классы, методы...

По скольку работа над PHP кипит, составлен список для обсуждения TODO. Хотелось бы видеть поддержку целых чисел в двоичной системе счисления.

Monday 9 May 2011

Блог официально открыт

Всем привет!

Вот и я решил завести бложек. Кто я? Зовут меня Павел. Живу в замечательном городе под названием Львов (Украина). Учусь на заочном, зачем не знаю, у меня нет в планах работать по этой специальности. Ещё я, немного, занимаюсь спортом, а именно вело-триалом и плаванием (последним больше в последнее время, каждый день утром хожу в бассейн).

Мое хобби - веб-разработка и так уж получилось благодаря ей зарабатываю на хлеб. Возможно вы уже догадались, в этом блоге подавляющее большинство записей будет связано именно с ней (мне бы так хотелось). Ах да, я жгу на связке PHP+MySQL.

На этом пока все.

P.S. Всех с Днем Победы!