Контрольна робота 
   В«Алгоритми креслення графічних примітивівВ»  
    Мета роботи:  Розробити алгоритми і написати програму, яка буде зображувати на поверхні форми графічні примітиви: лінії, кола, еліпси. 
   Виконання завдання:  
  Оскільки екран растрового дисплея з електронно-променевою трубкою або РК - екраном можна розглядати як матрицю дискретних елементів (пікселів), кожен з яких може бути підсвічений, не можна безпосередньо провести відрізок з однієї точки в іншу. Процес визначення пікселів, найкращим чином апроксимуючих заданий відрізок, називається розкладом в растр. p align="justify"> Розглянемо: 
 . Алгоритм розкладання в растр прямій лінії. br/>В  
 Рис. 1. Растеризация відрізка прямої лінії 
  графічний примітив алгоритм лінія коло 
   Растр  називається прямокутна сітка точок, які формують зображення на екрані комп'ютера. Кожна точка растра характеризується двома параметрами: своїм становищем на екрані і своїм кольором. Растрові зображення складаються з безлічі дискретних точок, для роботи з ними необхідні спеціальні алгоритми. 
  Малювання відрізка прямої лінії - одна з найпростіших завдань растрової графіки. Сенс її полягає в обчисленні координат пікселів, що знаходяться поблизу безперервних відрізків, що лежать на двовимірної растрової сітці. br/> 
В В  
 Рис. 2. Алгоритм розкладання в растр прямої лінії 
   У функцію алгоритму розкладання передаються початкові і кінцеві координати, а також площину малювання Canvas. Перше, що потрібно визначити це довжину по осі oX або oY, залежно від того, яка довші: 
				
				
				
				
			   if abs (X2 - X1)> = abs (Y2 - Y1) then Length: = abs (X2 - X1) Length: = abs (Y2 - Y1); 
   Тепер визначимо приросту для кожної осі: 
   dX: = (X2 - X1)/Length;: = (Y2 - Y1)/Length; 
   Маючи збільшення і довжину лінії, можна побудувати пряму, але для початку треба задати початкові координати побудови лінії: 
   X: = X1 + 0.5 * Sign (dX);: = Y1 + 0.5 * Sign (dY); 
   Тут Sign - функція, яка повертає -1, якщо число негативно; 1, якщо число позитивно; і 0, якщо число дорівнює нулю. 
  Тепер задамо змінну i в початковий стан: 
  i: = 1; 
  І запусти цикл, в якому буде здійснюватися прирощення координат, змінної i і промальовування в отриманих координатах точки, цикл закінчиться тільки, коли i <= Length: 
   i: = 1; i <= Length d...