Графика, очень срочно

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Здравствуйте! Помогите пожалуйста... Очень срочно. Нужно в окружность вписать равносторонний треугольник. и чтоб он со спинэдитом был связан. вот код программы, круг я нарисовала все работает а вот треугольник не получается =((((
 

Вложения

  • __________________________2_.txt
    1,5 КБ · Просмотры: 473
  • ______.PNG
    ______.PNG
    26,8 КБ · Просмотры: 597
L

lazybiz

Снежка89
Я извиняюсь, а Вас не Ангелина зовут!?
 
D

Dock1100

Код:
procedure TForm36.Button1Click(Sender: TObject);
var i,r,r_const,x,y,x1,y1,x2,y2,x3,y3,n:integer;
begin
paintbox1.Canvas.FillRect(paintbox1.ClientRect);
r:=50; //радиус первого круга
r_const:=r;
n:=3;//количесто (окружностей+треугольников)/2
for i:=1 to n do
begin
r:=r div i;
x:=r_const-r;
y:=r_const-r;
x1:=r;
y1:=0;
y2:=r+r div 2;
y3:=y2;
x2:=r-round(r*sqrt(3/4));//*sqrt(3/4) берем из формулы x*x+y*y=r*r, подставив в неё х=r*r/4 получим что y=r*sqrt(3/4)
//sqrt - арифметический корень
x3:=r+round(r*sqrt(3/4));
paintbox1.Canvas.Ellipse(x,y,r*2+x,r*2+y);
paintbox1.Canvas.MoveTo(x+x1,y+y1);
paintbox1.Canvas.LineTo(x+x2,y+y2);
paintbox1.Canvas.LineTo(x+x3,y+y3);
paintbox1.Canvas.LineTo(x+x1,y+y1);
end;
end;

Результат:
12345.jpg


ЗЫ Что означает К (на картинке)?
 
L

lazybiz

Пожалуйста. Хотя я вроде ни чем и не помог....
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!