Тематическое задание 2.4. Создание и применение файлов для ломаных линий Уровень сложности II.

Сложные изображения, подобные рис. 2.11, составлены из большого количества ломаных линий. Данные для таких ломаных обычно записывают в файл, так что изображение может быть воссоздано позднее посредством чтения этих ломаных в программу и повторного вычерчивания каждой из них. В разделе «Рисование ломаных линий и полигонов» был описан походящий формат для такого файла и подпрограмма drawPolyL1neF1le(), осуществляющая рисование.

Файл dino.dat, хранящий в себе динозавра с рис. 2.11, можно найти под именем dino.dat на web-сайте этой книги (см. предисловие). Там же доступны и другие файлы с ломаными линиями.

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

О Расширьте возможности программы из предыдущего пункта, чтобы она воспринимала некоторые другие форматы. Например, заставьте вашу программу работать с х- и ^-координатами, заданными в приращениях (differentially coded). В этом формате первая точка (хх, yt) каждой ломаной кодируется как и прежде, однако все последующие точки (х, у) кодируются после вычитания из них предыдущей. Таким образом, в файле содержится (х - х,, yi - уы). В ряде случаев в разностях содержится меньше значащих цифр, чем в исходных координатах точек, что позволяет получить более компактные файлы. Поэкспериментируйте с этим форматом и создайте несколько файлов данных, использующих его.

О Измените вышеописанный формат так, чтобы с каждой ломаной был связан некоторый «код цвета». Этот код цвета должен появляться в файле на той же строке, что и число точек соответствующей ломаной. Поэкспериментируйте с этим форматом и создайте несколько файлов данных, использующих его.

О Измените подпрограмму рисования ломаных так, чтобы она рисовала замкнутый полигон в случае, если числу точек ломаной предшествует знак минус. Так, в файле

d9ba7291.


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