Презентация на powerpointИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА...
TRANSCRIPT
Геометрични фигуриГРАФИКА В C #
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Да се изчертаят 6 вписани един в друг равностранни триъгълници
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Решениеprotected override void OnPaint(PaintEventArgs e)
{ Graphics g = e.Graphics;
Pen pen = new Pen(Color.Red, 2);
//изчертаване на първия триъгълник
int x1 = 100, y1 = 500, side = 500;
int x2 = x1 + side, y2 = y1;
int h = (int)(side * Math.Sqrt(3) / 2);
int x3 = (x1 + x2) / 2, y3 = y1 - h;
g.DrawLine(pen, x1, y1, x2, y2);
g.DrawLine(pen, x2, y2, x3, y3);
g.DrawLine(pen, x3, y3, x1, y1);
//изчертаване на вписаните триъгълници
for (int i = 1; i <= 6; i++)
{ int x = x1, y = y1;
x1 = (x1 + x2) / 2; y1 = (y1 + y2) / 2;
x2 = (x2 + x3) / 2; y2 = (y2 + y3) / 2;
x3 = (x3 + x) / 2; y3 = (y3 + y) / 2;
g.DrawLine(pen, x1, y1, x2, y2);
g.DrawLine(pen, x2, y2, x3, y3);
g.DrawLine(pen, x3, y3, x1, y1);
}
}
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изчертайте показаната графика в C#protected override void OnPaint(PaintEventArgs e)
{ Graphics g = e.Graphics;
Pen p = new Pen(Color.Blue, 2);
//задаване на пропорции
int n = 1, m = 30;
//изчертаване на първия триъгълник
int x1 = 100, y1 = 500, side = 500;
int x2 = x1 + side, y2 = y1;
int h = (int)(side * Math.Sqrt(3) / 2);
int x3 = (x1 + x2) / 2, y3 = y1 - h;
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
g.DrawLine(pen, x2, y2, x3, y3);
g.DrawLine(pen, x1, y1, x2, y2);
g.DrawLine(pen, x3, y3, x1, y1);
//изчертаване на вписаните триъгълници
for (int i = 1; i <= 80; i++)
{ int x = x1, y = y1;
x1 = (n*x1 + m*x2) / (n + m); y1 = (n*y1 + m*y2) / (n + m);
x2 = (n*x2 + m*x3) / (n + m); y2 = (n*y2 + m*y3) / (n + m);
x3 = (n*x3 + m*x) / (n + m); y3 = (n*y3 + m*y) / (n + m);
g.DrawLine(pen, x1, y1, x2, y2);
g.DrawLine(pen, x2, y2, x3, y3);
g.DrawLine(pen, x3, y3, x1, y1);
}
}
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Да се изчертае картинката от Фиг. 3а. Упътване: Направете промени в решението на задача 3. Да се изчертае картинката от Фиг. 3б.
Да се изчертае квадратна развиваща се спирала (Фиг. 3в и 3г) със страни, успоредни на координатните оси и начална точка в средата на екрана;
Първата страна е с дължина 1 и е ориентирана по положителната посока на абцисната ос;
Всяка следваща страна е с дължина с две по-голяма от предишната и е перпендикулярна на нея.
Посоката на развиване на спиралата е обратна на часовниковата стрелка.
Изчертаването продължава, докато се достигне до точка, която е извънчертожното поле.
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Други геометрични фигури
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Правоъгълник със страни успоредни на координатните оси
синтаксис
void DrawRectangle(Pen p, int x, int y, int width, int height);
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изчертайте правоъгълник с метод DrawLine
Изчертаване на елипсасинтаксис
void DrawEllipse(Pen p, int x, int y, int weidth, int height);
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изчертаване на дъга от елипсасинтаксис
void DrawArc(Pen p, int x, int y,int weidth, int height,
int startAngle, int endAngle);
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изчертайте показаната фигура
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Запълване на затворен контур
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Създаване на четкасинтаксис
Brush b = new SolidBrush(<цвят на четката>);
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Методи за запълванеprotected override void OnPaint(PaintEventArgs e)
{ Graphics g = e.Graphics;
Pen p = new Pen(Color.Black, 2);
Brush b = new SolidBrush(Color.Aqua);
g.FillRectangle(b, 100, 100, 200, 300);
g.DrawRectangle(p, 100, 100, 200, 300);
g.FillEllipse(b, 400, 100, 200, 300);
g.DrawEllipse(p, 400, 100, 200, 300);
}
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изчертаване и запълване на полигонсинтаксис
void DrawPolygon(Pen p, Point[] point);
синтаксис
Point[] point = { new Point(100, 100), new Point(200, 200),
new Point(180, 300), new Point(120,250) };
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Да се изчертае петолъчка
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Brush b = new SolidBrush(Color.Aqua);g.FillPolygon(b, point);g.DrawPolygon(p, point);
g.FillPolygon(b,point,System.Drawing.Drawing2D.FillMode.Winding); .
protected override void OnPaint(PaintEventArgs e)
{ Graphics g = e.Graphics;
Pen p = new Pen(Color.Black, 2);
int cx = ClientSize.Width;
int cy = ClientSize.Height;
Point[] point = new Point[5];
for (int i = 0; i < 5; i++)
{ double angle = (i * 0.8 - 0.5) * Math.PI;
point[i]=new Point((int)(cx*(0.25+0.24*Math.Cos(angle))),
(int)(cy*(0.5+0.48*Math.Sin(angle))));
}
g.DrawPolygon(p, point);
}
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА
Изрисувайте концентрични окръжности с център средата на чертожното поле, със случайно генериран цвят и радиус.
ИНФОРМАТИКА - 9 КЛАС, ВИДОЛОВА