Иллюстрированный самоучитель по Basic, вводный курс

Графические примитивы

Эллипс

Очередной примитив – эллипс.

Эллипс – это, по сути, окружность, которой слегка дали по "голове" или по "бокам", в результате чего она стала вытянутой по вертикали или горизонтали. И вместо одного радиуса, как у окружности, у эллипса стало два – по осям X и Y.

Частное от деления Ry на Rx дает нам так называемый коэффициент сжатия:

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Графические примитивы

Таким образом, для вытянутых по горизонтали эллипсов (рис. 1.11) коэффициент сжатия будет в пределах от 0 до 1.

А для эллипсов, вытянутых по вертикали (рис. 1.12), коэффициент сжатия будет больше 1.

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Графические примитивы
Рис. 1.11. Эллипс, вытянутый по горизонтали

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Графические примитивы
Рис. 1.12. Эллипс, вытянутый по вертикали

Очевидно, что если коэффициент сжатия равен 1, то это будет уже никакой не эллипс, а просто окружность.

Оператор рисования эллипса записывается почти так же, как и для окружности:

CIRCLE (X, Y), R, С,,, К

Где х, y – координаты центра эллипса, r – радиус той окружности, из которой этот эллипс получился, с – цвет, к – значение коэффициента сжатия.

Например, после выполнения оператора:

CIRCLE (320, 175), 50, 2,,,.5

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

Если же добавить еще один оператор:

CIRCLE (320, 175), 50, 2,,,2

То сверху дорисуется дополнительный один эллипс, который будет сжат уже по горизонтали, и у него уже Ry будет в два раза больше, чем Rx. Вместе они должны составить следующую картинку (рис. 1.13)

Иллюстрированный самоучитель по Basic, вводный курс › Алгоритмы, графика, символы и строки › Графические примитивы
Рис. 1.13. Два пересекающихся эллипса

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.