Глава 3. Дополнительные инструменты для рисования

Френсис Хилл

Рис. 3.53. Круговая диаграмма Для того чтобы нарисовать круговую диаграмму, нужно знать относительные размеры кусков. Напишите и протестируйте подпрограмму, которая принимает данные от пользователя и рисует соответствующую круговую диаграмму. Пользователь вводит часть пирога, которую представляет каждый кусок, а также букву е (exploded) в том случае, если данный кусок выдвинут, и п (not) - в противном случае.

3.8. Применение параметрического задания кривой Существует два основных способа описания формы кривой линии: неявный и параметрический. Неявный способ описывает кривую функцией Р(х, у), в которой содержится зависимость между координатами хну. Точка (х, у) находится на кривой тогда и только тогда, когда она удовлетворяет уравнению а окружность радиуса Я с центром в начале координат выражается в неявном виде с помощью функции: Преимущество записи в неявной форме состоит в том, что можно легко проверить, лежит ли заданная точка на кривой: для этого достаточно вычислить F(x, у) в рассматриваемой точке. Для целого класса кривых имеет смысл понятие «внутренности» или «внешности» кривой; в этих случаях функция F(x,y) называется также «внутренне-внешней функцией» (inside-outside function), причем имеется в виду следующее:

F(x, у) - 0 для всех (х, у) на кривой,

F(.x> У) > О Для всех (*> У) вне кривой, (3.10) F(x, у)<0 для всех (х, у) внутри кривой.

(Является ли F(x, у) из равенства (3.9) полноценной «внутренне-внешняя функцией» для окружности?)

Некоторые функции являются однозначными (single valued) относительно х, тогда существует такая функция g(.), что все точки кривой удовлетворяют равенству у = g(x). Для таких кривых неявная форма может быть записана в виде F(x, у)" у- g(x). (Чему равна функция g(.) для линии из равенства (3.8)?) Другие кривые однозначны относительно у, поэтому для них существует такая функция «(.), что все точки кривой удовлетворяют равенству х" h(y). А некоторые кривые вообще не являются однозначными: равенство F(x, у) - 0 не может быть преобразовано ни в форму у = g(x), ни в форму х = h(y). Окружность, например, можно выразить равенством


⇐ Предыдущая| |Следующая ⇒