13422

Визуализация линейных изображений

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа №2 Тема Визуализация линейных изображений. Задание Начертить узор образованный 50 вложенными квадратами. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторон...

Русский

2013-05-11

47.5 KB

11 чел.

Лабораторная работа №2

  1.  Тема

Визуализация линейных изображений.

  1.  Задание

Начертить узор, образованный 50 вложенными  квадратами. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении  Р = 0,08.

  1.  Теоретические сведения

Прямая линия, проходящая через две точки с координатами (x1 ,y1)  и (x2,y2), может быть описана параметрическими уравнениями:

x = x1 + ( x2 –x1) P,

y = y1 + ( y2 y1) P.

 При   0 < P < 1 точка   (x, y) лежит внутри отрезка и делит его в отношении

 P / (1-P).

Алгоритм решения задачи:

Шаг 0. Начало.

Шаг 1. Задать координаты исходного квадрата.

Шаг 2.  Повторить 50 (в условии 50 вложенных квадратов) раз такие действия:

        Шаг 2.1. Нарисовать очередной квадрат.

        Шаг 2.2. По формулам x = x1 + ( x2 –x1) P,

     y = y1 + ( y2 – y1) P  определить координаты следующего вложенного квадрата.

C# Циклы

Оператор if может иметь конструкцию:

long x = 10;

if (x is byte) {Console.WriteLine("x имеет тип byte"); }

else if (x is short) {Console.WriteLine("x имеет тип short");  }

else if (x is long) {Console.WriteLine("x имеет тип long"); }

else {Console.WriteLine("x имеет не определённый тип или object"); }

Цикл же позволяет многократно повторять одну и ту же последовательность команд (тело цикла) и прирывать действие цикла при выполнении некоторого условия.

Например, в случае если необходимо проводить итерации по элементам массива то часто используют цикл for (о нём ниже).

Пример цикла for:

for (int i = 0; i < 10; i++)   

{

Console.Write("Введите слово: ");

string s = Console.ReadLine();

if (s == "end")  { break; }

Console.WriteLine("Вы ввели: " + s); 

}

Цикл while выполняет оператор или блок операторов, пока определенное выражение не примет значение false.

n = 0;

while (n < 6)

{

Console.WriteLine("Значение n = {0}", n);

n++;

}

Цикл do .. while выполнит блок операторов как минимум один раз, а затем повторит выполнение цикла до тех пор, пока условное выражение не возвратит значение false.

n = 12;

do {

Console.WriteLine("Значение n = {0}", n);

n++;

} while (n < 6);

В данном примере тело цикла выполнится - но только один раз.

Цикл foreach позволяет производить итерацию по каждому объекту в контейнерном классе, поддерживающем интерфейс IEnumerable. К контейнерным классам относятся массивы, классы коллекций (System.Collection) и определенные пользователем классы коллекций. 

Пример цикла foreach:

int[]  Ints = { 1, 2, 3 };

foreach (int temp in Ints)

{

Console.WriteLine(temp);  

}

Объекты в цикле foreach доступны только для чтения! Значение объекта в коллекции изменять нельзя! (следующий код вызовет ошибку):

temp++; // объекты в цикле foreach только для чтения!

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

goto myLabel;

Console.WriteLine("Эта строка не будет выполнена");

myLabel:

Console.WriteLine("Выполнение будет продолжено от сюда");

Нельзя передать управление в блок кода, например в цикл for, нельзя передать управление за пределы класса и нельзя выйти из блока finaly.

Оператор break можно использовать для выхода из цикла for, foreach, while, do..while.

Оператор continue прерывает только текущую итерацию, т.е. выполнение будет продолжено со следующей итерации цикла, а не выйдет из цикла.

Рисование линии

Graphics.DrawLine - метод (Pen, Int32, Int32, Int32, Int32)

Проводит линию, соединяющую две точки, задаваемые парами координат.

C#

public void DrawLine(

Pen pen,

 int x1,

 int y1,

 int x2,

 int y2

)

Данный метод проводит линию на экране, соединяющую две точки, которые определяются параметрами x1, y1, x2 и y2.

4. Порядок выполнения лабораторной работы:

        1.Закодировать предложенный алгоритм.

        2. Написать программу.               

        3. Результаты работы программы показать на экране монитора.

        4. Оформить отчет, включающий: титульный лист, задание, код программы с комментариями, результаты та выводы по работе.

        5. Продемонстрировать рабочую программу на компьютере.  


 

А также другие работы, которые могут Вас заинтересовать

14290. Строение урока по изучению музыкальной формы 14.91 KB
  Строение урока по изучению музыкальной формы Продолжительность форма организации урока академических часа в неделю подряд пара 1 час 20 минут. Название темы и краткая историческая характеристика. Рассказ о времени возникновения времени ис
14291. ТЕАТР КАК ВИД ИСКУССТВА 187.7 KB
  Реферат по эстетике ТЕАТР КАК ВИД ИСКУССТВА Сущность театра. Театральное искусство Сценический образ Актер в театре Опера –часть театрального искусства Балет. Театр в XX веке. Детский театр..
14292. Фотоаппараты. Музыкальные инструменты 158 KB
  Тема 6 Фотоаппараты. Музыкальные инструменты Лекция 10 1 вопрос Особенности сервисного обслуживания фототоваров Сервисное обслуживание фототоваров имеет существенные отличия связанные со спецификой данной товарной группы и включает разнообразные услуги от серви
14293. Музична культура 217 KB
  Тема 12 Музична культура. 10 клас. 2930 Національна хорова і музичнопісенна культура представлена професійними колективами Думка1930 Трембіта 1951 український народний хор під керівництвом Г. Верьовки. 1989 – початок конкурсу хорів ім.. М. Леонтовича. 1923-1928 – респуб
14294. Морально-дидактическое понимание музыки в Средневековье 52 KB
  Моральнодидактическое понимание музыки в Средневековье Период Средневековья в Западной Европе начинается с распада Римской империи. Он охватывает период 515 века. В это время пишется множество философских и музыкальных трактатов посвященных проблемам музыкальноэ
14295. МУЗЫКАЛЬНОЕ ОБРАЗОВАНИЕ В ЭПОХУ ВОЗРОЖДЕНИЯ 49.5 KB
  МУЗЫКАЛЬНОЕ ОБРАЗОВАНИЕ В ЭПОХУ ВОЗРОЖДЕНИЯ Эпоха Возрождения Ренессанса – фр. отразила социальные изменения при переходе от феодального к буржуазному обществу. Эпоха эта не имеет точных исторических границ но ее характерные черты проявились уже в 14 в. в Италии и Фр...
14296. МУЗЫКАЛЬНОЕ ВОСПИТАНИЕ В ЗАПАДНОЙ ЕВРОПЕ В 17-18 ВЕКАХ 51.5 KB
  МУЗЫКАЛЬНОЕ ВОСПИТАНИЕ В ЗАПАДНОЙ ЕВРОПЕ В 1718 ВЕКАХ Период 1718 вв. в истории европейской цивилизации во многих областях становится рубежным и определяющим. Интенсивно развивается наука: великие открытия совершают Г.Галилей И.Ньютон Р.Декарт Ф.Бэкон Б.Спиноза Как н...
14297. Музыкальная драматургия в увертюре «Эгмонт», фрагменте сонаты № 14, Л.В. Бетховена 85.5 KB
  Урок музыки в 7 классе тема урока: Тема урока: Музыкальная драматургия в увертюре Эгмонт фрагменте сонаты № 14 Л.В. Бетховена. Цель урока: формирование понятия музыкальная драматургия через исполнение ...
14298. Русские народные музыкальные инструменты 35.5 KB
  Русские народные музыкальные инструменты Цель: Познакомит с русскими народными инструментами Задачи: учить определять и различать русские народные инструменты; развивать тембровый и ритмический слух учащихся; воспитывать интерес и любовь к русскому фоль...