Cykloidy

Stronę tą wyświetlono już: 427 razy

Definicja

Cykloidą nazywa się trajektorię ruchu punktu umieszczonego na obwodzie koła toczącego się bez poślizgu po płaskiej powierzchni.

Bardziej ogólna definicja: cykloida to taka krzywa, którą kreśli punkt umieszczony w obrębie a nawet poza obrębem takiego koła w stałej niezerowej odległości od jego środka, tak że punkt ten obraca się wraz z danym kołem.

Dla ścisłości i jasności sytuacji warto łaskawym okiem zerknąć na poniższą wykreso-animację, by zrozumieć o co mi naprawdę chodzi.

Krzywe cyklometryczne
Rys. 1
Cykloidy.
  • Zielona - o promieniu wodzącym Rw równym promieniu toczenia Rt nazywana cykloidą zwykłą;
  • Czarna - o promieniu wodzącym Rw większym od promienia toczenia Rt nazywana cykloidą wydłużoną;
  • Magenta - o promieniu wodzącym Rw mniejszym od promienia toczenia Rt nazywana cykloidą skróconą.

Poszczególne klatki powyższej animacji zostały wygenerowane w programie wxMaxima za pomocą następującego kodu:

Listing 1
  1. for i: 0 step 20 thru 720 do(
  2. f:2*i / 360 * %pi,
  3. yp:1,
  4. xp:f,
  5. plot2d([[parametric, cos(t)+xp, sin(t)+yp ,[t,0,2*%pi]],[discrete, [[xp-sin(f), yp-cos(f)], [xp-0.5*sin(f), yp-0.5*cos(f)], [xp-1.5*sin(f), yp-1.5*cos(f)]]],[parametric, fi-sin(fi), 1-cos(fi) ,[fi,0,f], [nticks, 80]],[parametric, fi-sin(fi)*0.5, 1-cos(fi)*0.5 ,[fi,0,f], [nticks, 80]],[parametric, fi-sin(fi)*1.5, 1-cos(fi)*1.5 ,[fi,0,f], [nticks, 80]]],[gnuplot_term, "png size 1100, 260"], [gnuplot_out_file, printf(false,"C:\\cykl ~d.png",i)],[legend,false],[x,-1,13.7],[y,-.5,2.5],[style,linear,points,linear,linear,linear])
  6. )$

Animację poskładałem w programie Gimp.

Opis parametryczny cykloidy

Cykloidy zwykłe można zapisać za pomocą następującego układu równań parametrycznych, w których współrzędne x i y zależą od promienia toczenia Rt i kąta obrotu φ.

[1]

Zapis wyrażenia w formacie TeX-a:

\begin{cases} x= R_t\cdot \left[\varphi - \sin(\varphi)\right] \\ y=-R_t\left[1+\cos (\varphi)\right]\end{cases}

Z kolei dla cykloid o promieniu wodzenia Rw różnym od promienia toczenia Rt równania parametryczne wyglądają następująco:

[2]

Zapis wyrażenia w formacie TeX-a:

\begin{cases} x= R_t\cdot \varphi - R_w\cdot \sin(\varphi) \\ y=-R_t-R_w\cdot\cos (\varphi)\end{cases}

Długość łuku cykloidy zwykłej

Wzór na długość łuku cykloidy w zakresie kąta φ od 0 do 2·π można obliczyć za pomocą następującego wzoru:

[3]

Zapis wyrażenia w formacie TeX-a:

L=-4\cdot R_t\cdot\left[\cos\left(\frac{\varphi_2}{2}\right)-\cos\left(\frac{\varphi_1}{2}\right)\right]

gdzie:

    φ1 - kąt początkowy obrotu koła zwierający się w przedziale od 0 do 2·π radianów;
  • φ2 - kąt końcowy obrotu koła zwierający się w przedziale od 0 do 2·π.

Kąty φ1 i φ2 powinny spełniać następującą nierówność: φ1<φ2.

Cykloida - zastosowanie

W obróbce skrawaniem, narzędzia skrawające wykonują ruch, który można opisać za pomocą cykloidy (najczęściej wydłużonych). Taką trajektorię ruchu mają narzędzia skrawające frezarki np. frezy palcowe, czołowe, głowice frezerskie ale również szlifierki czołowe. Istnieją programy, które służą do generowania symulowanej powierzchni uzyskanej za pomocą danej obróbki technologicznej przy zastosowaniu różnych parametrów obróbki (posuw narzędzia skrawającego, prędkość obrotowa, liczba ostrzy skrawających lub średnia gęstość upakowania ziaren ściernicy szlifującej przypadająca na jednostkę powierzchni ściernicy).

W fizyce cykloidy mają wiele wspólnego z krzywą najkrótszego czasu zwaną również Brachistochrona, której trajektoria odpowiada wycinkowi łuku krzywej cyklometrycznej.

Krzywa najkrótszego czasu
Rys. 2
Krzywa najkrótszego czasu (brachistochrona) w akcji.
Źródło:

Grafika żółwia - kreślenie cykloidy

W Pythonie znajduje się moduł turtle, który umożliwia kreślenie dwuwymiarowych krzywych. Oto kod programu, który wykreśli wycinek cykloidy:

Listing 2
  1. import turtle as tr
  2. import math as mt
  3. tr.pensize(10)
  4. def drawCykloid(angle, ray):
  5. for i in range(angle):
  6. tr.pencolor((i / angle, 1 - i / angle, 0))
  7. tr.goto(ray * (mt.radians(i)-mt.sin(mt.radians(i))), ray * (1 - mt.cos(mt.radians(i))))
  8. drawCykloid(2 * 360, 40)

Więcej na temat pisania programów w Pythonie oraz na temat grafiki żółwia można poczytać na stronie tutaj.

Komentarze