3.16. Измените алгоритм из предыдущего упражнения таким образом, чтобы можно было изобразить синусоиду в любом заданном диапазоне углов.

3.37. Напишите стандартную процедуру для разделения вогнутого многоугольника векторным способом.

3.38. Напишите стандартную процедуру для разделения вогнутого многоугольника с помощью метода поворотов.

3.39. Придумайте алгоритм для определения внутренних областей любого заданного набора вершин с помощью правила ненулевого количества витков и вычисления векторного произведения для определения направления пересечения со сторонами.

3.40. Придумайте алгоритм для определения внутренних областей любого заданного набора вершин с помощью правила ненулевого количества витков и вычисления скалярного произведения для определения направления пересечений со сторонами.

3.41. Для каких участков самопересекающейся ломаной линии, показанной на рис. 3.46, количество витков будет положительным? Для каких областей количество витков будет отрицательным? Для каких участков количество витков будет больше, чем 1?

3.42. Напишите стандартную процедуру для выполнения функции текстовой строки, которая имеет два параметра: один параметр определяет ее положение относительно внешней системы координат, а другой - описывает саму текстовую строку.

3.43. Напишите стандартную процедуру для выполнения функции полимаркера, которая имеет два параметра: один параметр - это символ, который будет изображаться, а другой - список внешних координат.

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

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

3.46. Напишите программу для изображения гистограммы в любом выбранном участке окна.

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

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


⇐ вернуться назад | | далее ⇒