| imho.ws |
![]() |
|
|
|
# 1 |
|
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Нужен алгоритм спирографа
Прошу прошение за не корректность изложения, но объясняю как могу.
Есть такой инструмент (так что ли назвать) СПИРОГРАФ - набор шестеренок с дырочками и набор колес (то же с зубчиками). В колесо вставляется шестеренка, в дырочку ручка или карандаш. Шестеренка движется по колесу и рисует фигуры. Нужно написать прогу, которая рисует такие фигуры. Могу написать и сам, но вот проблема с математикой, ни как не могу алгоритм придумать. Получается очень сложный и не точный. Если у кого есть - поделитесь. Можно целиком прогу, в исходнике. Наваротов ни каких не надо. Просто что бы рисовал и все. Если на паскале то просто супер.
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |
|
|
|
|
# 6 |
|
Junior Member
Регистрация: 13.09.2002
Сообщения: 105
![]() ![]() |
Паскаля у меня уже давно нет. Пишу формулы:
Радиус дырки в которой вертится шестеренка Rb Радиус собственно шестеренки Rs Расстояние от центра шестеренки до дырки Rd Угол движения шестеренки A Угол поворота шестеренки a=-(A*Rb)/Rs В прошлый раз ошибся, забыл что шестеренка вращается в другую сторону X(A)=COS(A)*(Rb-Rs)+COS(a)*Rd Y(A)=SIN(A)*(Rb-Rs)+SIN(a)*Rd A естественно измеряется в радианах и меняется от 0, и до тех пор пока X(A)=Rb-Rs+Rd=X(0) и Y(A)=0=Y(0). По моему где-то так. Последний раз редактировалось aleks_k2; 17.12.2003 в 11:05. |
|
|