Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Комп'ютерна графіка засобами Windows Forms

Реферат Комп'ютерна графіка засобами Windows Forms





in + 2 * dy);=a - ax * (xmin - dx);= b - ay * (ymax + dy) ;. Transform=new Matrix (ax, 0, 0, ay, bx, by); hline=(xmax - xmin) * 0.001f; blackPen=new Pen (Color. Black, hline); bluePen=new Pen (Color. Blue, hline);=tmin ;. DrawLine (bluePen, xmin, 0, xmax, 0) ;. DrawLine (bluePen, 0, ymin, 0, ymax); (t lt;=tmax)

{. DrawLine (blackPen, F1 (t), F2 (t), F1 (t + h), F2 (t + h));=t + h;

}

} float F1 (float x)

{(float) (6 * Math. Cos (x) + 2 * Math. Cos (6 * x));

} float F2 (float x)

{(float) (6 * Math. Sin (x) - 2 * Math. Sin (6 * x));

} void Form1_Resize (object sender, EventArgs e)

{();

}

}

}


Малюнок 1.2 Реалізація програми, яка будує двовимірний графік функції, заданої параметрично


2. Перетворення двовимірних координат


Завдання: Написати програму, що демонструє перетворення двовимірних координат (перенос, поворот і масштабування). Вивести графік функції до перетворення і після нього в одному вікні [2].

Рішення:


using System; System. Collections. Generic; System. ComponentModel; System. Data; System. Drawing; System. Linq; System. Text; System. Windows. Forms; System. Drawing; System. Drawing. Drawing2D; WindowsFormsApplication1

{partial class Form1: Form

{Form1 ()

{();

} float transX (float x, float y, float Alfa, float d, float s)

{(float) ((s * x * Math. Cos (Alfa) + s * y * Math. Sin (Alfa) + d));

} float transY (float x, float y, float Alfa, float d, float s)

{(float) (-s * x * Math. Sin (Alfa) + s * y * Math. Cos (Alfa) + d);

} override void OnPaint (PaintEventArgs e)

{. OnPaint (e); g=e. Graphics; fi, fimin, fimax, xmin, xmax, ymin, ymax, x, y, h, x2, y2; tx, ty, Alfa, s;=2;=10; ty=7; Alfa=(float) (Math.PI)/6;=0; fimax=(float) (4 * (Math.PI));=(fimax - fimin)/100;=(float) (F (fimin) * Math. Cos (fimin));=(float) (F (fimin ) * Math. Sin (fimin));=xmin;=ymin;=fimin + h; (fi lt; fimax)

{= (float) (F (fi) * Math. Cos (fi)); (x lt; xmin) xmin=x; (x gt; xmax) xmax=x;=(float) (F (fi ) * Math. Sin (fi)); (y lt; ymin) ymin=y; (y gt; ymax) ymax=y;=transX (x, y, Alfa, tx, s); (x2 lt; xmin) xmin=x2; (x2 gt; xmax) xmax=x2;=transY (x, y, Alfa, ty, s); (y2 lt; ymin) ymin=y2; (y2 gt; ymax) ymax=y2;=fi + h;

} dx=(xmax - xmin) * 0.03f; dy=(ymax - ymin) * 0.03f; ax=ClientSize. Width/(xmax - xmin + 2 * dx); ay=- ClientSize. Height/(ymax - ymin + 2 * dy); bx=- ax * (xmin - dx); by=- ay * (ymax + dy); hf, wf, a, b, c, d; asm=(xmax- xmin)/(ymax - ymin); asf=(float) ClientSize. Width/(float) ClientSize. Height; (asm gt; asf)

{= ClientSize. Width;=(ymax - ymin) * wf/(xmax - xmin);=0;=(ClientSize. Height - hf)/2;=ClientSize. Width;=(ClientSize. Height + hf)/2;

}

{= ClientSize. Height;=(xmax - xmin) * hf/(ymax - ymin);=(ClientSize. Width - wf)/2;=0;=(ClientSize. Width + wf)/2;=ClientSize. Height;

}=(c - a)/(xmax - xmin + 2 * dx);=(b - d)/(ymax - ymin + 2 * dy);=a - ax * (xmin - dx);= b - ay * (ymax + dy) ;. Transform=new Matrix (ax, 0, 0, ay, bx, by); hline=(xmax - xmin) * 0.001f; blackPen=new Pen (Color. Black, hline); bluePen=new Pen (Color. Blue, hline) ;. DrawLine (bluePen, xmin, 0, xmax, 0) ;. DrawLine (bluePen, 0, ymin, 0, ymax);=fimin; (fi lt;=fimax)

{. DrawLine (blackPen, (float) (F (fi) * Math. Cos (fi)), (float) (F (fi) * Math. Sin (fi)), (float) (F (fi + h) * Math. Cos (fi + h)), (float) (F (fi + h) * Math. Sin (fi + h)));=fi + h;

}=fimin; (fi lt;=fimax)

{= (float) (F (fi) * Math. Cos (fi));=(float) (F (fi) * Math. Sin (fi));=(float) (F (fi + h ) * Math. Cos (fi + h));=(float) (F (fi + h) * Math. Sin (fi + h)) ;. DrawLine (blackPen, transX (x, y, Alfa, tx, s), transY (x, y, Alfa, ty, s), transX (x2, y2, Alfa, tx, s), transY (x2, y2, Alfa , ty, s));=fi + h;

}

} float F (float fi)

{3 * (1 + (float) (Math. Cos (fi)));

} void Form1_Resize (object sender, EventArgs e)

{();

}

}

}


Малюнок 2.1 Реалізація програми, яка демонструє перетворення двовимірних координат


. Метод сканує рядки


Задача: Розробити алгоритм і написати програму, що демонструє метод сканує рядки для зафарбовування трикутних областей [2].

Рішення:

Клас:


using System; System. Collections. Generic; System. Linq; System. Text; System. Drawing; System. Drawing. Drawing2D; System. Collections; Laba3

{FillTriangle

{void Fill (Graphics g, int [] x, int [] y, int [] rgb)

{maxy, miny;=y [0];=maxy; (y [1] gt; maxy) maxy=y [1]; (y [2] gt; maxy) maxy=y [2]; ( y [1] lt; miny) miny=y [1]; (y [2] lt; miny) miny=y [2]; t; mas=new ArrayList (); myP...


Назад | сторінка 2 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Edcation system in the USA
  • Реферат на тему: Legal system
  • Реферат на тему: UNIX System V
  • Реферат на тему: The Federal Reserve System
  • Реферат на тему: Political party system