Показать сообщение отдельно
  #5  
Старый 05.09.2006, 22:36
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Вот формулы:

Код:
function GetX(a, b: double): double;
begin
   Result := RadiusX * sin( a ) * cos( b );
end;

function GetY(a, b: double): double;
begin
   Result := RadiusY * sin( a ) * sin( b );
end;

function GetZ(a, b: double): double;
begin
   Result := RadiusY * cos( a );
end;

a и b - кол-во сторон и граней на стороне соответственно. Сам сможешь нарисовать?

P.S.
Если под 3D овалом ты понимаешь тор, то формулы будут такие:
Код:
function GetX(a, b: double): double;
begin
   Result := ( RadiusOuter + RadiusInner * cos( a ) ) * cos( b );
end;

function GetY(a, b: double): double;
begin
   Result := ( RadiusOuter + RadiusInner * cos( a ) ) * sin( b );
end;

function GetZ(a, b: double): double;
begin
   Result := RadiusInner * sin( a );
end;
Ответить с цитированием