Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2014, 22:46   #1
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию Движение подвижной окружности по неподвижной

В общем, задача стоит сложная и довольно интересная, поэтому я опишу подробно.
Начну с сути постановки задачи. Как я уже написал в заголовке: подвижная окружность с центром в точке О1 радиуса r движется без скольжения по неподвижной окружности с центром в точке О радиуса R против часовой.
Кривошип ОО1 вращается равномерно с постоянной угловой скоростью w0 (угол fi вычисляется по формуле: fi=w0*t).
Найти траекторию точки М, принадлежащей подвижной окружности радиуса r, причем точка М находится на расстоянии h от точки О1 (т.е. h=О1М). Нужно написать графическую программу, представляющую перемещение точки М с течением времени t по траектории. В начальный момент кривошип ОО1 находится на оси Оx (также и О1М).
R=3r;
h=r.
Программу желательно написать на Pascal ABC, ибо я совсем запутаюсь.
enotgr вне форума Ответить с цитированием
Старый 10.09.2014, 23:49   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
Сообщение

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

Прицепил вместе с исходником, поиграйся.

Ссылка ещё.
Вложения
Тип файла: rar 5386.RAR (198.7 Кб, 9 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 10.09.2014 в 23:53.
min@y™ вне форума Ответить с цитированием
Старый 11.09.2014, 00:23   #3
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию

Спасибо. Сейчас гляну
enotgr вне форума Ответить с цитированием
Старый 11.09.2014, 00:40   #4
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию

Не совсем то, что нужно. По неподвижно окружности движется еще окружность и нужно найти траекторию (второй раз не буду писать, все подробно уже описано)
enotgr вне форума Ответить с цитированием
Старый 11.09.2014, 01:28   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Где движется, снаружи неподввижной или внутри ?
И где точка М, принадлежащая подвижной окружности ?
Там не спутали понятия круг и окружность ?
Изображения
Тип файла: jpg окру.jpg (16.2 Кб, 41 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 11.09.2014, 01:48   #6
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию

Ничего не перепутал. Движется по окружности. Я уже написал, что происходит движение подвижной окружности по (а не внутри) неподвижной. Рисунок первый ("так"). Из точки О1 идет стержень длинной h, в моем случае h равен радиусу r (подвижной окружности). Получается стержень О1М. Собственно точка М расположена на расстоянии h=r от центра подвижной окружности (т.е. на ее дуге, если быть проще). Когда механизм приходит в движение, точка М должна рисовать некую траекторию.
enotgr вне форума Ответить с цитированием
Старый 11.09.2014, 02:02   #7
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ну тогда, вот - https://ru.wikipedia.org/wiki/Эпициклоида
Может быть поможет. У вас k=3

И общий случай, при произвольном расположении M - https://ru.wikipedia.org/wiki/Эпитрохоида
type_Oleg вне форума Ответить с цитированием
Старый 11.09.2014, 02:09   #8
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию

Да, об этом я тоже в курсе, суть в том, что мне нужно это запрограммировать на паскале, в этом вся беда
enotgr вне форума Ответить с цитированием
Старый 11.09.2014, 03:46   #9
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вот, в качестве затравки.
Только -
а) это не на ABC, а на Delphi, я ABC не владею, а разбираться неохота,
б) надо как то туда сунуть угловую скорость w0 радиуса неподвижной окружности . В формулах, что я взял из Википедии - параметр t - это вроде угол радиуса катящейся окружности.
Код:
implementation

{$R *.dfm}
procedure EpiTrohoid(t,R,m,h:Real;var x,y:Real);
begin
 x:=R*(m+1)*Cos(m*t)-h*Cos((m+1)*t);
 y:=R*(m+1)*Sin(m*t)-h*Sin((m+1)*t);
end;

procedure TForm1.Button1Click(Sender: TObject);
var R,r1,h,m,x,y:Real;
    XX,YY,i:Integer;
begin
  r1:=50;
  R:=3*r1;
  h:=r1;
  m:=r1/R;
  for i:=0 to 500 do
   begin
    EpiTrohoid(i*0.06,R,m,h,x,y);
    XX:=250+Round(x);
    YY:=250-Round(y);
    Image1.Canvas.Pixels[XX,YY]:=clRed;
   end;
end;
end.
Вместо procedure TForm1.Button1Click(Sender: TObject); напишете свое - ввод параметров, графику и пр. Я просто привел, чтобы показать что работает.
Изображения
Тип файла: jpg эпит.jpg (30.3 Кб, 122 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 11.09.2014, 11:07   #10
enotgr
 
Регистрация: 08.09.2014
Сообщений: 8
По умолчанию

А можно как-то сделать так, чтобы получался не пунктир, а непрерывная линия? Я так понял, только если уменьшить i? Но тогда все равно линия будет прерываться..
enotgr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
движение по окружности(C#) liisasha Помощь студентам 0 13.06.2012 17:03
Движение окружности What's_That? Паскаль, Turbo Pascal, PascalABC.NET 11 28.07.2011 21:19
движение окружности по окружности MyQwErTy Помощь студентам 13 04.11.2008 22:52
Движение окружности Ensoph Помощь студентам 4 25.09.2008 12:11
Движение по окружности Mickle Общие вопросы Delphi 3 13.04.2007 16:24