powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать треугольник, зная центр где он будет находится?!
8 сообщений из 33, страница 2 из 2
Как нарисовать треугольник, зная центр где он будет находится?!
    #39662000
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorчччД__Dimonka,

зачем же рельеф игнорировать? Неделя только начинается.
он натягивает треугольник на шар !
Имею заметить, что форма земли - не шар, а эллипсоид вращения (в первом приближении).
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39662003
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpdefecatorпропущено...

он натягивает треугольник на шар !
Имею заметить, что форма земли - не шар, а эллипсоид вращения (в первом приближении).

В нашем сериале "Как натянуть сову на глобус" ожидается выпуск очередного сезона?-)
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39662093
Glays
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp, форма земли - геоид
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39662098
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glaysalekcvp, форма земли - геоидага, нам так и сказали на паре геологии: "Земля имеет форму Земли" :-)
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39663201
venza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kast2K
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure DrawTriangle(const X, Y,  R: Integer);
var
  A: array of TPoint;
begin
  //R = radius from point centre
  SetLength(A,3);
  A[0].X := x;
  A[0].Y := y-R;
  A[1].X := x-R;
  A[1].Y := y+R;
  A[2].X := x+R;
  A[2].Y := y+R;

   img.Canvas.Polygon(A);
end;



Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.

Вот что я пробовал:
Код: pascal
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.
procedure TForm1.DrawTriangle(const X, Y, N, R: Integer);
var
  A: array of TPoint;
  xx,yy,x0,y0:integer;
begin

  //xx:=round((x)*cos(n)-(y)*sin(n));
  //yy:=round((x)*sin(n)+(y)*cos(n));
  //xx:=x+round(r*sin(N*pi/180));
  //yy:=y-round(r*cos(N*pi/180));
  //xx:=x+round(r*sin(n*pi/180));
  //yy:=y-round(r*cos(n*pi/180));
  //showmessage(inttostr(xx));
  //showmessage(inttostr(yy));
  //R = radius from point centre
 // обычное:
XX := round(x * cos(n) - y * sin(n));
YY := round(y * cos(n) + x * sin(n));
{
вокруг центра:

X = x0 + (x - x0) * cos(a) - (y - y0) * sin(a);
Y = y0 + (y - y0) * cos(a) + (x - x0) * sin(a);
где, (x0, y0) — центр, точка вокруг которой нужно вращать    }



  SetLength(A,3);
  A[0].X := xx  ;
  A[0].Y := yy-R ;
  A[1].X := xx-R ;
  A[1].Y := yy+R ;
  A[2].X := xx+R ; //сюда тоже пытался подставлять формулы, результат 0
  A[2].Y := yy+R ;

  image321.Canvas.Pen.Color:=clred;
  image321.Canvas.Pen.Width:=3;

  image321.Canvas.Polygon(A);
end;




Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TForm1.Button2Click(Sender: TObject);
begin

DrawTriangle(256,256,strtoint(Edit1.Text),5);



end;



Где N угол поворота.
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39663211
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
venzaГде N угол поворота.

А ты в курсе, что этот угол задаётся в радианах, а не градусах?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39663215
venza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovvenzaГде N угол поворота.

А ты в курсе, что этот угол задаётся в радианах, а не градусах?

Нет, не знал! Спасибо, щас попробовал, переписал, не поворачивает.
...
Рейтинг: 0 / 0
Как нарисовать треугольник, зная центр где он будет находится?!
    #39663218
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
venzaне поворачивает.

И не должно, ибо то, что ты написал - совсем не формула поворота треугольника. Возвращайся
за парту, изучай линейную алгебру с её матрицами преобразования координат.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нарисовать треугольник, зная центр где он будет находится?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]