реклама на сайте
подробности

 
 
> Спираль, намотанная на бублик
Vokchap
сообщение Dec 19 2008, 20:22
Сообщение #1


Профессионал
*****

Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835



Построил спираль, намотанную на тор.

t - переменная построения, меняется от 0 до 1
R1 - радиус спирали
R2 - радиус тора
N - количество витков







Прикрепленное изображение


Спираль круглого провиля, нужно получить профиль, близкий к прямоугольному. Идеально было бы контролировать радиус скругления на углах прямоугольника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Самурай
сообщение Dec 19 2008, 22:46
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(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);

Прикрепленное изображение


Аналогично для трехмерного тора получаем следующие уравнения (формулы получены быстрым методом "научного тыка", так что, могут быть некоторые "неправильности" smile.gif ):

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);

Конечно, это наверно не самый идеальный вариант, но вроде немного похоже на то, что требуетсяsmile.gif

Сообщение отредактировал Самурай - Dec 19 2008, 23:03
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.03871 секунд с 7
ELECTRONIX ©2004-2016