Re: Crinkled Hyperbola (ContourPlot in Manipulate)
- To: mathgroup at smc.vnet.net
- Subject: [mg77844] Re: Crinkled Hyperbola (ContourPlot in Manipulate)
- From: Szabolcs <szhorvat at gmail.com>
- Date: Mon, 18 Jun 2007 06:56:51 -0400 (EDT)
- Organization: University of Bergen
- References: <f532pg$3d4$1@smc.vnet.net>
Bruce Colletti wrote:
> Re Mathematica 6.0 under WinXP.
>
> As the slider moves, a point glides along the hyperbola:
>
> Manipulate[ContourPlot[x^2-y^2==1,{x,-3,3},{y,-3,3},Epilog->{
> PointSize at 0.02,Point@{Cosh@h,Sinh@h}}],
> {h,-1.5,1.5}]
>
> However, the moving point crinkles the plot, which restores itself when the mouse button is released.
>
> What causes the crinkling (this seems tied to ContourPlot, since no crinkling occurs when I use Plot[Sqrt[x^2-1],...])?
>
> Thankx.
>
> Bruce
>
One solution is to set PerformanceGoal explicitly in ContourPlot:
Manipulate[ContourPlot[x^2-y^2==1,{x,-3,3},{y,-3,3},Epilog->{
PointSize at 0.02,Point@{Cosh@h,Sinh@h}}, PerformanceGoal -> "Quality"],
{h,-1.5,1.5}]
I am not good with the new Dynamic things, but I suppose that in this
particular case it is better to precompute the contour plot. This way
you can avoid the (potential) performance problems that Manipulate is
trying to solve by setting PerformanceGoal -> "Speed" while dragging the
slider.
cp=ContourPlot[x^2-y^2==1,{x,-3,3},{y,-3,3}]
Manipulate[
Show[cp, Graphics[{PointSize at 0.02,Point@{Cosh@h,Sinh@h}}]],
{h,-1.5,1.5}]
Szabolcs