リサジュー曲線

リサジュー曲線(Lissajous curve)とは,縦方向と横方向の2つの単振動を組み合わせてできる曲線です。リサジュー図形とも言われます。

詳しくは、Wikipediaのリサジュー図形 を見て下さい。
リサージュと書かれているページもあるようですが、発音的には、リサジューが近いようです。実際に聞いたことがないのでわかりませんが...

textBoxに適当な数値を入れて、Startボタンを押せば、線を描き始めます。


以下のような式で描く点を求めています。

 x = r * sin(a*t)   0<t<2π
 y = r * sin(b*t)

また、曲線を描いている様子を表現するために、DispatcherTimerクラスを使い、1秒間隔で線を描いています。

このプログラムでは、色を順に変えて線分を引くようにしていますので、その部分のコード(NextColorメソッド)がリサジュー曲線を描く本質部分とは無関係です。

以下に、C#+Silverlightのコードを示します。


■LissajousFigure.cs


■MainPage.xaml.cs
 

■MainPage.xaml