【曲線-26】リマソンを描いてみよう

リマソン(蝸牛形)と言われる曲線です。
パラメータを調整し、-90度回転させてNTTロゴのダイナミックループに似せてみました。
微妙に違いますけど。

x=c*k*cos(th)+a*cos(2*th)
y=c*k*sin(th)+a*sin(2*th)

NTTロゴの生まれる経緯についてはこちらのブログにあります。

中西元男実験人生 NTT真藤総裁&社長(想い出の名経営者1)

おやおや、よく調べるとロゴの原案は飯守恪太郎氏とのこと
企業ロゴの第一人者、飯守恪太郎氏はNTTロゴの発案者


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 240
%%Title:Limason(リマソン/蝸牛形)を描く
/a 60 def % パラメータ
/k 10 def % パラメータ
/c 5 def % パラメータ
0 0 240 240 rectfill % 黒背景
120 120 translate % 座標の原点を中央に移動

newpath % パスの初期化
0 1 360 { % 0から1づつ増分し360まで{ }内を繰り返す
    /th exch def % 制御変数をth(角度)に入れる
    % リマソンの数式
    /x c k mul th cos mul a 2 th mul cos mul add def
    /y c k mul th sin mul a 2 th mul sin mul add def
    % thが0なら始点を置き、さもなくば線を引く
   th 0 eq { x y moveto} { x y lineto } ifelse
} for
1 1 1 setrgbcolor % 白色
2 setlinewidth % 線幅2ポイント
stroke % 線を描画

cパラメータを増分させてリマソンを拡大します。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 240
%%Title: Limason(リマソン/蝸牛形)を描く
/a 60 def % パラメータ
/k 10 def % パラメータ
0 0 240 240 rectfill % 黒背景
120 120 translate % 座標の原点を中央に移動

newpath % パスの初期化
0 1 5 { % 0から1づつ増分し5まで{ }内を繰り返す
    /c exch def % 制御変数をcに入れる
    0 1 360 { % 0から1づつ増分し360まで{ }内を繰り返す
        /th exch def % 制御変数をth(角度)に入れる
        % リマソンの数式
        /x c k mul th cos mul a 2 th mul cos mul add def
        /y c k mul th sin mul a 2 th mul sin mul add def
        % thが0なら始点を置き、さもなくば線を引く
        th 0 eq { x y moveto} { x y lineto } ifelse
    } for
} for
1 1 1 setrgbcolor % 白色
2 setlinewidth % 線幅2ポイント
stroke % 線を描画

aとkの値を変えています。