動かない対数らせん(ベルヌーイのらせん)

2022.05.21 改訂
対数らせん【やっとできました!】

巻き数 =

巻き数 = 0 ですね。

エラーステータス= 0


【解説】
「らせん」には、曲率半径が「等比数列」と「等差数列」の2種類があります。
今回は「等比数列」によるらせんです。「対数らせん」と呼ばれています。
曲率半径が、回転角キザミ(2π/100)ごとに✗1.01倍 ずつ大きくなります。
等差数列による「代数らせん」と比べてみて、どちらが自然に感じますか?
固定ページに以下のHTMLとPHPを書きます。

<h6>2022.05.01<br/>らせん(等比数列)【やっとできました!】</h6>

<form method="post">
<p id="seisu">巻き数 = <input type="number" name="num" value="">
<input type="submit">
</p>
</form>
<?php

$cmd = "rm ./tempcoil*.png";
exec($cmd);

$n = intval(htmlspecialchars(@$_POST['num'], ENT_QUOTES, 'UTF-8'));

$cmd = "~/anaconda3/bin/python3.9 ./pythons/coil-1-geometric-1.py ".$n;
exec($cmd, $out, $st);
$fname = $out[0];
$file = "https://kero-world.com/".$fname;
echo "<p>巻き数 = $n ですね。</p>";
echo "<p>エラーステータス= $st</p>";
?>

<html>
<img src = <?=$file?> >
</html>

サーバーに以下のPythonプログラムをアップロードしておきます。

import sys
import numpy as np
import math
import matplotlib.pyplot as plt
import datetime

t_delta = datetime.timedelta(hours=9)
JST = datetime.timezone(t_delta, 'JST')

fig = plt.figure()

x,y = [],[]
maki =  float(sys.argv[1])

r = 1.0
kaiten = np.array(np.arange(0, 2*maki*np.pi, 2*np.pi/100))
for i in kaiten:
    r = r * 1.01
    x.append(-r * math.cos(i))
    y.append(-r * math.sin(i))
plt.plot(x,y)
now = datetime.datetime.now(JST)
d = now.strftime('%Y%m%d%H%M%S')
file = "tempcoil" + d + ".png"

print(file)

fig.savefig(file)

「動かない対数らせん(ベルヌーイのらせん)」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です