IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Нужен алгоритм спирографа (https://www.imho.ws/showthread.php?t=46190)

Alex Dark 16.12.2003 10:42

Нужен алгоритм спирографа
 
Прошу прошение за не корректность изложения, но объясняю как могу.

Есть такой инструмент (так что ли назвать) СПИРОГРАФ - набор шестеренок с дырочками и набор колес (то же с зубчиками).
В колесо вставляется шестеренка, в дырочку ручка или карандаш. Шестеренка движется по колесу и рисует фигуры.

Нужно написать прогу, которая рисует такие фигуры.
Могу написать и сам, но вот проблема с математикой, ни как не могу алгоритм придумать. Получается очень сложный и не точный.

Если у кого есть - поделитесь.
Можно целиком прогу, в исходнике.
Наваротов ни каких не надо. Просто что бы рисовал и все.
Если на паскале то просто супер.

RaZEr 16.12.2003 11:05

Может я чего путаю, но если мы имеем диаметры большого и маленького кружков, и удаление дырки от центра маленького круга, то там вся задача сводится к определению разности диаметров.

aleks_k2 16.12.2003 12:16

Вложений: 1
Не совсем к определению разницы, но все довольно просто.
Прикладен xls файл в котором это реализовано.

vovik 16.12.2003 12:35

aleks_k2 :yees: 5

RaZEr 16.12.2003 12:36

Запостите сюда. Я тоже хочу посмотреть :)

aleks_k2 16.12.2003 12:58

Паскаля у меня уже давно нет. Пишу формулы:
Радиус дырки в которой вертится шестеренка 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:07

Вложений: 1
Исправленный xls со спирографом.
VB не используется, просто формулы и Microsoft Graph


Часовой пояс GMT +4, время: 09:26.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.