Solución:
Puede llenar si usa parametricplot
:
documentclass[10pt,x11names]{article}
usepackage{pstricks-add}
usepackage{auto-pst-pdf}
pagestyle{empty}
begin{document}
begin{figure}[!ht]
centering
psset{algebraic=true,dimen=middle,dotstyle=o,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25,unit=3,plotpoints=2000}
begin{pspicture*}(-2,-2)(2,2)
psset{linecolor=SteelBlue4, linewidth=1.2pt}
pscustom[fillstyle=solid, fillcolor=lightgray!25!LightSteelBlue2!10!]{
parametricplot{-0.99}{0}{3*t/(1 + t^3) | 3*t^2/(1 + t^3)}
parametricplot{-600}{-1.01}{3*t/(1 + t^3) | 3*t^2/(1 + t^3)}
}
pscustom[fillstyle=solid, fillcolor=LightSteelBlue2!25! ]{
parametricplot{0}{200}{3*t/(1 + t^3) | 3*t^2/(1 + t^3)}
}
psline[linewidth=0.4pt, linecolor=black](-2.5; 45)(2.5 ; 45)
psline[linewidth=0.4pt, linecolor=black](-2,1)(2,-3)
psaxes[linecolor=gray,xAxis=true,yAxis=true,labels=none,ticks=none]{->}(0,0)(-2,-2)(2,2)
end{pspicture*}
caption{Folium of Descartes}
end{figure}
end{document}
Hecho con mfpic
, una interfaz LaTeX para MetaPost. Para dibujar el folio puede utilizar la forma cartesiana directamente, gracias a la práctica levelcurve
comando de este paquete, siempre que lo escriba como una inecuación y proporcione un punto que verifique esta desigualdad (aquí (1, 1)). La curva resultante se rellena con el gfill
comando con el color deseado como opción.
documentclass{standalone}
usepackage[metapost]{mfpic}
setlength{mfpicunit}{1cm}
opengraphsfile{jobname}
begin{document}
begin{mfpic}[2]{-0.5}{2}{-0.5}{2}
drawgfill[blue+green]levelcurve{(1, 1), 0.01}{y**3 - 3x*y + x**3 < 0}
doaxes{xy}
end{mfpic}
closegraphsfile
end{document}
Para ser compilado primero con (PDF) LaTeX, luego con MetaPost, y finalmente con (PDF) LaTeX. El resultado es el siguiente:
En Metapost, puede hacer que el folio sea un camino cerrado y llenarlo.
He usado la forma polar (bastante más simple) de la siguiente ecuación.
prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
u := 2cm;
path xx, yy, folium;
xx = (1/2 left -- 2 right) scaled u;
yy = (1/2 down -- 2 up) scaled u;
drawarrow xx withcolor .4 white;
drawarrow yy withcolor .4 white;
folium = (origin
for theta=1 step 1 until 89:
-- (3*sind(theta)*cosd(theta)/(sind(theta)**3+cosd(theta)**3),0) rotated theta
endfor
-- cycle) scaled u;
fill folium withcolor .9[blue,white];
draw folium withcolor .67 blue;
endfig;
end.
Y aquí hay una versión más completa, con la ecuación trasladada a una función y mostrando cómo extender el folio y seleccionar el bucle como una ruta secundaria del mismo.
prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(2);
u := 2cm;
path xx, yy, folium, loop, asymptote;
xx = (2 left -- 2 right) scaled u;
yy = (2 down -- 2 up) scaled u;
drawarrow xx withcolor .4 white;
drawarrow yy withcolor .4 white;
% "a" is the scale factor
a = 1;
vardef r(expr t) = right scaled (3*a*sind
rotated t enddef;
% define the folium with some wings
b = 30; % should be less than 45
folium = (r(-b) for theta=1-b step 1 until 89+b: -- r(theta) endfor -- r(90+b)) scaled u;
% define the loop to be the part from theta=0 to theta=90
loop = subpath(b,b+89) of folium -- cycle;
% define an appropriate segment of the asymptote
asymptote = ( xpart point 0 of folium, -xpart point 0 of folium-a*u)
-- (-ypart point infinity of folium-a*u, ypart point infinity of folium );
% now draw them
fill loop withcolor .9[blue,white];
draw folium withcolor .67 blue;
draw asymptote dashed evenly;
endfig;
end.