logo
ВОПРОСЫ

Различия в восприятии размера

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

130. Цветовая гамма – один из основных компонентов дизайнерской проработки материала. Представление цвета с помощью палитры цветов, создание нового цвета.

Цветовая гамма - ряд гармонически взаимосвязанных цветовых оттенков художественного произведения. Различают теплые, горячие, холодные, яркие, блеклые, светлые и другие цветовые гаммы.

Цвет - свойство тела вызывать определенное зрительное ощущение в соответствии со спектральным составом отражаемого или испускаемого излучения.

Основные цвета - три цвета, при смешении которых в разных пропорциях можно получить все остальные цвета. Ни один основной цвет не может быть получен смешением остальных двух основных цветов. Число возможных наборов основных цветов бесконечно

RGB (Red-Green-Blue) - аддитивная цветовая модель получения (задания) характеристик изображения на экране монитора путем сложения трех составляющих его цветов - красного, зеленого и синего. В этой модели на каждый пиксел выделяется 24 бита памяти (по 8 на каждый из суммируемых компонентов), что дает возможность кодирования до 16,8 млн цветовых оттенков. Модель RGB используется во всех излучающих устройствах вывода информации: мониторах, видеопроекторах, газоплазменных панелях, телевизорах и т.п., поэтому для большинства других цветовых моделей разработаны двухсторонние конверторы для обеспечения преобразований цвета изображения "из" или "в" RGB. Следует отметить однако, что точного воспроизведения цвета при переходе от одной цветовой модели в другую получить трудно.

Система RGB адекватна цветовому восприятию человеческого глаза, рецепторы которого тоже настроены на красный, зеленый и синий цвета.

CMYK - субстрактивная цветовая модель построения графического пространства в отраженном свете основана на использовании трех базисных цветов: Cyan - голубого, Magenta - пурпурного, Yellow - желтого. Черный цвет (blacK) образуется наложением базисных цветов, взятых с максимальной плотностью. Однако чисто черного цвета при этом достичь не удается. Попарное наложение двух базисных цветов, взятых с максимальной плотностью, позволяет получить цвета, близкие к модели RGB. Наложение один на другой разных компонентов CMY, взятых с разной плотностью, позволяет получить до 16,8 млн цветов (256х256х256). Несмотря на близость используемых принципов, не все цвета, отображаемые моделью RGB, можно воспроизвести в CMY. Недостатком этой модели, так же, как и RGB, является ее аппаратная зависимость (от качества исходных красителей или рецепторов, бумаги, экранов и т.п.).

Система цветов CMYK была широко известна задолго до того, как компьютеры стали использоваться для создания графических изображений. Триада основных печатных цветов: голубой, пурпурный и желтый (CMY, без черного) является, по сути, наследником трех основных цветов живописи (синего, красного и желтого). Изменение оттенка первых двух связано с отличным от художественных химическим составом печатных красок, но принцип смешения тот же самый. И художественные, и печатные краски, несмотря на провозглашаемую самодостаточность, не могут дать очень многих оттенков. Поэтому художники используют дополнительные краски на основе чистых пигментов, а печатники добавляют, как минимум, черную краску.

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

131. Целостность, композиционное единство отдельного предмета. Закономерности построения ансамбля.

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

Открытая композиция - когда зрительно можно продолжить общий вид, если формат зрительно ограничен (рамкой, объектами), то такая композиция называется закрытой.

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

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

132. Центр композиции. Средства выявления центра композиции.

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

Один центр – главный элемент композиции; все другие элементы подчинены ему (цветом, формой и т.п.). Центров может быть несколько, но и среди них все равно будет главный элемент и второстепенные. Выявить центр композиции можно рамкой, формой, цветом и т.п.

134/133. Этот эскиз «недоопределен». Определите, какие размеры (размер) или какие взаимосвязи необходимо добавить для полного определения этого эскиза?

135. Язык С++. История создания, основные особенности и понятия

Язык возник в начале 1980-х годов, когда сотрудник фирмы «Bell Laboratories» Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка Си++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году — нынешняя версия этого стандарта — ISO/IEC 14882:2003.

Страуструп начал работать над «Си с классами» в 1979 году. Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Симула (Simula) имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно. В то же время язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в «Bell Labs» над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными. Вспоминая опыт своей диссертации, Страуструп решил дополнить язык Си (преемник BCPL) возможностями, имеющимися в языке Симула. Язык Си, будучи базовым языком системы UNIX, на которой работали компьютеры «Bell» является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию Си). В начале в Си были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.

Разрабатывая Си с классами (позднее Си++), Страуструп также написал программу Cfront, транслятор, перерабатывающий исходный код Си с классами в исходный код простого Си. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.

В 1983 г. произошло переименование языка из Си с классами в Си++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 г.. В 1985 г. вышло первое издание «Языка программирования Си++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 г. состоялся выход Си++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены. В 1990 г. вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.

Стандартная библиотека Си++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке Си++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций Си printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

После многих лет работы совместный комитет ANSI-ISO стандартизировал Си++ в 1998 г. (ISO/IEC 14882:1998 — Язык Программирования Си++). В течение нескольких лет после официального выхода стандарта комитет обрабатывал сообщения об ошибках и в итоге выпустил исправленную версию стандарта Си++ в 2003 году. В настоящее время рабочая группа МОС (ISO) работает над новой версией стандарта под кодовым названием C++09 (ранее известный как C++0X), который должен выйти в 2009 году.

Никто не обладает правами на язык Си++, он является свободным. Однако сам документ стандарта языка (за исключением черновиков) не доступен бесплатно.

История названия

Название «Си++» было придумано Риком Масситти (Rick Mascitti) и впервые было использовано в декабре 1983 года. Ранее, на этапе разработки, новый язык назывался «Си с классами». Имя, получившееся в итоге, происходит от оператора Си «++» (увеличение значения переменной на единицу) и распространённому способу присвоения новых имён компьютерным программам, заключающемся в добавлении к имени символа «+» для обозначения улучшений (например «Википедия+»). Согласно Страуструпу, «это название указывает на эволюционную природу изменений Си». Выражением «С+» назывался более ранний, не связанный с Си++, язык программирования.

Некоторые программисты на Си могут заметить, что если выполняются выражения x=3; y=x++; то в результате получится x=4 и y=3, потому что x увеличивается только после присвоения его y. Однако если второе выражение будет y=++x; то получится x=4 и y=4. Исходя из этого, можно сделать вывод, что логичнее было бы назвать язык не Си++, а ++Си. Однако оба выражения c++ и ++c увеличивают c, а кроме того выражение c++ более распространено.

Педанты также могут заметить, что введение языка Си++ не изменяет самого Си, поэтому самым точным именем было бы «С+1».

Перечислим некоторые особенности языка C.

В языке C реализован ряд операций низкого уровня. Некоторые из таких операций напрямую соответствуют машинным командам, например, поразрядные операции или операции ++ и --.

Базовые типы данных языка C отражают те же объекты, с которыми приходится иметь дело в программе на Ассемблере – байты, машинные слова и т.д. Несмотря на наличие в языке C развитых средств построения составных объектов (массивов и структур), в нем практически отсутствуют средства для работы с ними как с единым целым.

Язык C поддерживает механизм указателей на переменные и функции. Указатель – это переменная, предназначенная для хранения машинного адреса некоторой переменной или функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на Ассемблере. Использование указателей позволяет создавать высокоэффективные программы, однако требует от программиста особой осторожности.

Как никакой другой язык программирования высокого уровня, язык C «доверяет» программисту. Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Однако это также требует от программиста осторожности и самоконтроля.

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