はじめに
「代数曲線」のwikiにチルンハウスの三次曲線リンクがあるが、日本語ページがないので、英語ページを参照しつつメモ。
方程式
極座標表記
r = Asec^3(\frac{\theta}{3})
媒介変数表記
t=tan(\frac{\theta}{3})として
x=A(1-3t^2)
y=At(3-t^2)
もしくは、
27Ay^2=(A-x)(8A+x)^2
交差点が原点になるように、右に8A移動した式は、それぞれ、
r=9A(sec\theta-3sec\theta tan^2\theta)
x=3A(3-t^2)
y=At(3-t^2)
x^3=9A(x^2-3y^2)
Sin Cos Tan Sec Cosec Cot
ここで、secは1/cosを指す。
1 / cos = sec
1 / sin = cosec(csc)
1 / tan = cot
コード
processing
size(800, 800);
translate(400, 400);
background(255);
fill(0);
text("(1,1)", 20, -20);
text("(2,2)", 40, -40);
text("(8,8)", 160, -160);
noFill();
stroke(0);
line(-400, 0, 400, 0);
line(0, -400, 0, 400);
rect(-20, -20, 40, 40);
rect(-40, -40, 80, 80);
rect(-160, -160, 320, 320);
stroke(255, 0, 0);
beginShape();
for (float th=-2f*PI; th<2f*PI; th+=0.01) {
float t = tan(th/3f);
float x=1f-3f*t*t;
float y=t*(3f-t*t);
vertex(20*x, 20*y);
}
endShape();
右に8A移動した場合は
for (float th=-2f*PI; th<2f*PI; th+=0.01) {
float t = tan(th/3f);
float x=3f*(3f-t*t);
float y=t*(3f-t*t);
vertex(20*x, 20*y);
}
wolfram alphaを用いて
(1-x)(8+x)^2-27y^2をプロット,x=-14..2, y=-8..8
9(x^2-3y^2)-x^3をプロット,x=-6..10, y=-8..8
参考サイト