------------定義
複素三角関数は複素指数関数で定義される。
複素数をZと書く。
sin(Z)={exp(-iZ)-exp(iZ)}/2i,
cos(Z)={exp(-iZ)+exp(iZ)}/2.
<Fortran90では複素三角関数が実装されています>
複素平面で原点(0,0)から1点(Lr,Li)へ直線を結ぶ。
このLr,Liは実数である。ここでは2個の実数で複素数を表示する。
その直線上を等間隔にN個の点をとる。
0,Nは実数の0,2πに対応させ、仮の1周期とする。
0,4πに対応させることもある、仮の2周期である。
各点{J}の座標は(dxJ,dyJ),J=integer>=0である。
dx=Lr/N, dy=Li/N. dx,dyも実数である。
各J点(名称はJで、座標値は複素数)において、
2複素数ωs,ωcを用いて、1点(cos(ωcJ),sin(ωsJ))を定義する。
この点は4D空間内にあって、N個の点列は1つの軌跡を描く。
この軌跡を4つの平面(R,R),(R,I),(I,R),(I,I); (cosZ,sinZ)=(X,Y)
で描く。
描画点の輝度を、0~π/2で255~55まで減少させる。
2周期の場合は0~πとする。
それでどういう順序で点描しているかが分かる。
描画の色彩はRRは黄色、RIはマゼンタ、IRはシアン、IIは白色とする。
描画面の大きさはX,Y方向±2とし、dots数は860*860である。
背景色は黒、座標軸と±1の位置をしめすために緑色の点線を背景に描く。
軸の方向は水平がX軸、左側が負、垂直がY軸、上側は負である。
------------
例1: 4D 円
period _1.
ximg _1.0 :=Li, Lr=2π
FQx real_1.0
FQx img _0.
FQy real_1.0
FQy img _0.
以下、RR,RI,IR,II面の順に示します。
実数のリサジュー円跡に相当するのがRR面ですが、Li=0でなく=1なので違う形です。
例2:
>>複素平面で原点(0,0)から1点(Lr,Li)へ直線を結ぶ。>>
この直線が実軸から極端に離れなければ(|Li|~小数)、
実数リサジューの面影があって、目新しい図は少ないです。
それらの中で4図を示します。
<L23RI.png>
period _2.
ximg _0.3
FQx real_2.0
FQx img _0.
FQy real_3.0
FQy img _0.
<L32vRR.png>
period _30. <---思い切って30周期です
ximg _0.21
FQx real_2.9
FQx img _0.002
FQy real_2.1
FQy img _0.001
<NowRR.png & NowII.png> モアレが美しいですね
period _21.24
ximg _0.48104774926<---2e/10
FQx real_2.7182818285<---これはe(無理数)です
FQx img _0.0
FQy real_2.7182818285
FQy img _0.0
======= 2024.5.6 追記
>>複素平面で原点(0,0)から1点(Lr,Li)へ直線を結ぶ。
このLr,Liは実数である。ここでは2個の実数で複素数を表示する。
その直線上を等間隔にN個の点*をとる。
0,Nは実数の0,2πに対応させ、仮の1周期とする。
0,4πに対応させることもある、仮の2周期である。>>
*)この点に相当するものは、実数のリサジューでは媒介変数です。
---
媒介変数は複素平面上の直線である必要はなく、任意の曲線/面でもok。
ここでは、次のような曲線,面で複素リサジュー図を作ります。
<RcirOPL.png> 面は乱数で代用します。この媒介面で複素三角リサジューを作ります。
区間は実軸上では[-π,π]、虚軸では[-1,1]です。
<RcirO-(RR,RI,IR,II).png> 画像スペースを節約するため、黒色だけの空間をカットしました。
これらは、一種の円と言えないこともないです。
drawing parameters:
rad _-3.1415927
radL _3.1415927
FQx real_1.0
FQx img _0.
FQy real_1.0
FQy img _0.
---- 2024.5.18 追記
複素平面内でいろいろな媒介平面を作りリサジューを描いてみました。
報告するような図形的に面白いものは無いです。
無報告も残念なので1つだけ。
実軸上に数珠状に媒介平面を定義し、着色したRI図です。
cWaveDT2_
rad _-1.0
radL _6.2
FQx real_7.
FQx img _0.2
FQy real_13.
FQy img _0.2