Задания к лабораторной работе №1

Перед выдачей заданий, студентов необходимо поделить на пары. Если количество студентов нечетное, то оставшемуся без пары студенту предлагается выполнять вариант №1.

Все задания к лабораторной работе №1 необходимо выполнять, используя псевдопиксель, в виде закрашенного сплошным цветом квадрата размером n х n пикселей. Для выполнения заданий необходимо в первую очередь реализовать соответствующие алгоритмы генерации отрезков на используемом языке программирования. Затем, используя эти алгоритмы, выполнить соответствующий вариант задания.

При выполнении вариантов заданий ЗАПРЕЩАЕТСЯ пользоваться встроенными функциями рисования отрезков!

Вариант №1.

Нарисовать наибольший равносторонний треугольник, который поместится в области вывода. Одна из сторон треугольника должна идти вдоль нижней границы области вывода рис. 1.4. Боковые стороны необходимо нарисовать красными линиями, используя алгоритм Брезенхема. Основание нарисовать зеленой линией алгоритмом несимметричного ЦДА. Размер псевдопикселя для всех отрезков составляет 20х20 пикселей.


Рис. 1.4. Наибольший равносторонний треугольник.

Добейтесь, чтобы размеры треугольника изменялись при изменении размеров области вывода (окна).

Вариант №2.

Нарисовать наибольший правильный шестиугольник, который поместится в области вывода и построить все его диагонали рис. 1.5. Стороны шестиугольника необходимо нарисовать оранжевым цветом, используя алгоритм несимметричный ЦДА и псевдопиксель размером 20х20 пикселей. Диагонали изобразить тремя различными цветами (красным зеленым и синим) алгоритмом Брезенхема псевдопикселями размером 10х10 пикселей.


Рис. 1.5. Наибольший шестиугольник.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №3.

Нарисовать наибольший прямоугольник с соотношением сторон 2/3, который поместится в области вывода и построить все его диагонали рис. 1.6. Прямоугольник расположить по центру экрана. Короткие стороны необходимо расположить параллельно горизонтальной стороне экрана. Прямоугольник необходимо нарисовать красным цветом, используя алгоритм несимметричный ЦДА и псевдопиксель размером 20х20 пикселей. Диагонали изобразить двумя различными цветами (зеленым и синим) алгоритмом Брезенхема псевдопикселями размером 10х10 пикселей.


Рис. 1.6. Наибольший прямоугольник с соотношением сторон 2/3.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №4.

Нарисовать наибольшую пятиконечную звезду, которая поместится в области вывода и пятиугольник внутри нее рис. 1.7. Звезду необходимо нарисовать красным цветом, используя алгоритм Брезенхема и псевдопиксель размером 20х20 пикселей. Пятиугольник нарисовать синим цветом алгоритмом несимметричный ЦДА псевдопикселями размером 10х10 пикселей.

Рис. 1.7. Наибольшая пятиконечная звезда и пятиугольник.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №5.

Нарисовать наибольшую шестилучевую звезду, которая поместится в области вывода рис. 1.8. Стороны верхнего треугольника необходимо нарисовать зеленым цветом, используя алгоритм несимметричный ЦДА и псевдопиксель размером 10х10 пикселей. Стороны нижнего треугольника необходимо нарисовать красным цветом, используя алгоритм Брезенхема и псевдопиксель размером 20х20 пикселей.


Рис. 1.8. Наибольшая шестилучевая звезда.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №6.

Нарисовать зеленым цветом наибольшее изображение октаэдра, которое поместится в области вывода рис. 1.9. Стороны октаэдра наиболее близкие к наблюдателю (жирные линии) нарисовать, используя алгоритм несимметричный ЦДА и псевдопиксель размером 20х20 пикселей. Стороны дальние необходимо нарисовать, используя алгоритм Брезенхема и псевдопиксель размером 10х10 пикселей.


Рис. 1.9. Наибольший октаэдр.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №7.

Нарисовать красным цветом наибольшее изображение куба, которое поместится в области вывода рис. 1.10. Ребра куба наиболее близкие к наблюдателю (жирные линии) нарисовать, используя алгоритм Брезенхема и псевдопиксель размером 20х20 пикселей. Стороны дальние необходимо нарисовать, используя алгоритм несимметричный ЦДА и псевдопиксель размером 10х10 пикселей.

Рис. 1.10. Наибольший куб.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №8.

На базе алгоритма несимметричный ЦДА разработать алгоритм рисования пунктирной линии. Пунктирная линия состоит из отрезков, разделенных промежутками. Длина отрезка не может быть больше
10 псевдопикселей. Длина промежутка составляет половину длины отрезка. Линия начинается и заканчивается отрезком. Все отрезки и промежутки должны иметь примерно одинаковую длину. Используя алгоритм Брезенхема и псевдопиксель 20х20, нарисовать зеленым цветом наибольший прямоугольник, который поместится в области вывода. Диагонали прямоугольника провести пунктирной линией красного цвета, используя псевдопиксель 5х5 рис. 1.11.

Рис. 1.11. Наибольший прямоугольник с диагоналями.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Вариант №9.

Нарисовать красным цветом наибольшее изображение икосаэдра, которое поместится в области вывода рис. 1.12. Ребра икосаэдра, наиболее близкие к наблюдателю, (жирные линии) нарисовать, используя алгоритм несимметричный ЦДА и псевдопиксель размером 20х20 пикселей. Ребра дальние необходимо нарисовать, используя алгоритм Брезенхема и псевдопиксель размером 10х10 пикселей.

Добейтесь, чтобы размеры рисунка изменялись при изменении размеров области вывода (окна).

Рис. 1.12. Наибольший икосаэдр.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: