Estou tentando me livrar da linha do meio. Quaisquer que sejam as mudanças que eu faça, parece que as pioro. Eu apreciaria se alguém pudesse me mostrar como desenhar esse cobordismo corretamente.
\begin{pspicture}
\pscustom{
\psbezier[showpoints=true](1.5,2.5)(1.5,1.1)(.4,1.6)(.5,0)
\psline(-0.5,0)
\psbezier[showpoints=true](-0.5,0)(-.4,1.6)(-1.5,1.1)(-1.5,2.5)
\psline(-.5,2.5)
\psbezier[showpoints=true](-.5,2.5)(-.6,1.5)(0.6,1.5)(.5,2.5)
\psline(1.5,2.5)}
\end{pspicture}
Responder1
Método normal
\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}[showgrid=true](-2,-1)(2,3)
\pscustom
{
\psset{showpoints}
\psbezier(1.5,2.5)(1.5,1.1)(.4,1.6)(.5,0)
\psbezier(-.5,0)(-.4,1.6)(-1.5,1.1)(-1.5,2.5)
\psbezier[liftpen=1](-.5,2.5)(-.6,1.5)(.6,1.5)(.5,2.5)
\closepath
}
\end{pspicture}
\end{document}
Método anormal
Propriedades simétricas são levadas em consideração com \reversepath
, \scale
, etc. Infelizmente, \nodexn
e (!N-<nodename>.x N-<nodename>.y)
não podem ser usadas juntas aqui, então o código se torna muito complicado.
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-eucl}
\psset{saveNodeCoors}
\begin{document}
\begin{pspicture}[showgrid=true](-2,-1)(2,3)
\pstGeonode[PointName=none,PointSymbol=none]
(.5,2.5){A}
(.6,1.5){B}
(-.6,1.5){C}
(-.5,2.5){D}
% P = (A + B)/2
(!N-A.x N-B.x add 2 div N-A.y N-B.y add 2 div){P}
% Q = ((A + C)/2 + B)/2
(!N-A.x N-C.x add 2 div N-A.y N-C.y add 2 div N-B.y add 2 div exch N-B.x add 2 div exch){Q}
% R = (A + D + 3(B + C))/8
(!N-A.x N-D.x add N-B.x N-C.x add 3 mul add 8 div N-A.y N-D.y add N-B.y N-C.y add 3 mul add 8 div){R}
\def\path
{
\psbezier(.5,0)(.4,1.6)(1.5,1.1)(1.5,2.5)
\psbezier[liftpen=1](!N-A.x N-A.y)(!N-P.x N-P.y)(!N-Q.x N-Q.y)(!N-R.x N-R.y)
}%
\pscustom
{
\psset{showpoints}
\path
\reversepath
\scale{-1 1}
\path
\closepath
}
\end{pspicture}
\end{document}
Aviso!
(<nodename>)
e (!\pstGetNodeCenter{<nodename>} <nodename>.x <nodename>.y)
não pode ser dimensionado por \scale{}
. É por isso que uso (!N-<nodename>.x N-<nodename>.y)
aqui.
Responder2
Dentro \pscustom
apenas oprimeiro \psbezier
tem quatro pontos, para todos os outros o ponto atual também é o primeiro ponto bézier:
\documentclass[border=5mm]{standalone}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}(-2,0)(2,2.5)
\pscustom{
\psbezier[showpoints](1.5,2.5)(1.5,1.1)(.4,1.6)(.5,0)% 4 points
\psline(-0.5,0)%% is also the first bezier point for the next \psbezier
\psbezier[showpoints](-.4,1.6)(-1.5,1.1)(-1.5,2.5)% three
\psline(-.5,2.5)
\psbezier[showpoints](-.6,1.5)(0.6,1.5)(.5,2.5)% three
\closepath
}
\end{pspicture}
\end{document}
Se você usar 4 pontos, não há necessidade do \psline
masum liftpen
opção:
\documentclass[border=5mm]{standalone}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}(-2,0)(2,2.5)
\pscustom{
\psbezier[showpoints](1.5,2.5)(1.5,1.1)(.4,1.6)(.5,0)
\psbezier[showpoints](-0.5,0)(-.4,1.6)(-1.5,1.1)(-1.5,2.5)
\psbezier[showpoints,liftpen=1](-.5,2.5)(-.6,1.5)(0.6,1.5)(.5,2.5)
\closepath
}
\end{pspicture}
\end{document}