Вообщем задача состоит в следующем по условию дано: uses graph; var grDriver:integer; grMode:integer; ErrCode:integer; res:integer; begin grDriver:=detect; Initgraph(grDriver, grMode,'С:tp\bgi'); ErrCode:=Graphresult; if ErrCode=grOk then begin {основные действия} end; CloseGraph; end.
Необходимо нарисовать пятиконечную звезду-такая как была у красной армии-что-тотипо такого там заданы грудусы-можно делать и не по градусам а по координатам.Буду очень признателе если поможете-так как я в паскале не оч и с графикой никогда в нем на работал(((Зареннее благодарюНажмите для просмотра прикрепленного файла
Archon
2.07.2009 21:53
Главное - расчитать точки.
program SovietStar;
uses crt, graph;
procedure DrawStar(x, y, InnerRadius, OuterRadius: Integer); var Points: array[0..9] of PointType; i: Integer; begin { Вычисление координат внешних вершин звезды: } for i := 0 to 4 do begin Points[i * 2].x := Round(Sin(Pi * 0.4*i) * InnerRadius) + x; Points[i * 2].y := Round(Cos(Pi * 0.4*i) * InnerRadius) + y; end; { Вычисление координат внутренних вершин звезды: } for i := 0 to 4 do begin Points[i * 2 + 1].x := Round(Sin(Pi * (0.4*i + 0.2)) * OuterRadius) + x; Points[i * 2 + 1].y := Round(Cos(Pi * (0.4*i + 0.2)) * OuterRadius) + y; end; { Рисуем звезду: } SetColor(Red); for i := 0 to 9 do Line(Points[i].x, Points[i].y, Points[(i+1) mod 10].x, Points[(i+1) mod 10].y); { Навороты: } for i := 0 to 9 do Line(x, y, Points[i].x, Points[i].y); SetFillStyle(SolidFill, Red); for i := 0 to 4 do begin FloodFill(Round(Sin(Pi * (0.4*i + 0.1)) * InnerRadius / 2) + x, Round(Cos(Pi * (0.4*i + 0.1)) * InnerRadius / 2) + y, Red); end; SetFillStyle(SolidFill, LightRed); for i := 0 to 4 do begin FloodFill(Round(Sin(Pi * (0.4*i + 0.3)) * InnerRadius / 2) + x, Round(Cos(Pi * (0.4*i + 0.3)) * InnerRadius / 2) + y, Red); end; end;
var gd, gm: Integer; begin gd := Detect; InitGraph(gd, gm, '');
DrawStar(GetMaxX div 2, GetMaxY div 2, GetMaxY div 5, GetMaxY div 2 - 20);
ReadKey; CloseGraph; end.
Навороты можно убрать.
Almaz
2.07.2009 22:01
ОГромное спасибо!!!!!!Ты даже не представляешь как выручил!!!дай бог тебе здоровья)) осталось только навороты убрать))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.