Задание4_График_функции (Лабораторная работа №4)

2018-01-10СтудИзба

Описание файла

Файл "Задание4_График_функции" внутри архива находится в папке "Лабораторная работа №4". Документ из архива "Лабораторная работа №4", который расположен в категории "". Всё это находится в предмете "вычислительный практикум" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "вычислительный практикум" в общих файлах.

Онлайн просмотр документа "Задание4_График_функции"

Текст из документа "Задание4_График_функции"

Задание 4

График функции

Содержание работы:

- знакомство с графическими возможностями Delphi;

- разработка программы вывода графика функции.

Графические возможности Delphi

Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.

Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство Canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству Canvas этого объекта соответствующий метод. Например, инструкция

Form1.Canvas.Rectangle(10,10,100,100) вычерчивает в окне программы прямоугольник.

Холст

Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство Canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.

Методы вывода графических примитивов рассматривают свойство Canvas как некоторый абстрактный холст, на котором они могут рисовать (Canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек — пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева на­право (рис. 1). Значения координат правой нижней точки холста зависят от размера холста.

Рис.1. Координаты точек холста

Размер холста можно получить, обратившись к свойствам Height и Width

области иллюстрации (Image) или к свойствам формы: ClientHeight и ClientWidth.

Карандаш и кисть

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

Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа TPen и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов.

Карандаш

Карандаш используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет карандаш на поверхности холста, определяют свойства объекта TPen, которые перечислены в табл. 1.

Таблица.1. Свойства объекта TPen (карандаш)
Свойство Определяет

C olor Цвет линии

Width Толщину линии

Style Вид линии

Mode Режим отображения

Свойство Color задает цвет линии, вычерчиваемой карандашом. В табл. 2 перечислены именованные константы (тип TColor), которые можно использовать в качестве значения свойства Color.

Таблиц 2. Значение свойства Color определяет цвет линии

Константа Цвет Константа Цвет

c lBlack Черный clSilver Серебристый

clMaroon Каштановый clRed Красный

clGreen Зеленый clLime Салатный

clOiive Оливковый clBlue Синий

clNavy Темно-синий clFuchsia Ярко-розовый

clPurple Розовый clAqua Бирюзовый

clTeal Зелено-голубой clWhite Белый

clGray Серый

С войство width задает толщину линии (в пикселах). Например, инструкция

Canvas .Pen.width: =2 устанавливает толщину линии в 2 пиксела.

Свойство style определяет вид (стиль) линии, которая может быть непрерывной или прерывистой, состоящей из штрихов различной длины.

В табл. 3 перечислены именованные константы, позволяющие задать стиль линии. Толщина пунктирной линии не может быть больше 1. Если значение свойства Pen.Width больше единицы, то пунктирная линия будет выведена как сплошная.

Таблица 10.3. Значение свойства Реп.Туре определяет вид линии
Константа Вид линии

p sSolid Сплошная линия

psDash Пунктирная линия, длинные штрихи

pcDot Пунктирная линия, короткие штрихи

psDashDot Пунктирная линия, чередование длинного и короткого штрихов

psDashDotDot Пунктирная линия, чередование одного длинного и двух коротких штрихов

psClear Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)

Свойство Mode определяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, через которые эта линия прочерчивается. По умолчанию вся линия вычерчивается цветом, определяемым значением свойства Pen.Color.

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

В табл. 4 перечислены некоторые константы, которые можно использовать в качестве значения свойства Pen.Mode.

Таблица 4. Значение свойства Pen.Mode влияет на цвет линии

Константа Цвет линии

p mBlack Черный, не зависит от значения свойства Реп. Color

pmWhite Белый, не зависит от значения свойства Реп. Color

pmCopy Цвет линии определяется значением свойства Pen. Color

pmNotCopy Цвет линии является инверсным по отношению к значению свой­ства Pen.Color

pmNot Цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии

Кисть

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

Таблица 5. Свойства объекта TBrush (кисть)
Свойство Определяет

C olor Цвет закрашивания замкнутой области

Style Стиль (тип) заполнения области

О бласть внутри контура может быть закрашена или заштрихована. В первом случае область полностью перекрывает фон, а во втором — сквозь незаштрихованные участки области будет виден фон.

В качестве значения свойства Сolor можно использовать любую из констант типа TColor (см. список констант для свойства Pen.color в табл. 2).

Константы, позволяющие задать стиль заполнения области, приведены в табл. 6.

Таблица.6. Значения свойства Brush.style определяют тип закрашивания

Константа Тип заполнения (заливки) области

b sSolid Сплошная заливка

bscClear Область не закрашивается

hsHorizontal Горизонтальная штриховка

bsVertical Вертикальная штриховка

bsFDiagonal Диагональная штриховка с наклоном линий вперед

bsBDiagonal Диагональная штриховка с наклоном линий назад

bsCross Горизонтально-вертикальная штриховка, в клетку

bsDiagCross Диагональная штриховка, в клетку

Вывод текста

Для вывода текста на поверхность графического объекта используется метод TextOut. Инструкция вызова метода Textout в общем виде выглядит сле­дующим образом:

Oбъект.Canvas.TextOut (x,у, Текст) где:

объект — имя объекта, на поверхность которого выводится текст;

х, у — координаты точки графической поверхности, от которой выполняется вывод текста (рис. 3);

текст — переменная или константа символьного типа, значение которой определяет выводимый методом текст.

Рис. 3. Координаты области вывода текста

Шрифт, который используется для вывода текста, определяется значением свойства Font соответствующего объекта Canvas. Свойство Font представляет собой объект типа TFont. В табл. 7 перечислены свойства объекта TFont, позволяющие задать характеристики шрифта, используемого методами TextOut и TextRect для вывода текста.

Таблица 7. Свойства объекта TFont

Свойство Определяет

N ame Используемый шрифт. В качестве значения следует использовать название шрифта, например Arial

Size Размер шрифта в пунктах (points). Пункт— это единица измерения размера шрифта, используемая в полиграфии. Один пункт равен 1/72 дюйма

Style Стиль начертания символов. Может быть: нормальным, полужирным, курсивным, подчеркнутым, перечеркнутым. Стиль задается при помощи следующих констант: fsBold (полужирный), fsItalic (курсив), fsUnderline (подчеркнутый), fsStrikeOut (перечеркнутый).Свойство style является множеством, что позволяет комбинировать необходимые стили. Например, инструкция программы, устанавливающая стиль "полужирный курсив", выглядит так: Объект.Canvas.Font:=[fsBold, fsItalic]

Color Цвет символов. В качестве значения можно использовать константу типа Tcolor

Область вывода текста закрашивается текущим цветом кисти. Поэтому перед выводом текста свойству Brush.Color нужно присвоить значение bsClear или задать цвет кисти, совпадающий с цветом поверхности, на которую выводится текст.

Следующий фрагмент программы демонстрирует использование функции TextOut для вывода текста на поверхность формы:

with Forml.Canvas do

begin

// установить характеристики шрифта

Font.Name := 'Tahoma';

Font.Size := 20;

Font.Style := [fsItalic, fsBold];

Brush.Style := bsClear; // область вывода текста не закрашивается

TextOut(10, 10, 'Borland Delphi 7');

end;

После вывода текста методом TextOut указатель вывода (карандаш) пере­мещается в правый верхний угол области вывода текста.

Иногда требуется вывести какой-либо текст после сообщения, длина кото­рого во время разработки программы неизвестна. Например, это может быть слово "руб." после значения числа, записанного прописью. В этом случае необходимо знать координаты правой границы уже выведенного текста. Координаты правой границы текста, выведенного методом Textout, можно получить, обратившись к свойству PenPos.

Следующий фрагмент программы демонстрирует возможность вывода строки текста при помощи двух инструкций Textout.

with Forml.Canvas do

begin

TextOut(10, 10, 'Borland ');

TextOut(PenPos.X, PenPos.Y, 'Delphi 7');

end;

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5184
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее