0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 8
1

создание Параллелепипед из 3х параллелограммов

19.06.2011, 17:06. Показов 2225. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, очень нужна помощь и к сожалению чем раньше тем лучше

Нужно создать Параллелепипед, он должен собираться из трех параллелограммов. Я частично сделала, а точнее: сделала форму, на которой выводиться размеры объекта, начальное положение, НО это всё для одного параллелограмма, а не для Параллелепипед! не выходит создать все 3 параллелограмма, чтобы они соединялись и образовали Параллелепипед.

вот более точное задание:
Размеры и положение объекта указываются пользователем (в ходе выполнения программы). Объект (по команде пользователя) должен вращаться вокруг одной из осей координат. Скорость вращения объекта является одним из свойств класса (не обязательно, но если знаете как буду очень признательна ). При создании объекта пользователь должен иметь возможность задавать:
• размеры объекта;
• начальное положение;
• цвет объекта;
• скорость вращения;
• выбирать ось, относительно которой будет вращаться объект.
Разработать программу с использованием этого класса.
Вложения
Тип файла: rar parallelepiped.rar (172.5 Кб, 63 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2011, 17:06
Ответы с готовыми решениями:

Создание параллелепипеда из трех параллелограммов
Ребята, очень нужна помощь и к сожалению чем раньше тем лучше:gsorry: Нужно создать...

Вычислить площади и периметры параллелограммов
В текстовом файле - данные о длине сторон и углы между ними для 18 параллелограммов. Вычислить...

Нарисовать на экране 12 заполненных параллелограммов
Помогите пожалуйста

Нарисовать на экране 12 заполненных параллелограммов
Помогите пожалуйста

7
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 8
19.06.2011, 19:04  [ТС] 2
я блондинка попытаюсь на пальцах объяснить как это должно выглядеть

выводиться размеры объекта, начальное положение
|
V
рисуется параллелепипед (а они рисуются из 3х параллелограммов)
|
V
и под формой начальных данных X, Y, R
указывается угол на который поворачивается параллелепипед (то есть три параллелограмма соединяются в один объект)
я сама пыталась разобраться и сюда решила написать в последний момент, мне после выходных сдавать

буду рада любой помощи!!!! Заранее спасибо!!!
0
0 / 0 / 1
Регистрация: 13.06.2011
Сообщений: 9
20.06.2011, 00:36 3
параллелепипед состоит из 2х параллелограммов,других я не видел.тебе что конкретно надо,отрисовать или координаты задать?если координаты есть то то какие проблемы? впрочем если нет, то то же не проблема.
есть lineto(x,y) и moveto(x,y),moveto(x,y) ставит перо в x,y,а lineto(x1,y1) ведёт линию в точку x1,y1
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 8
26.06.2011, 01:18  [ТС] 4
так ведь даже на вашем рисунке, 3 а не два видимых параллелограмма, или мы о разном

Добавлено через 7 минут
я большую часть проги сделала
у меня много мусора, я это сама вижу. Пыталась оптимизировать, но не работает.

В общем сейчас такие проблемы не получается исправить:
1) рисуется фигура, потом если задаем новые координаты и размеры, фигура перерисовывается, но не стирает прошлые линии
2) и то что я задавала серый цвет заливки, он не заливает фигуру
3 и наверное самое сложное, я не могу доделать перерисовку фигуры в зависимости заданного градуса

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
unit uImageClass;
 
interface
 
uses Graphics, Types, SysUtils;
 
type
  TPosition = record {Òèï äëÿ îïèñàíèÿ êîîðäèíàò ïîëîæåíèÿ ôèãóðû}
    X : Integer; {Êîîðäèíàòà ïî ãîðèçîíòàëè}
    Y : Integer; {Êîîðäèíàòà ïî âåðòèêàëè}
  end;
 {Êëàññ ôèãóðà}
  TFigure = class
  private
    FColor : TColor; {Ïîëå - Öâåò ôèãóðû}
    FSize : Integer; {Ïîëå - Ðàçìåð ôèãóðû}
    FPosition : TPosition; {Ïîëå - Êîîðäèíàòû ôèãóðû}
    FBackColor : TColor; {Ïîëå - Öâåò ôîíà}
  public
    constructor Create; {Êîíñòðóêòîð êëàññà}
 
    {Ìåòîäû êëàññà}
    procedure SetFigureColor(AColor : TColor); virtual; {Ìåòîä óñòàíîâêè çíà÷åíèÿ ïîëþ "FColor"}
    procedure SetBackColor(AColor : TColor); virtual; {Ìåòîä óñòàíîâêè çíà÷åíèÿ ïîëþ "FBackColor"}
    procedure SetSize(ASize : Integer); {Ìåòîä óñòàíîêè çíà÷åíèÿ ïîëþ "FSize"}
    procedure SetPosition(AX, AY : Integer); {Ìåòîä óñòàíîâêè çíà÷åíèÿ ïîëþ "FPozition"}
 
    function GetPosition : TPosition; {Ìåòîä ÷òåíèÿ çíà÷åíèÿ ïîëÿ "FPosition"}
    function GetFigureColor : TColor; {Ìåòîä ÷òåíèÿ çíà÷åíèÿ ïîëÿ "FColor"}
    function GetBackColor : TColor; {Ìåòîä ÷òåíèÿ çíà÷åíèÿ ïîëÿ "FBackColor"}
    function GetSize : Integer; {Ìåòîä ÷òåíèÿ çíà÷åíèÿ ïîëÿ "FSize"}
 
    {Ìåòîä "Ñòåðåòü" è "Ðèñîâàòü". Ìåòîä âèðòóàëüíûé è àáñòðàêòíûé}
    procedure Erase; virtual; abstract;
    procedure Draw; virtual; abstract;
 
  end;
 
  {Êëàññ Êâàäðàò}
  TSquare = class(TFigure)
  private
    fXYAngles : array [0..7] of Integer;   //ìàññèâ îò 0 äî 7
    ACanvas : TCanvas; {Òèï Delphi, ñ ïîìîùüþ êîòîðîãî áóäèì ðèñîâàòü ôèãóðó}
  public
    constructor Create (Owner : TCanvas); {Êîíñòðóêòîð êëàññà}
    {Ìåòîä "Ñòåðåòü" è "Ðèñîâàòü". Ïðåîïðåäåëåíèå ïî îòíîøåíèþ ê ðîäèòåëüñêîìó}
    procedure Erase; override;
    procedure Draw; override;
    {Ìåòîä óñòàíîâêè çíà÷åíèÿ ïîëþ "FColor". Ïåðåîïðåäåëÿåì åãî}
    procedure SetFigureColor(AColor : TColor); override;
    {Ìåòîä óñòàíîâêè çíà÷åíèÿ ïîëþ "FBackColor". Ïåðåîïðåäåëÿåì åãî}
    procedure SetBackColor (AColor : TColor); override;
 
    property X1 : Integer index 0 read fXYAngles[0] write fXYAngles[0];
    property X2 : Integer index 2 read fXYAngles[2] write fXYAngles[2];
    property X3 : Integer index 4 read fXYAngles[4] write fXYAngles[4];
    property X4 : Integer index 6 read fXYAngles[6] write fXYAngles[6];
    property Y1 : Integer index 1 read fXYAngles[1] write fXYAngles[1];
    property Y2 : Integer index 3 read fXYAngles[3] write fXYAngles[3];
    property Y3 : Integer index 5 read fXYAngles[5] write fXYAngles[5];
    property Y4 : Integer index 7 read fXYAngles[7] write fXYAngles[7];
  end;
 
  {Êëàññ ÊÓá}
  TCube = class(TFigure)
  private
    ACanvas : TCanvas; {Òèï Delphi, ñ ïîìîùüþ êîòîðîãî áóäèì ðèñîâàòü ôèãóðó}
    fCube : array [0..2] of TSquare;
    fTop, fLeft, fSize : Integer;
    procedure SetCube;
  public
    constructor Create (Owner : TCanvas); {Êîíñòðóêòîð êëàññà}
    procedure Draw; override;     //Ìåòîä "Ñòåðåòü" è "Ðèñîâàòü".
    procedure Erase; override;
    procedure RotateY(a:single; var x,y,z:single);
    property Top : Integer read fTop write fTop;
    property Left : Integer read fLeft write fLeft;
    property Size : Integer read fSize write fSize;
  end;
 
implementation
 
{ TFigure }
 
constructor TFigure.Create;
begin
   inherited Create;
   {Èíèöèàëèçàöèÿ çíà÷åíèÿ ïî óìîë÷àíèþ}
   FColor := clBlack; {Öâåò ôèãóðû - ÷åðíûé}
   FBackColor := clWhite; {Ôîí - áåëûé}
   {Ïîçèöèÿ ôèãóðû âåðõíåé ëåâûé óãîë ïðîñòðàíñòâà âûâîäà}
   FPosition.X := 0;
   FPosition.Y := 0;
   {Ðàçìåð ôèãóðû íå îïðåäåëåí}
   FSize := 0;
end;
 
function TFigure.GetBackColor: TColor;
begin
   Result := FBackColor;
end;
 
function TFigure.GetFigureColor: TColor;
begin
    Result := FColor;
end;
 
function TFigure.GetPosition: TPosition;
begin
    Result := FPosition; {Êîîðäèíàòû ïîçèöèè ôèãóðû}
end;
 
function TFigure.GetSize: Integer;
begin
     Result := Fsize;
end;
 
procedure TFigure.SetBackColor(AColor: TColor);
begin
    if AColor <> FColor then {Öâåò ôîíà íå ñîâïàäàåò ñ öâåòîì ôèãóðû}
      FBackColor := AColor;
end;
 
procedure TFigure.SetFigureColor(AColor: TColor);
begin
    if AColor <> FBackColor then {Öâåò ôèãóðû íå ñîâïàäàåò ñ öâåòîì ôîíà}
      FColor := AColor;
 
end;
 
procedure TFigure.SetPosition(AX, AY: Integer);
begin
    FPosition.X := AX;
    FPosition.Y := AY;
end;
 
procedure TFigure.SetSize(ASize: Integer);
begin
    if ASize > 0 then {Çíà÷åíèÿ ðàçìåðà ïîëîæèòåëüíàÿ âåëè÷èíà}
      FSize := ASize;
end;
 
 
 
  { TSquare }
 
  constructor Tsquare.Create (Owner : TCanvas);
  begin
    inherited Create; {Ñîçäàòü ðîäèòåëüñêèé êëàññ}
    try
      {Âëàäåëüöåì äàííîãî êëàññà ìîæåò òîëüêî ôîðìà delphi - Owner}
      ACanvas := Owner;
      {Óñòàíîâêà öâåòà ôîíà è öâåòà ôèãóðû}
      ACanvas.Brush.Color := GetBackColor;
      ACanvas.Pen.Color := GetFigureColor;
    finally
    end;
  end;
 
  Procedure TSquare.Draw;
  var
    AColor : TColor;
    ARect : TRect;
    I : Integer;
    Points : array[0..3] of TPoint;
  begin
    inherited;
//    ACanvas.FillRect(Rect(0,0,250,250));
//    AColor := GetBackColor;
//    SetBackColor (GetFigureColor);
{    fXYAngles[0] := GetPosition.X;
    fXYAngles[1] := GetPosition.Y;
    fXYAngles[2] := fXYAngles[0]+GetSize;
    fXYAngles[3] := fXYAngles[1]+GetSize;
    fXYAngles[4] := fXYAngles[2];
    fXYAngles[5] := fXYAngles[3]+GetSize;
    fXYAngles[6] := fXYAngles[0];
    fXYAngles[7] := fXYAngles[1]+GetSize;
 
}    for I := 0 to 3 do
    begin
      Points[I].X := fXYAngles[I*2];
      Points[I].Y := fXYAngles[I*2+1];
    end;
    ACanvas.Polygon(Points);
{    ARect.Right := ARect.Left + GetSize;
    ARect.Bottom := ARect.Top + GetSize;
    ACanvas.FillRect(ARect);
    SetBackColor (AColor);
}
  END;
 
  procedure TSquare.Erase;
  var
    AColor : TColor;
    ARect : TRect;
  begin
    inherited;
    AColor := GetFigureColor;
    Try
      SetFigureColor (GetBackColor);
      ARect.Left := GetPosition.X;
      ARect.Top := GetPosition.Y;
      ARect.Right := ARect.Left + GetSize;
      ARect.Bottom := ARect.Top + GetSize;
      ACanvas.FillRect (ARect);
    finally
      SetFigureColor (AColor);
    end;
end;
 
procedure TSquare.SetBackColor(AColor: TColor);
begin
  inherited;
  ACanvas.Brush.Color := AColor;
  ACanvas.Pen.Color := GetFigureColor;
end;
 
procedure TSquare.SetFigureColor(AColor: TColor);
begin
  inherited;
  ACanvas.Brush.Color := GetBackColor;
  ACanvas.Pen.Color := AColor;
end;
 
{ TCube }
 
constructor TCube.Create(Owner: TCanvas);
var
  I : Integer;
 
  begin
// inherited;
  ACanvas := Owner;
  fTop := 0;//StrToInt(Edit2.text);
  fLeft:= 0;//StrToInt(Edit1.text);
  fSize:= 0;//StrToInt(Edit3.text);
  for I := Low(fCube) to High(fCube) do
  begin
    fCube[I] := TSquare.Create(Owner);
    fCube[I].ACanvas.Pen.Color := clBlack;
    fCube[I].ACanvas.Brush.Color := clSilver;
  end;
 
  SetCube;
end;
 
procedure TCube.Draw;
var
  I : Integer;
begin
  inherited;
  Erase;
  SetCube;
  for I := Low(fCube) to High(fCube) do fCube[I].Draw;
end;
 
procedure TCube.Erase;
var
  APenColor, ABrushColor : TColor;
  I : Integer;
begin
  inherited;
  SetCube;
  APenColor  := ACanvas.Pen.Color;
  ABrushColor := ACanvas.Brush.Color;
  for I := Low(fCube) to High(fCube) do fCube[I].Erase;
end;
 
procedure TCube.RotateY(a: single; var x, y, z: single);
var
  xx,zz,c,s:single;
begin
  a:=30;
  c:=cos(a*pi/180);     // ìàòðèöà ïîâîðîòà èìååò âèä
  s:=sin(a*pi/180);
  xx:=x*c+z*s;
  zz:=-x*s+z*c;         //      |CosX  0  -sinX |
  x:=xx;                //   Ry=|  0   1    0   |
  y:=y;                 //      |SinX  0    CosX|
  z:=zz;
end;
 
procedure TCube.SetCube;
begin
  fCube[0].SetSize(fSize);
  fCube[0].X1 := fLeft + Round(SQRT(2)*0.25*fSize);
  fCube[0].Y1 := fTop;
  fCube[0].X2 := fCube[0].X1 +  fSize;
  fCube[0].Y2 := fCube[0].Y1;
  fCube[0].X3 := fCube[0].X2 - Round(SQRT(2)*0.25*fSize);
  fCube[0].Y3 := fCube[0].Y2 + Round(SQRT(2)*0.25*fSize);
  fCube[0].X4 := fCube[0].X3 - fSize;
  fCube[0].Y4 := fCube[0].Y3;
 
  fCube[1].SetSize(fSize);
  fCube[1].X1 := fCube[0].X4;
  fCube[1].Y1 := fCube[0].Y4;
  fCube[1].X2 := fCube[1].X1 +  fSize;
  fCube[1].Y2 := fCube[1].Y1;
  fCube[1].X3 := fCube[1].X2;
  fCube[1].Y3 := fCube[1].Y2 + fSize;
  fCube[1].X4 := fCube[1].X3 - fSize;
  fCube[1].Y4 := fCube[1].Y3;
 
  fCube[2].SetSize(fSize);
  fCube[2].X1 := fCube[0].X2;
  fCube[2].Y1 := fCube[0].Y2;
  fCube[2].X2 := fCube[2].X1;
  fCube[2].Y2 := fCube[2].Y1 + fSize;
  fCube[2].X3 := fCube[1].X3;
  fCube[2].Y3 := fCube[1].Y3;
  fCube[2].X4 := fCube[1].X2;
  fCube[2].Y4 := fCube[1].Y2;
end;
 
end.
0
85 / 85 / 59
Регистрация: 14.05.2010
Сообщений: 223
26.06.2011, 08:49 5
Из школьного курса геометрии помню, что параллелограмм - это фигура объёмная.Canvas - не лучший способ для работы с такими фигурами. Возможно, это необходимость, но если нет то можно, например так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, openGL;
 
type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
procedure SetDCPixelFormat;
procedure Timer(var msg:TWMTimer); message WM_timer;
  public
    { Public declarations }
  end;
  type Tposition=packed record
X,Y,Z: glfloat;
end;
type TRotation=packed record
X,Y,Z: glfloat;
end;
 
type GLColor=packed record
R,G,B: GLfloat;
end;
 
type Tparallelogram=class
Position: Tposition;
Rotation: TRotation;
color: GLcolor;
constructor create;
procedure Render;
end;
 
type Tparallelepiped= class
side: array[0..2]of Tparallelogram;
Position: Tposition;
constructor create;
procedure Render;
end;
 
var
  Form1: TForm1;
  DC: HDC;
  HRC: HGLRC;
  P: Tparallelepiped;
  Z: GLfloat;
 
implementation
 
{$R *.dfm}
 
constructor Tparallelepiped.create;
var i: uint;
begin
inherited create;
for i:=0 to 2 do begin
side[i]:=Tparallelogram.create;
case i of
1: begin
side[i].Rotation.X:=90;
side[i].color.B:=0;
side[i].Position.Z:=-0.5;
side[i].Position.Y:=0.5;
   end;
2: begin
side[i].Rotation.Y:=90;
side[i].color.G:=0;
side[i].Position.X:=-0.5;
side[i].Position.Z:=-0.5;
   end;
end;
end;
end;
 
procedure  Tparallelepiped.Render;
var i: uint;
begin
glpushmatrix;
gltranslatef(self.position.X,position.Y,position.Z);
for i:=0 to 2 do begin
side[i].Render;
end;
glpopmatrix;
end;
 
 
 
constructor Tparallelogram.create;
begin
inherited create;
self.color.R :=1;
self.color.G :=1;
self.color.B :=1;
end;
procedure Tparallelogram.Render ;
begin
Glpushmatrix;
gltranslatef(self.position.X,position.Y,position.Z);
glrotatef(rotation.X,1,0,0);
glrotatef(rotation.Y,0,1,0);
glrotatef(rotation.Z,0,0,1);
glcolor3f(color.R,color.G,color.B);
Glbegin(GL_quads);
glvertex3f(-0.5,0.5,0);
glvertex3f(0.5,0.5,0);
glvertex3f(0.5,-0.5,0);
glvertex3f(-0.5,-0.5,0);
glend;
glpopmatrix;
end;
 
 
 
procedure Tform1.SetDCPixelFormat;
var
  nPixelFormat: Integer;
  pfd: TPixelFormatDescriptor;
 
begin
  FillChar(pfd, SizeOf(pfd), 0);
 
  pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
                 PFD_DOUBLEBUFFER;
 
  nPixelFormat := ChoosePixelFormat(DC, @pfd);
  SetPixelFormat(DC, nPixelFormat, @pfd);
end;
 
procedure TForm1.FormPaint(Sender: TObject);
var ps : TPaintStruct;
begin
  BeginPaint(Handle, ps);
  glClear( GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT );
  glclearcolor(0,0.5,0.2,1);
  glpushmatrix;
  glrotate(Z,1,1,1);  // вращение самой сцены
  p.Render;
  glpopmatrix;
  SwapBuffers(DC);
  EndPaint(Handle, ps);
end;
procedure Tform1.Timer(var msg:TWMTimer);
begin
Z:=Z+1;
    invalidaterect(handle,nil,false);
end;
 
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
P:=Tparallelepiped.create;
DC := GetDC(Handle);
  SetDCPixelFormat;
  hrc := wglCreateContext(DC);
  wglMakeCurrent(DC, hrc);
  glenable(GL_depth_test);
  windows.SetTimer(handle,1000,10,nil);
end;
 
end.
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 8
26.06.2011, 15:16  [ТС] 6
К сожалению это необходимость
У меня уже рисуется куб, и осталось исправить пару ошибок, о которых я раньше писала
если нужно, могу выложить всю программу в архиве
Вложения
Тип файла: zip куб.zip (217.2 Кб, 40 просмотров)
0
0 / 0 / 1
Регистрация: 13.06.2011
Сообщений: 9
27.06.2011, 20:16 7
alexandraK код ваш?
кубик закрашивается итак. чтоб стиралась прошлая фигура в методе Draw допишите цикл типа acanvеs[x,y]:=clwhite;
И вообще странный подход к решению задачи. и в коде нереально разобраться
по поводу поворота
http://www.permadi.com/tutorial/raycast/index.html
и ешё http://zalil.ru/31344194
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 8
30.06.2011, 03:02  [ТС] 8
код мой, да... я просто не удалила этот пункт, голова загружена
Спасибо за совет, я по другому очищаю, но ваш будет правильней =)

Да, к сожалению так вот запутано получилось, хорошо, что вообще работает

с поворотом, нужно разбираться, правда мне на другом форуме сказали, что с моим кодом не выйдет поворота, т.к. это не 3Д фигура, а просто три параллелограмма =(
а для поворота нужно писать полную матрицу всех точек ЗД объекта
0
30.06.2011, 03:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2011, 03:02
Помогаю со студенческими работами здесь

Нарисовать на экране 12 заполненных параллелограммов
12) Нарисовать на экране 12 заполненных параллелограммов разного цвета и стиля заполнения.

Программа, определяющая координаты вершин параллелограммов
Даны координаты(x;y) N точек на плоскости. Выведите координаты вершин всех получившихся...

Построение параллелограммов по заданным координатам вершин, с заливкой и автоматическим построением диагоналей
Если кому-то будет не влом и не сложно, нужно написать такую вот программу : Отобразить...

Задано N параллелограммов координатами своих вершин. Определить номер параллелограмма, у которого самая
Задано N параллелограммов координатами своих вершин. Определить номер параллелограмма, у которого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru