2020/03/01

リサジュー曲線の書き方(1)

 なぜか突然書きたくなったので調べてみた。


リサジュー曲線とは


 下記はWikipediaからの引用です。

 リサジュー図形(リサジューずけい、Lissajous figure)あるいはリサジュー曲線 (Lissajous curve) とは、互いに直交する二つの単振動を合成して得られる平面図形のこと。“リサージュ”と表記されることもある[1][2]。それぞれの振動の振幅、振動数、初期位相の違いによって、多様な曲線が描かれる。振動数の比が無理数の場合は閉曲線にはならず、軌道は有限の平行四辺形領域を稠密に埋める。

-Wikipedia, リサジュー図形

 個人的には『リサージュ』と記憶していたのですが、Wikipediaでは『リサジュー』となっていました。


数式表現


\( \begin{cases} x(t) = \cos(at)\\ y(t) = \cos(bt+c) \end{cases} \) \(\quad(0 \le t \lt 2\pi)\)

書き方


 R言語での書き方は以下のとおり。ここでは\(a=5, b=7, c=\frac{\pi}{2}\)とする。

> a = 5
> b = 7
> c = pi/2
> t = seq(0, 2*pi, length=300)
> svg("test.svg", ,width=5, height=5)
> plot(cos(a*t), cos(b*t+c), type="l", asp=1, col=2, lwd=2)
> dev.off()

R言語だと簡潔に書けるのが良いですね。


追記


 パラメータ \( a, b, c\) を色々振った実行結果をご紹介します。

0 件のコメント:

コメントを投稿

【備忘録】時系列データの編集方法(R言語, tidyverse)

TimeSeries.knit 1 サンプルデータ作成 2 日付単位に集計する 2.1 月毎集計 2.2 四半期毎集計 ...