この質問をどこで行うか(数学とここの間)がよくわかりませんでした
この式を使って対数螺旋を描いてみます
それは機能します(画面にスパイラルが表示されます)が、ピッチを変更すると(a)スパイラルはピッチを変更せず、回転とサイズのみが変更されます(aを1に設定すると円が作成されますが、そうではありません)
私はそれらを試しました:
double step = (end - start) / sample;
for (int i = 1;i <= sample;i++) {
double t = start+i*step;
coordinates[i-1][0] = a * Math.pow(Math.E,b*t) * Math.cos(t);
coordinates[i-1][1] = a * Math.pow(Math.E,b*t) * Math.sin(t);
}
(aとbは定数、開始= -4 * PI、終了= 4 * PI)
と
double step = (end - start) / sample;
for (int i = 1;i <= sample;i++) {
double r = start+i*step;
double t = (1/b)*Math.log(r/a);
coordinates[i-1][0] = r* Math.cos(t);
coordinates[i-1][1] = r* Math.sin(t);
}
(aとbは定数、開始= 0、終了= 10)
数式に大きな誤りがあったと思いますが、どちらがわかりません。役立つ場合は出力画像を提供できますが、方法がわかりません
編集:r = a exp(θcotb)を使用して動作させることに成功しました
double r = Math.pow(a,t*(1/Math.tan(b)));
しかし、他の数式がうまくいかなかった理由がまだわかりません。そのため、この質問に答えるのではなく編集しました。