Закрашивание прямоугольников 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Закрашивание прямоугольников



 

Формат оператора:

 

нс LINE (a, b) - (а1, b1), <нц>, BF,

 

где BF- означает вычерчивание прямоугольника закрашиванием цветом <нц>.

 

 

Оператор LOCATE

 

Этот оператор предназначен для установки маркера в любую точку экрана. Формат оператора:

 

нс LOCATE (b, a),

 

где b – номер строки, а – номер столбца, которые указываются только числовым способом.

Относительные координаты

 

Во всех приведенных до сих пор примерах точка всегда задавалась соответствующими ей номерами столбца и строки. Такой способ задания точки называется абсолютной координатной идентификацией. Альтернативой такому способу является так называемая координатная идентификация, при которой координаты задаются относительно последней выведенной на экран точки. Если в операторах PSET или LINE собственно координатам точки предшествует слово STEP, то эти координаты интерпретируются как смещение относительно координат последней выведенной на экран точки, например:

 

PSET STEP (20,20).

 

В операторах графического вывода точку можно идентифицировать любым способом – как с помощью абсолютных, так и с помощью относительных координат, например:

 

LINE (55, 33) - STEP(10, 25).

Оператор CIRCLE

 

Оператор CIRCLE служит для построения окружностей. Формат оператора:

 

нс CIRCLE (a, b), <R>, <нц>, 0, <g>,

 

где CIRCLE – ключевое слово “окружность”; a, b – координаты центра окружности; R – радиус; 0,<g> - размер окружности (дуги) в радианах. Если размер 0,<g> не указан, то по умолчанию вычерчивается полная окружность. Для окружности размер: 0, 6.2831.

 

Пример: нс CIRCLE (100, 100), 40, 4,0, 0.62831

 

 

Построение дуг окружностей

 

В этом случае в операторе CIRCLE применяется размер 0, <g>. Следует отметить, что при заданном размере 0, <g> дуга вычерчивается против часовой стрелки, а при заданном размере в виде <g>, 0 – вычерчивание осуществляется по часовой стрелке.

 

Пример: нс CIRCLE (100, 100), 40, 2, 0,0.3146

 

В этом случае против часовой стрелки вычерчивается полуокружность.

 

Построение радиусов

 

Это является удобным для построения секторов. Если концевая точка дуги задается в операторе CIRCLE отрицательным значением, то при выполнении такого оператора будет проведен радиус в эту концевую точку. Знак минус никакого влияния на дугу не оказывает.

Если обе концевые точки заданы отрицательными значениями, то проводятся оба радиуса, образуя сектор.

Следует учитывать, что -0 в компьютере не интерпретируется. Поэтому вместо -0 используется -10-3.

 

 

Построение эллипсов

 

Для построения эллипса используется тот же оператор CIRCLE, но при этом надо знать характеристическое отношение (отношение высоты эллипса к его ширине). Формат оператора:

 

нс CIRCLE (a, b), <R>, <нц>, 0, <g>, <L>,

 

где L – характеристическое отношение: если L < 1, то эллипс вытянут по горизонтали; если L > 1 – то по вертикали.

 

 

Оператор PAINT

 

Оператор графического вывода PAINT позволяет заполнять цветом заданную область экрана и имеет следующий вид:

 

PAINT (a, b), <нц1>, <нц2>,

 

где <нц1> - цвет-заполнитель; <нц2> - цвет- ограничитель.

При выполнении данного оператора экран начнет закрашиваться цветом с номером нц1, начиная с точки (a, b), равномерно по всем направлениям; по каждому направлению это будет продолжаться до тех пор, пока не встретится точка, окрашенная в цвет с номером нц2. Это значит, что предварительно на экране должна быть проведена замкнутая кривая цвета нц2, охватывающая точку (a, b). Для вычерчивания границы можно использовать любое сочетание точек, отрезков, прямоугольников, окружностей и т.д. Если линия, ограничивающая цвета, в некоторых местах прерывается, то заполняющий цвет выходит за пределы области и окрашивает всю оставшуюся часть экрана.

 

 

Оператор DRAW

 

Оператор DRAW располагает довольно мощными графическими возможностями. Его тело содержит символьную (строковую) константу, представляющую собой последовательность графических команд. Формат оператора:

 

DRAW “<символьная константа>”,

 

где DRAW – ключевое слово “чертить”.

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

 

Команды оператора DRAW

 

В Таблице 10.3 приведены форматы графических команд.

 

Таблица 10.3. Список графических команд

Формат графических команд Действие
Rn Ln Un Dn En Fn Gn Hn M a,b Вычерчивание “n” пикселей вправо Вычерчивание “n” пикселей влево Вычерчивание “n” пикселей вверх Вычерчивание “n” пикселей вниз Вычерчивание “n” пикселей вверх - вправо Вычерчивание “n” пикселей вниз - вправо Вычерчивание “n” пикселей вниз - влево Вычерчивание “n” пикселей вверх - влево Перемещение в заданную точку

Управляющие подкоманды

B     Cn   N     An   Tn     При последующем перемещении не проводить линию (к команде M-BM)   Выбор цвета   После перемещения возвратиться в заданную точку   Установка фиксированного угла поворота (n=1,2,3) последующих геометрических элементов. Угол в градусах равен n*90.   Установка произвольного угла поворота последующих геометрических построений в градусах

 

Пример:

1. нс DRAW “BM 50,50 U40 R40 D40 L40”

Здесь производится установка в точку с координатами (50,50), и далее вычерчивается квадрат со сторонами 40 пикселей.

 

2.Вычертить из точки 50,50 ось:

нс “BM 50,50 NE3 NR3 R60”

 

 

Построение графиков

 

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

При размещении результатов вычислений очень удобно пользоваться оператором PRINT совместно с функцией TAB. Конечно, можно использовать и оператор LOCATE. Функция TAB и оператор LOCATE рассмотрены в предыдущих разделах.

Что касается построения графиков функций, то можно использовать графические операторы PSET и LINE. Однако при построении графиков необходимо всегда решать вопрос, связанный с масштабированием графиков. Во-первых, при построении графиков на компьютере пользователь всегда имеет дело с дискретными функциями: yn = f(ndx) или yn = f(nTk), где dx – шаг изменения аргумента; Tk – период квантования, который является тоже шагом по аргументу, которым является время t = nTk.

Необходимо всегда оценивать минимальное и максимальное значение функции: y0(min) при n=0 и yn(max) при nmax.

Кроме того, необходимо выбрать начальную точку (a, b) для построения графика, определить границы окончания графика справа и сверху, а потом рассчитать масштаб по аргументу и по функции. Для пояснения на рисунке 10.3 показан произвольный график:

 

Рисунок 10.3. К выбору масштаба

 

Если исходить из разрешающей способности 640х480 пикселей (12 режим экрана монитора), то:

- количество пикселей по оси Х: 640 – а – а1;

- количество пикселей по оси У: b – b1,

где а1 и в1 – отступы соответственно с правой и верхней сторон экрана, как показано на рисунке 10.3.

Тогда масштабы по осям Х(Мх) и Y(Му) равны:

.

 

С учетом Мх и Му координаты точек для оператора PSET будут следующими:

 

.

 

В этих формулах учитывается, что по оси абсцисс количество пикселей возрастает при увеличении n, а количество пикселей по оси y убывает.

Для проверки правильности выбора а2 и в 2 надо подставить в эти формулы значения nmax и ymax вместо n и y. При этом a2 = 640 – a1, а b2 = b1, то есть, последние значения будут соответствовать значениям отступов. Таким образом, при построении графика следует использовать PSET с координатами (a2,b2):

 

.

 

Для возможности перемещения графика по экрану рекомендуется расчет масштабирования вводить в программу.

 

 

Задание 1.

1. Составить программу табулирования функции, приведенной в табл. 10.4.

2. Построить график указанной функции, используя результаты работы программы задания 1.

 

Таблица 10.4. Список заданий

Вариант Функция a Аргумент (в градусах) Шаг аргумента (в градусах)
1 5,45 14
2 2,10 15
3 3,63 20
4 8,45 10
5 4,80 15
6 1,57 10
7 1,5 5
8 2,51 4
9 7,45 10
10 2,37 10

 

 

Задание 2. Вычертить фигуру согласно таблице 10.5.

 

Таблица 10.5. Список заданий

1 2
3 4
5 6
7 8
9 10

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 130; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.152.162 (0.021 с.)