Решение графических задач

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

1.6.2. В файл занести некоторую последовательность из 8 натуральных чисел. Эта последовательность задает число дней в году, в которых преобладало соответственно северное, северно-восточное, восточное, юго-восточное, южное, юго-западное, западное, северно-западное направление ветра. Построить розу ветров.

1.6.3. Построить на экране переднюю панель дома и обеспечить возможность “зажигать” и “гасить ” свет в доме: включение и выключение света должно выполняться с клавиатуры, окна дома при зажженном и при погашенном свете окрашивается в разные цвета.

 

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

1.6.5. Построить график функции Y= –6 *X2 +3*X. График должен быть нарисован в осях координат и область определения функции может быть заданной разработчиком.

1.6.6. Построить график функции Y= cos(X-1)+|X|. Обеспечить просмотр графика на любом диапазоне входных значений и изменение масштаба изображения зависимости.

1.6.7. Изобразить на экране область определения и построить графики следующих функций:

Ø y=1/x;

Ø y= (x+3)/(x-2);

Ø y=(x+3)/(x-2);

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

 

1.6.8. (а,б). Выполнить изображение в соответствии с шаблоном, приведенном на рисунке.

1.6.9. Для вычерчивания окружности, заданной параметрическими уравнениями x=r*cos(t), y=r*sin(t), tє[,2p), воспользоваться параметрическими уравнениями

Ø x=xc+r*(1-t2)(1+t2)

Ø y=yc+r*(2*t)(1+t2),tє[,1).

Указанное изменение параметра соответствует дуге окружности от 0 до p2. Полная окружность может быть получена симметричным отображением каждой полученной точки относительно осей 0X и Y и начала координат в предположении, что начало координат совмещено с центром окружности. (рисунок). В файл занесены тройки значений xc, yc и r. Построить окружности с центром в точке (xc. , yc) и радиусом r.

1.6.10. Построить спираль вокруг начала кооординат с n витками и внешним радиусом r; начальное направление спирали образует с осью X угол a. Параметрическое представление спирали x= r*cos(t), y=r*sin(t), a£t£ 2np, r=t/2.

1.6.11. Построить изображения квадратов с внутренними делениями. Количество линий деления может быть любым и вводится по запросу с клавиатуры. Обеспечить раскраску всех соседних ячеек другим цветом. Варианты рисунков: а),б), в), г), д), е), ж), з), и).

 

1.6.12. Задается некоторый положительный радиус окружности. Построить фигуры, образованные восемью точками, лежащими на окружности и являющимися вершинами правильного многоугольика, вписанного в эту окружность и соединенными между собой разными линиями.

1.6.13. Даны координаты трех различных точек: x1, y1 , x2 , y2, x3, y3. Построить отрезок с координатами концов (x1, y1 ) и (x2 , y2). Через точку (x3, y3) провести отрезок параллельный и равный по длине первому отрезку, но таким образом, чтобы точка (x3, y3) делила искомый отрезок пополам. Количество задаваемых наборов точек - произвольное.

1.6.14. Задаются натуральные числа xc.,yc, h, w, x, y. Построить прямоугольник с центром в точке (xc. , yc), высотой h и шириной w. Провести прямую через точки xc.,yc и x, y и отметить точка пресечения прямой и стороны прямоугольника.

1.6.15.

 
 

Задаются натуральные числа xc.,yc, h, w, x, y. Построить прямоугольник с центром в точке (xc. , yc), высотой h и шириной w. Провести невидимую прямую через точки xc.,yc и x, y, отметив точку пересечения прямой и стороны прямоугольника. Кроме этого построить варианты прямых, пересекающихся с прямоугольником в соответствии с изображениями на рисунке.

1.6.16. Даны натуральные числа xc.,yc, r, x, y. Построить окружность с центром в точке (xc.,yc) и радиусом r , а также определить координаты точки пересечения прямой, проходящей через точку x, y и координаты центра окружности. Построить отрезок с координатами концов, отметив точку пересечения прямой и окружности.

1.6.17. Даны натуральные числа xc.,yc, r, x, y, h, w. Построить окружность с радиусом r и центром xc.,yc и прямоугольник с центром в точке x, y, высотой h и шириной w. Соединить отрезком центры окружности и прямоугольника. Изобразить прямую другим цветом. Варианты изображения самой прямой представлены на рисунке.

1.6.18. Даны координаты левого верхнего угла и правого нижнего угла двух прямоугольников. Проверить пересекаются ли прямоугольники. Если они пересекаются, то выделить цветом их общую часть. Проверку пересечения можно выполнить проверкой следующих соотношений длин прямоугольников: l=max(x1,x3),r=min(x2, x4), s=max(y2, y4), t=min(y1,y3). Прямоугольники будут пересекаться, если выполняются неравенства: l< r и s< t. Исходя из этих неравенств, координаты вершин прямоугольника пресечения находятся в точках (l,t)и(r,s).

1.6.19. Использовать для изображения прямой метод резиновой нити. Метод заключается в следующем: фиксируется один конец линии, указатель-курсор помещается на второй конец нити и за этот конец прямая вытягивается в любом направлении. Изменять скорость перемещения конца нити.

1.6.20. Используя метод резиновой нити построить:

Ø резиновый прямоугольник

Ø резиновый треугольник.

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

1.6.21. Нарисовать окружность на экране и обеспечить управление изменением ее размеров и положения с помощью клавиш: < - уменьшение размера окружности на заданное количество пикселей, > - увеличение размера окружности, а стрелки ­, ¯, , ® - обеспечивают перемещение окружности по экрану. Координаты центра окружности и ее радиус задаются. При достижении края экрана все преобразования окружности должны блокироваться.

1.6.22. Нарисовать произвольный прямоугольник. Обеспечить управление его перемещением по экрану с помощью стрелок ­, ¯, , ®. Клавиши < и > должны обеспечить соответственное изменение ширины прямоугольника , а клавиши + и - - увеличение и уменьшение высоты прямоугольника. При достижении любого края экрана все преобразования должны блокироваться.

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

1.6.24. Изобразить на экране точку, которая движется по окружности. управление скоростью движения точки обеспечивается клавишами < (скорость уменьшается) и >(скорость увеличивается). Цвет движущейся точки должен отличаться от цвета окружности.

1.6.25. Изобразить на экране отрезок прямой, который вращается в плоскости экрана следующим образом:

Ø вокруг своей середины;

Ø вокруг любого из концов;

Ø вокруг точки, делящей прямую в отношении 1:n.

Число n задается в диалоге при определении режима вращения.

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

1.6.27. Получить изображение “Круги на воде”. Использовать семь концентрических окружностей. Радиус каждой из окружностей отличается от ближайшей окружности на 7 пикселей. Движение создается последовательной сменой цветов всех окружностей, начиная с внутренней окружности и заканчивая внешней. Процесс смены цветов повторяется любое число раз.