Компьютерные технологии. Компьютерные технологии в экологии и природопользовании
Скачать 8 Mb.
|
Практическое задание № 8. Работа с текстом. Текст из травы Урок состоит из трех частей – фон, текст и немного дополнительных эффектов. Вам потребуются несколько изображений «Бумага.jpg», «Трава.jpg» и «Бабочка.jpg». 1. Создание фона 1. Создаем новый документ в Photoshop размером 1920 на 1200 px. Приступим к рисованию радиального градиента с помощью инструмента Градиент (клавиша 2. Сделаем этот фон более реальным, используя для этого готовую текстуру бумаги, открыв изображение «Бумага.jpg» в Photoshop. Теперь нужно сделать текстуру черно-белой 3. Далее переводим этот слой в режим Перекрытия и ставим прозрачность на 70%, чтобы смешать текстуру с нашим зеленым фоном. 4. Чтобы сделать текстуру еще лучше, копируем слой с текстурой, поворачиваем его на 180 градусов и делаем его прозрачным на 20%. Далее берем еще текстуру бумаги и проделываем с ним то же самое, размещая каждый следующий слой над предыдущим. Все это нужно делать для того, чтобы текстура смотрелась более реалистичной и появились мелкие детали. Как можно видеть, получилось шесть слоев. 5. Теперь необходимо скопировать самый первый зеленый фон и разместить копию над всеми слоями, после этого поставить прозрачность на 40%. 6. Создаем новый слой, который будет выше всех. Используя большую мягкую черную кисть (клавиша ), добавляем немного темного цвета по краям картинки. Стоит вернуть прозрачность на 30% и перевести в режим Перекрытия. Затем можно скопировать этот слой и применить к копии Размытие по Гауссу при 32 px. В результате углы станут более мягкими. 139 2. Сохдание текста 7. На панели слоев создаем новую группу слоев (щелчком на папке на панели слоев) с именем Текст. На панели инструментов Photoshop выбираем инструмент Текст, задаем на панели опций гарнитуру и размер шрифта и пишем какое-нибудь слово. 8. А сейчас используем картинку с травой для создания травяного эффекта. Открываем «Трава.jpg». Трава красивая, но в верхней части немного темнее, чем в середине. Нам нужен большой прямоугольный кусок этой травы для создания травяной текстуры. Используя инструмент Прямоугольник, выделяем часть изображения с самой красивой травой, копируем Переименовываем слой в «Текстура травы». 9. Вы видите, что размер текста и травяной текстуры не совпадают. Чтобы получить хороший результат, нужно использовать для изображения травы режим Свободное трансформирование ( 10. Слой с травой нужно сделать невидимым, а затем создать новый слой над текстовым. 11. Теперь создадим траву, при помощи которой будем украшать текст. В Photoshop уже есть кисть травы, но она не подходит для создания текста. Поэтому мы создадим новую кисть. Берем инструмент Карандаш и рисуем травинку, заливаем ее черным цветом и сохраняем как кисть: Редактирование|/Определить кисть, открываем окно выбора кистей и выбираем эту кисть. Затем открываем окно Кисти (или нажимаем F5) и задаем настройки для кисти: Динамика формы: колебания размера – 100%, минимальный диаметр – 22% и колебание угла – 100%; Рассеивания: рассеивание – 45, счетчик – 5. 140 Размеры и жесткость кисти используйте по своему усмотрению. 12. Выбираем текстовый слой и растрируем его. Выбираем инструмент Волшебная палочка, выделяем наш текст, затем сочетанием клавиш 13. Можно остановиться на этом, а можно еще сделать следующее: в стилях слоя задать тень для травяного текста. Выбираем Стили слоя/Тень и задаем для нее такие параметры: Режим наложения (Умножение), Угол (120), Размах (20), Размер (8). 3. Создание дополнительных эффектов 14. Добавим элементы на нашу картинку с текстом. Для начала открываем изображение «Бабочка.jpg» в Photoshop, вырезаем белый фон с помощью инструмента Волшебная палочка (клавиша Выделить/Модифицировать/Сжать и выполняем сжатие на 1px. Инвертируем выделение Лассо, обводим нужную часть и копируем в главный рисунок. 15. Теперь уменьшаем бабочку и божью коровку пропорционально, добавляем к ним тень и расставляем так, чтобы они уравновешивали друг друга на рисунке. 141 Г ЛАВА 4. С ИСТЕМА СТАТИСТИЧЕСКОГО АНАЛИЗА И ВИЗУАЛИЗАЦИИ ДАННЫХ R Н АЧАЛО РАБОТЫ С RS TUDIO . О РГАНИЗАЦИЯ РАБОЧЕЙ СРЕДЫ Рабочее пространство Рабочее пространство – это текущая рабочая среда R в памяти вашего компьютера, которая включает в себя любые созданные пользователем объекты (векторы, матрицы, функции, таблицы данных или списки). В конце каждой сессии вы можете сохранить рабочее пространство, и оно автоматически загрузится при следующем запуске программы. Команды интерактивно вводятся в ответ на приглашение к их вводу. Можно использовать стрелки вверх и вниз для перемещения между введенными ранее командами. Это позволяет вызвать предыдущую команду, отредактировать ее и вновь выполнить ее, нажав клавишу Enter. Текущая рабочая директория – это та директория, где находятся файлы данных и куда по умолчанию сохраняются результаты. Функция getwd( ) позволяет узнать, какая директория в данный момент является рабочей. Вы можете назначить рабочую директорию при помощи функции setwd( ). Если появляется необходимость импортировать файл, который находится не в рабочей директории, нужно написать полный путь к нему. Всегда заключайте в кавычки названия файлов и директорий. R – это чувствительный к регистру клавиатуры язык. Вы можете либо вводить команды по одной – приглашение на ввод команды (>), либо запускать набор команд из исходного файла. При открытии RStudio вы увидите четыре рабочих окна. Нижнее левое – это консоль (Console), туда можно непосредственно вводить команды, нажимать Над консолью тоже можно писать команды и коды целиком. Справа вверху находятся две вкладки Среда (Environment) и История: (History). 142 Рис. 74. Рабочие окна RStudio. Начало работы Среда показывает наше окружение, а История сохраняет все команды, использованные в течение одной рабочей сессии. Внизу справа находится несколько вкладок. Файлы (Files) – это менеджер файлов, который позволит нам пользоваться переходами, не покидая RStudio. Графики (Plots) предназначены для визуализации. Пакеты (Packages) – список библиотек, которые мы используем. Помощь (Help) – встроенная справка. Если необходимо воспользоваться справкой или найти ответ на какой-либо вопрос, то можно выбрать два варианта действий: использовать встроенную справку: help (“sin”) или help.search(“logarithm”); использовать электронные ресурсы, например, Kickstarting R, https://cran.r- project.org/doc/contrib/Lemon-kickstart/index.html или R-analytics, http://r- analytics.blogspot.ru/. Как пользоваться справкой: 1. Открыть RStudio. 2. В правом нижнем секторе перейти во вкладку Help. 143 3. Ввести в секторе Консоль (Console, левый нижний сектор рабочего пространства) запрос: help ('***'), или help (“***”), или ?***, или ?’***’ Справка появится в правом нижнем секторе. R спроектирован как расширяемый язык, основанный на пакетах (packages). Даже само ядро языка, с которым мы будем работать, является пакетом base. Вместе с основным пакетом происходит автоматическая установка еще нескольких пакетов, часть из них уже подключена к сессии, а другие можно подключать без необходимости установки. Остальные специализированные пакеты можно и нужно скачивать с официального сайта CRAN. Кроме того, можно пользоваться github и bitbucket, эти ресурсы не требуют строгой документации к пакетам. Некоторые пакеты есть только на них. Чем отличаются пакеты от библиотек? Модули расширений, которые необходимо скачивать, – это пакеты. А место на диске, где они хранятся, – это библиотеки. Можно посмотреть список библиотек, набрав команду: libPaths( )– в результате мы получим адреса на диске, где хранятся эти пакеты. installed.packages( )покажет пакеты, которые у вас установлены. Как подключить установленный пакет? Используем два вида команд: library(название пакета)или require (название пакета). После подключения будут доступны дополнительные функции. Иногда необходимо скачать новый пакет и установить его на компьютер. Для установления используется функция install.packages('название пакета', dependencies = TRUE). Второе условие показывает, что автоматически загружаются и другие пакеты, которые нужны для нормальной работы запрашиваемого. Визуализация зависимостей пакетов друг от друга доступна по адресу: http://nycdatascience.com/most-popular-r-packages-and-r-package-dependency- visualization/ Если необходимо обновить пакеты, то нужно использовать команду update.packages ( ). 144 Наконец, некоторые пакеты могут работать неправильно (или конфликтовать друг с другом), особенно если перед этим произошло обновление версии R. Проверка осуществляется командой sessionInfo( ), которая показывает все установленные у вас пакеты. Сохранение результатов Чаще всего, работа с кодом не исчерпывается одной сессией. Работу можно сохранить разными способами. Через верхнее меню команда Save File. Появится окно, где можно выбрать директорию, где будет храниться скрипт, и самостоятельно набрать название. Иногда нужно сохранить не только скрипт, но и некоторые исходные данные вместе с ним. Для этого используют функцию write.csv(df, ‘df.csv’) – при реализации этой команды через консоль появится файл в формате .csv Иногда нужно сохранить некоторые дополнительные переменные и функции, расчет которых заново потребует много времени. Для этого есть команда Save Workspace во вкладке Среда (Environment). В этом случае сохраняется все содержимое окна Среда (Environment). Если нужно сохранить только некоторые переменные, а не всю рабочую среду, то используем команду в консоли save(my_file, file = 'my_file.RData'). Переменные и функции Итак, любые команды в R исполняются построчно. Набирается команда и нажимается Если код состоит из нескольких строк, то каждая из строк исполняется отдельным интерпретатором. При одновременном выполнении нескольких строк необходимо объединять их. 145 Практическая работа №8. Переменные, операторы, функции 1. Упражнение «Калькулятор» Ввести команду: 18+4 (или любую другую) и нажать Намного эффективнее использовать переменные. Используем оператор присваивания «<-». Слева от оператора указывается имя переменной (может быть любым, уникальным), справа – ее значение. Так можно создать любые переменные. Типы данных очень разнообразны: вектора, матрицы, таблицы данных и списки. 2. Упражнение «Переменные» a<- 5 b<- 8 c<- a+b с Можно создать два типа переменных в зависимости от окружения. Окружение переменной – это пространство, где ее можно найти. Все переменные, созданные в консоли, попадают в глобальное окружение. Переменные из глобального окружения доступны для любых программ во вкладке Среда (Environment). Локальные переменные существуют в текущей области, их значение может быть использовано как параметр программы, но напрямую любая другая запущенная программа к ним обратиться не может. Локальные переменные утрачиваются после выполнения текущей программы. При работе с фрагментами сложного кода, более одной строки, лучше перейти к вводу команд в левой верхней вкладке. При этом будет удобно отслеживать историю их использования. Кроме того, можно будет повторно запускать некоторые команды и редактировать их. Для запуска команды необходимо нажать Run (правый верхний угол в левой верхней вкладке). 146 3. Упражнение «Логические операторы» a> 3 TRUE a > 8 FALSE a == 5 TRUE Обратите внимание, что один знак равенства соответствует присвоению переменной какого-либо значения, а два знака – это оператор сравнения, т. е. логический оператор. Встроенные функции уже содержатся в R. Можно использовать любые из них в соответствующей ситуации. 4. Упражение «Функция» 1) ls ( ) – позволяет посмотреть глобальное окружение. 2) rnorm (15, mean = 5, sd = 2) Обратите внимание, если необходимо присвоить значение переменной, то используется оператор присваивания, если нужно указать значение аргумента функции, то – оператор равенства. Можно также написать свою собственную функцию. Выбираем для своей функции какое-либо новое название, затем в круглых скобках указываем аргументы функции, а в фигурных – тело функции (ее код). Указываем название новой функции, затем оператор присваивания, затем ключевое слово function, которое подтверждает то, что создается именно функция, а не обычная переменная. В данном примере аргументов функции не существует, поэтому круглые скобки остаются пустыми. Код здесь представляет собой переменную y в локальном окружении с постоянным значением 2. Затем идет команда return, которая возвращает значение y. 147 5. Упражнение «Пишем собственную функцию» returntwo <- function ( ) { y<-2 return (y) } returntwo () При запуске такой функции будет напечатана цифра 2. Или: addten<- function(x) { x <- x+10 } addten (a) a Значение переменной а не изменилось. Это связано с тем, что присвоение нового значения произошло только в локальном окружении, а в глобальном оно не изменилось. Для того чтобы изменения отразились в глобальном окружении, необходимо использовать команду return. addten<- function(x) { return ( x+10) } morea <- addten (a) morea или <<- оператор глобального присваивания. addten <- function (x) { moreb <<- x+10 } addten (b) b moreb 148 6. Удаление лишних переменных Удалить лишние переменные можно функцией rm. Например: rm (moreb) Восстановить переменные, удаленные с помощью функции rm, невозможно. 7. «Напишите функцию» Напишите функцию, которая принимает на вход два числа и возвращает результат деления первого на второе: divide <- function x, y) { [ваш код] } Проверьте результат: divide (164, 4) Практическая работа №9. Векторы и матрицы Базовой структурой данных в R является вектор. На векторах основаны более сложные структуры: матрица, список, фактор, датафрейм. Векторизация – это ключевая концепция языка. Вектор представляет собой индексированный набор данных одного типа. То есть каждый элемент имеет свой номер, и все элементы должны быть сходны между собой. R не делает различия между скалярными и векторными величинами, т. е. скаляр здесь – это вектор длины 1. Порядок индексации в этом языке начинается с 1, поэтому к последнему элементу вектора можно обратиться по индексу n, а не n-1, как во многих других языках программирования. Так как элементы вектора должны быть одного типа, то вектора называются атомарными (atomic). Выделяют следующие типы векторов: Logical Логические (TRUE/FALSE). Integer Целые (целые числа). Numeric/double (числа с плавающей точкой). Complex (комплексные числа). 149 Character (строки). Raw (байтовые последовательности). Для создания вектора можно использовать функцию c: x <- c(5, 8) Создание числовых последовательностей возможно с помощью оператора «:», который задает последовательность с шагом «1» с определенными границами: x <- c (5:8) Тип вектора можно определить при помощи функции typeof: tree<-c(“oak”, “birch”,” pine”) typeof (tree) Можно включить в вектор элементы разных типов, например: dou<- c (FALSE, 1.5) typeof (dou) Мы получим тип double, это значит, что элемент FALSE был автоматически приведен к 0. Если изменить вектор dou так, чтобы в нем преобладал тип данных строки, то меньшее количество элементов другого типа будет приведено к типу большинства, т. е. число 5 превратится в символ “5”. dou <- c(5, b, “abc”) В некоторых случаях элемент не приводится к новому типу, а просто не распознается. В этом случае на его месте появляется символ NA. 150 Можно задавать шаг последовательности: seq (1, 2, by = 0.25) seq (3, 4, length.out = 5) Для повторения существующих векторов используется фунция rep: rep (1:3, times = 3) rep (1:3, each = 4) rep (1:3, length.out = 5) Для обращения к определенным элементам вектора, необходимо указать индекс элемента. Например: x[1] x[3] x[c(1,3,4)] |