概要
Long description
"It's not complex-analytic, but
makes nice-looking heart shapes out of circles centered on the origin (different for different radii)" [1]
so in Maxima notation :
w:x+y*%i;
c:x+f(w)*%i;
where
f(w):=sqrt(abs(realpart(w)))-imagpart(w);
Compare it with
Maxima source code
/*
batch file for maxima
mapping from :
the circle with center=0 and radius=r
given by equation : abs(2*z)=1
where : z:x+y*%i=r*cos(t)+%i*r*sin(t) =
onto
non-cardioid heart curve
is given by equation:
c:x+(sqrt(abs(x))- y)*%i;
*/
/* */
f(w):=sqrt(abs(realpart(w)))-imagpart(w);
iMax:1000; /* number of points to draw */
dt:1/iMax;
r:4; /* radius of circle */
/*
circle D={w:abs(2w)=1 } where w=l(t)
t is angle in turns ; 1 turn = 360 degree = 2*Pi radians
*/
l(t):=r*%e^(%i*t*2*%pi)/2;
/* point to point method of drawing */
t:0; /* angle in turns */
/* compute first point of curve, create list and save point to this list */
/* point of unit circle w:l(t); */
w:rectform(ev(l(t), numer)); /* "exponential form prevents allroots from working", code by Robert P. Munafo */
circleList:makelist (w, j, 1, 1);
for i:1 thru iMax step 1 do
block
(t:t+dt,
w:rectform(ev(l(t), numer)), /* "exponential form prevents allroots from working", code by Robert P. Munafo */
circleList:cons(w,circleList)
);
/* convert one list into 2 lists */
xxCircle:map(realpart, circleList);
yyCircle:map(imagpart, circleList);
/* convert one list into 2 lists and maps */
xxHeart:map(realpart, circleList);
yyHeart:map(f, circleList);
load(draw); /* Mario Rodríguez Riotorto http://www.telefonica.net/web2/biomates/maxima/gpdraw/index.html アーカイブされたコピー at the Wayback Machine */
draw(file_name = "a",
terminal = 'png, pic_width = 1000,
pic_height = 500,
columns = 2,
gr2d(title = " circle D={w:abs(2*w)=4 } ",
points_joined =true,
color = red,
point_type = 0,
points(xxCircle,yyCircle)),
gr2d(title = "non-cardioid heart shape curve ",
points_joined =true,
color = blue,
point_type = 0,
points(xxHeart,yyHeart))
);
References
ライセンス
この作品の著作権者である私は、この作品を以下のライセンスで提供します。
- あなたは以下の条件に従う場合に限り、自由に
- 共有 – 本作品を複製、頒布、展示、実演できます。
- 再構成 – 二次的著作物を作成できます。
- あなたの従うべき条件は以下の通りです。
- 表示 – あなたは適切なクレジットを表示し、ライセンスへのリンクを提供し、変更があったらその旨を示さなければなりません。これらは合理的であればどのような方法で行っても構いませんが、許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きます。
- 継承 – もしあなたがこの作品をリミックスしたり、改変したり、加工した場合には、あなたはあなたの貢献部分を元の作品とこれと同一または互換性があるライセンスの下に頒布しなければなりません。
https://creativecommons.org/licenses/by-sa/3.0CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 truetrue
|
この文書は、フリーソフトウェア財団発行のGNUフリー文書利用許諾書 (GNU Free Documentation License) 1.2またはそれ以降のバージョンの規約に基づき、複製や再配布、改変が許可されます。不可変更部分、表紙、背表紙はありません。このライセンスの複製は、GNUフリー文書利用許諾書という章に含まれています。http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
|
あなたは上記のライセンスから、どれか一つ以上を選択できます。