Как нарисовать цилиндр в паскале
при том
Что ввод высоты и радиуса окружности вводится с клавиатуры(обязательно!)

Ответы

Ответ дал: Аноним
0
uses GraphABC;

begin
  var R:=ReadInteger('R=');
  var h:=ReadInteger('h=');
  ClearWindow;
  var Ax:=Trunc(300-1.22*R);
  var Bx:=Trunc(300+1.22*R);
  var Ay:=Trunc(100+0.71*R);
  var By:=Trunc(100-0.71*R);
  DrawEllipse(Ax,Ay,Bx,By);
  Line(Ax,100,Ax,100+h);
  Line(Bx,100,Bx,100+h);
  DrawEllipse(Ax,Ay+h,Bx,By+h);
  FillEllipse(Ax,Ay+h-3,Bx,By+h-3);
end.

Для примера введите числа 50 и 150.
"Магические коэффициенты" 1.22 и 0.71 - это коэффициенты искажения окружности по осям в изометрической проекции.
Ответ дал: Moonlight11
0
Спасибо
Ответ дал: Аноним
0
Пожалуйста
Ответ дал: igor9997799
0
uses graphabc;

 begin
  window.Init(0, 0, 800, 600, clwhite);
  window.IsFixedSize := true;
  var r:=ReadInteger('R=');
  var h:=ReadInteger('h=');
  pen.Width := 4;
  DrawEllipse(100, 100, 100 + r, 100 + r - (r div 2));
  line(100, (100 + r - (r div 2) + 100) div 2, 100, ((100 + r - (r div 2) + 100 + h + h) div 2));
  line(100 + r, (100 + r - (r div 2) + 100) div 2, 100 + r, ((100 + r - (r div 2) + 100 + h + h) div 2));
  DrawEllipse(100, 100 + h, 100 + r, 100 + r - (r div 2) + h);
end.
Ответ дал: Moonlight11
0
Спасибо огромное
Ответ дал: Аноним
0
Все хорошо, но оба основания одновременно у цилиндра видно не бывает. Разве что у проволочного...
Вас заинтересует