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 - это коэффициенты искажения окружности по осям в изометрической проекции.
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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку