13422

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

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

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

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

Русский

2013-05-11

47.5 KB

24 чел.

Лабораторная работа №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. Продемонстрировать рабочую программу на компьютере.  


 

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

14401. Изучить принцип работы форвакуумного насоса 187.5 KB
  Лабораторная работа № 9 Цель работы: Изучить принцип работы форвакуумного насоса определить скорость откачки зависимость давления от времени откачки определить объем системы. Приборы и материалы: Форвакуумный насос масляный манометр термопарный вакуумметр. ...
14402. Экономическое поведение (действие) 19.11 KB
  Экономическое поведение действие поведение людей добровольно или вынужденно руководствующихся рыночными целями законами и ограничениями. Таково широкое определение экономического поведения. Более узкая трактовка предполагает сознательное стремление к выгоде пр
14403. Современные отношения молодежи, в частности группы 40.5 KB
  Современные отношения молодежи в частности группы. Общество 21 века это информационное общество оно в корне отличается от традиционного общества и далеко ушло от индустриального. Так что же изменилось за многие столетия Что нового мы можем наблюдать в совре...
14404. Экономическое отношение современной молодежи 28 KB
  Экономическое отношение современной молодежи. Я решил рассмотреть отношение современной молодежи к определенному предмету сотовые телефона и смартфоны. Почему именно сотовые телефоны потому что они есть у всех по ним можно узнать информацию о хозяине.Для старшеклассни...
14405. Экономические отношения современной молодёжи в университете 30.5 KB
  Сочинение. Тема: Экономические отношения современной молодёжи в университете. ЧТО ЗА НАЧАЛО Современная молодёжь это особая социальнаявозрастная группа людей отличающаяся возрастными рамками и своим статусом в обществе: переход от детства и юности и социальной о
14406. Экономические отношения молодежи в университете 27 KB
  Сочинение на тему: Экономические отношения молодежи в университете. XXI век тяжелое время для России. Кризисы девальвация рубля низкая заработная плата упадок экономики непомерные счета которые выставляют ЖКК. Основные затраты каждой семь это продукты питания на ко...
14407. Экономические отношения современной молодежи 33.5 KB
  Экономические отношения современной молодежи. В моем сочинении речь пойдет об экономических отношения молодежи России. Для начала нужно дать определение экономическим отношениям. Экономические отношения объективно складывающиеся отношения между людьми по поводу...
14408. Экономические отношения нашей группы 30 KB
  Сочинение на тему: Экономические отношения нашей группы Каждый день мы вступаем в экономические отношения. Например в автобусе в магазине в университете даже когда мы сидим в интернете и так далее. В автобусе мы платим за проезд в магазине за товары в университете з...
14409. Экономическое отношение современной молодёжи 20.56 KB
  Экономическое отношение современной молодёжи В этом докладе речь пойдёт об экономических отношениях современной молодёжи. Для начала вспомним о первоначальном понимании экономики как об умении вести домашнее хозяйство и уже потом как о некоторой жизненно важной дл