見出し画像

Processing #1 対数螺旋の可視化

こんにちは、kazumaです。今回は、processingを使った対数螺旋の図示を目標に、整理ノートの役割として書いていきます。

そもそも対数螺旋とは?

対数螺旋(たいすうらせん、英: logarithmic spiral)とは、自然界によく見られる螺旋の一種である。等角螺旋(とうかくらせん、英: equiangular spiral)、ベルヌーイの螺旋ともいい、「螺旋」の部分は螺線、渦巻線(うずまきせん)、匝線(そうせん)などとも書く。ヤコブ・ベルヌーイ(ジャック・ベルヌーイ)は、17世紀のスイスの数学者。
(wikipediaより引用)

今回のコード

float angle;
float da = 5;
float x,y;
float p = 100;
float s = 100;
float a = 5.0;//らせんの巻き方、大きいと早く広がる
float b = 0.12;//らせんの巻き方、大きいほど早く広がる
float d = 8;

void setup (){
size(200,200);
background(255);}

void draw(){
//background(255);
x = a*exp(radians(angle)*b)*cos(radians(angle))+width/2.0;
y = a*exp(radians(angle)*b)*sin(radians(angle))+width/2.0;
line(x,y,p,s);
if(x<0 && y<0){
 angle = 0; 
 p=width/2;
 s=width/2;
 a -= 0.5;}
else{
 angle += da; 
 p = x;
 s = y;}}

出力結果

一様螺旋になったのですが、なんかこれだけだとなぜか悲しいので、aの値をずらして、上に重ねてみる。

ちょっと面白くなってきたので、背景を黒にして、ランダムな色にしてみる。

思ったより、緑寄りになりました。ランダムなはずなのに(ランダムだからと言って、色が様々な色になるとは限らないfromNewton)

というわけで、今回は対数螺旋をprocessingによって可視化してみました。
ここまで読んでいただきありがとうございます。良ければ別の記事も読んでいただけると嬉しいです。

この記事が気に入ったらサポートをしてみませんか?