Уроки GIMP. Рисуем огонь.

29.01.2010. GIMP, Дизайн

0

Сегодня я расскажу как можно нарисовать огонь с помощью GIMP

Первым делом, создайте новое изображение с разрешением 600х600 точек. Затем идем в Фильтры->визуализация->облака->сплошной шум и настраиваем фильтр приблизительно как на этом рисунке:

Теперь берем кисть, устанавливаем ей черный цвет и закрашиваем верхнюю часть примерно так:

А сейчас надо воспользоваться таким полезным инструментом, как палец. Он позволяет нам размазывать изображения как мы хотим. С помощью этого инструмента добейтесь того, чтоб на вашем изображении появились черно-белые огненные языки. Находим черный кусок и размазываем его вверх так, чтоб образовывалось что-либо наподобие языка пламени. Для большой реалистичности делаем в несколько этапов, постепенно уменьшая размер пальца. Если не хватает черного цвета, то добавляем его кистью. Затем применяем фильтр общие->эрозия. Результат должен быть примерно таким:

Затем идем в Цвет->Цветовой Баланс и придаем черно-белому огню цвет:

В результате у нас появилось что-то очень похожее на огонь. Осталось его сделать немного  более реалистичным.

Первым делом идем в фильтры->искажения->рябь

Настраиваем:

Далее фильтры->размывание->Гауссово размывание. И фильтры->имитация->масляная краска с размером маски 3. Также используем фильтры сгладить и увеличение резкости.

Еще можно применить фильтры->искажения->исправить искажения оптики:

Вот и все. После небольшого количества простых действий мы смогли нарисовать достаточно реалистичный огонь. А вот и сам результат:

Кстати, если вы фанат photoshop`а, то вот здесь есть уроки фотошоп на русском. Надеюсь, вы найдете там то, что вам нужно.

C++. Урок 12. Работа с указателями. Динамическое выделение памяти

28.01.2010. c++, Программирование

0

Кроме переменных в с++ существуют указатели, которые вместо того, чтобы "хранить" их, содержат адрес этих данных в памяти. То есть, например, у нас есть куча шариков. Где-то есть шарик с номером 5. Ну так вот, указатель - это такая переменная, которая указывает на "позицию" этого шарика, на его местоположения.

Создание указателя:

тип *имя;

Пример:

int *p;  // указатель на переменную типа int или первый элемент массива типа int

char *pc; // указатель на переменную или массив типа char

Теперь надо заставить указатель на что-то указывать. Для этого мы можем использовать оператор & - функция взятия адреса переменной

int *p;

int a=10;

p=&a;

//теперь p указывает на переменную a.

Для записи чего-либо в память, на которую указывает указатель надо использовать оператор *, который обозначает, что мы работаем с данными, находящимися по такому-то адресу

*p=20; //теперь a==20

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

Для выделения памяти служит функция new:

char *c=new char(количество символов);

Вот мы создали массив типа char.Работа с ним ничем не отличается от работы с обычным массивом.

Внимание, после того, как вы поработали с массивом и вам он больше не нужно, необходимо отчистить память:

delete [] имя указателя на память, которую нужно отчистить.

Может будет интересно:

Если вам нужен выделенный сервер, то рекомендую вот этот сервер в Германии

Переадресация на вашу страницу Вконтакте (vkontakte.ru), любой другой профиль или другой сайт

23.01.2010. Разное

0

Вполне возможно, что вы оставляете где-то ссылку на ваш адрес Вконтакте, но выглядит он как-то не очень красиво: www.vkontakte.ru/idxxxxxx. Сегодня я расскажу, как сделать для любого вашего профиля свой нормальный красивый адрес.

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

Если у вас нету своего сайта, то можно его создать на бесплатном хостинге. Например, http://0fees.net/.

После этого, на сайте, с которого вы хотите установить переадресацию на ваш профиль, вам необходимо в корневом каталоге вашего сайта отредактировать файл .htaccess. Удалите из него весь текст и вставьте туда это:

RedirectPermanent / http://vkontakte.ru/ваш ид
Можно вместо сайта вконтакте указать там адрес вашего twitter, ЖЖ и т.д.

P.S. Это был пример простейшей переадресации с одного сайта на другой

P.P.S. Инструкция подходит только для web-сервера Apache

Урок 11. C++. STL Стеки и очереди (stack and queue)

21.01.2010. c++, Программирование

0

Собственно сегодня небольшой урок про стеки и очереди.

Стеки (stack)

Стеки - это множество элементов, сложенных в стопку. Например, у нас есть коробка 3х5. Мы кладем в нее доски такого же размера с различными узорами. У нас получается стек. Достать из него мы можем только начинаяя с последнего элемента, поэтому первый положенные элемент вынут будет последним. В стеках реализуется принцип first in last out (FILO).

Для создания стека нужно подключить <stack> и в коде программы его объявить:

stack <type> name, где type - тип стека, а name - имя стека.

У стека есть немного функций:

Пример:

string s;

stack <string> st;

while (cin>>s);

st.push(s);

while (!(st.empty()))

{cout<<st.top();st.pop()}

В этом примере мы считываем слова с клавиатури и выводим их в обратном порядке

Очереди (Queue)

Очереди, как следует из название, используют принцип first in first out (FIFO). То есть, тот, кого мы первым запихнули в очередь, первым из нее и выйдет (хотя в реальной жизни не всегда так....)

Реализуются очереди также просто.

Подключаем <queue>

И создаем очередь

queue <type> name;

Перечень функций почти тот-же:

Пример:

queue <int>  events;

int n;

while (cin>>n)

events.push(n);

while (!events.empty)

{make(events.front());events.pop()}

В данном примере make - какая-то функция, обрабатывающая события

Вот и все об очередях со стеками. Просто и немного;)

С++. Урок 10. Изучаем map (ассоциативный массив).

18.01.2010. c++, Программирование

3

В реальной жизни вы редко ассоциируете какие-то данные с цифрами, а обычно используете для этого слова, звуки, картинки и т.д.  В с++, на данный момент, вы не умеете так делать. Настала пора научиться

Читать дальше

C++. Урок 9. Стандартные алгоритмы для работы с STL (algorithm)

17.01.2010. c++, Программирование

0

В C++ существует множество спецальных алгоритмов для работы с массивами. Они позволяют сортировать данные в массиве, искать в нем какое-либо значение, менять элементы местами и т.д. Для их работы вам необходимо подкючить <algorithm> в начале программы.

Читать дальше

C++. Урок 8. STL. Контейнеры. Vector (вектор) – динамический массив

14.01.2010. c++, Программирование

11

Кроме массивов в c++ существуют еще контейнеры, которые позволяют вам немного по другому хранить данные и, вдобавок, применять к ним различные функции (поиск, сортировка и т.д.) . Сегодня вы узнаете об одном из  контейнеров - векторе (vector) Читать дальше

C++. Урок 7. Чтение и запись в файл

13.01.2010. c++

1

Пора наконец-то научится работать с файлами в с++: читать в них, писать в них и изменятять их.

Читать дальше

Небольшая заметка, если пропало место на жестком диске в Linux (KDE,Kubuntu)

11.01.2010. Linux

0

Вот столкнулся с проблемой, у меня раздел /home вынесен на отдельный раздел объемом 30 гигов. Недавно обнаружил, что торренту некуда скачивать файлы, нету места на диске, при этом размер всех папок не превышал 5 гигов. Корзина, если верить KDE, была очищена. Самое интересное, что все программы показывали, что заняты как раз эти 5 гигов.

Спустя 5 минут было найдено решение. Оказывается папка .trash не удаляла удаленные из нее файлы;), пришлось сделать это ручками из под рута. Если у кого-то возникнет похожая проблема (не хватает места на диске, исчезло место на диске, диск переполнен и т.д.), то возможно вам просто необходимо стереть корзину вручную (не бойтесь, после трения папке она автоматически востановится)

C++. Урок 6. Строки

10.01.2010. c++

1

Сегодня вы познакомитесь со строками в с++ и научитесь немного их обрабатывать.

Читать дальше

C++. Урок 5. Циклы

10.01.2010. c++

0

Сегодня мы познакомимся с такой вещью, как циклы

Читать дальше

Интернет (gprs/edge/3G/DialUp) через мобильный телефон в Linux

9.01.2010. Linux

0

Иногда бывает необходимо выйти в интернет в отсутствии адекватного интернета и единственным источником выхода в сеть является мобильный интернет. Под Windows производители обычно предоставляют свои программы, а вот про Unix-системы забывают. Вдобавок, на данный момент, выйти в интернет с полпинка не получается. В kubuntu (KDE4), например, подключение создается, но не работает. Под Gnome, говорят, те же траблы. Поэтому приходится ставить дополнительный софт и настраивать его. Я для выхода в интернет стал использовать программу wvdial. Читать дальше

C++. Урок 4. Массивы

2.01.2010. c++, Программирование

1

Очередной урок по c++. На этот раз вы познакомитесь с массивами данных.

Читать дальше

Новогодние HD обои

1.01.2010. Обои

0

Еще раз всех с Новым Годом! Предлагаю вашему вниманию коллекцию новогодних обоев в разрешении 1600x1200

Читать дальше

Страница 1 из 11

Rambler's Top100 Блогун - монетизируем блоги