Цитата(Vokchap @ Dec 19 2008, 23:22)

Построил спираль, намотанную на тор.
Спираль круглого провиля, нужно получить профиль, близкий к прямоугольному. Идеально было бы контролировать радиус скругления на углах прямоугольника.
Можно попробовать выполнить преобразование круга (как формообразующую основу тора) при помощи перехода к другим координатам, например артангенциальным (можно попробовать и другие нелинейные преобразования).
Вот например что получается из круга радиусом R=10 для параметра m от 1 до 10 (круг зажимается в пределах +-2 по осям x и y):
xc = 2*atan[(10*cos(2*pi*t))/m] / atan(10/m);
yc = 2*atan[(10*sin(2*pi*t))/m] / atan(10/m);
Аналогично для трехмерного тора получаем следующие уравнения (формулы получены быстрым методом "научного тыка", так что, могут быть некоторые "неправильности"

):
x = sin(2*pi*t) * [R1n*atan(R1*cos(2*pi*N*t)/m)/atan(R1/m) + R2];
y = cos(2*pi*t) * [R1n*atan(R1*cos(2*pi*N*t)/m)/atan(R1/m) + R2];
z = R1n*atan[R1*sin(2*pi*N*t)/m] / atan(R1/m);
Конечно, это наверно не самый идеальный вариант, но вроде немного похоже на то, что требуется
Сообщение отредактировал Самурай - Dec 19 2008, 23:03