       Re: Doesn't work in Mathematica 8

• To: mathgroup at smc.vnet.net
• Subject: [mg120631] Re: Doesn't work in Mathematica 8
• From: Heike Gramberg <heike.gramberg at gmail.com>
• Date: Sun, 31 Jul 2011 23:35:30 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201107311126.HAA05223@smc.vnet.net>

```I guess the problem is that the function plotted is complex almost
everywhere in the xy-plane which is something ContourPlot doesn't like.
If you look at the function carefully, however, you can get it to work
but it takes a bit of effort.

The graph plotted is the solution of

((x/7)^2 g[Abs[x] - 3] + (y/3)^2 g[y + (3 Sqrt)/7] -
1) (Abs[x/2] - ((3 Sqrt - 7)/112) x^2 - 3 +
Sqrt[1 - (Abs[Abs[x] - 2] - 1)^2] -
y) (9 g[(1 - Abs[x]) (Abs[x] - 3/4)] - 8 Abs[x] -
y) (3 Abs[x] + .75 g[(3/4 - Abs[x]) (Abs[x] - 1/2)] -
y) (9/4 g[((1/2 - x) (1/2 + x))] -
y) ((6 Sqrt)/
7 + (3/2 - Abs[x]/2) g[(Abs[x] - 1)] - (6 Sqrt)/14 Sqrt[
4 - (Abs[x] - 1)^2] - y)==0

where g[a_]:=Sqrt[Abs[a]/a]. Note that g[a] is basically the same as
PieceWise[{{1,a>0},{I,a<0}}].
Since the left-hand side is the product of 6 parts it's equal to zero if
and only if any of those parts is zero. Setting the
first part to zero gives something like

((x/7)^2 g[(Abs[x] - 3)] + (y/3)^2 g[(y + (3 Sqrt)/7)] - 1)==0

=46rom the definition of g we find that this has real solutions for x
and y if Abs[x]>3 and y> - (3 Sqrt)/7) fin which case we get

(x/7)^2 + (y/3)^2 - 1 ==0

Therefore, the part of the plot corresponding to the first part being
equal to zero becomes something like

pl1 = ContourPlot[((x/7)^2 + (y/3)^2 - 1) == 0, {x, -8, 8}, {y,
-5,
5}, RegionFunction -> ((Abs[#1] >
3 && #2 > -(3 Sqrt)/7) &)]

If you do the same with the other parts you get

pl2 = ContourPlot[(Abs[x/2] - ((3 Sqrt - 7)/112) x^2 - 3 +
Sqrt[1 - (Abs[Abs[x] - 2] - 1)^2] - y) == 0, {x, -7, 7}, {y,
-3,
3}]
pl3 = ContourPlot[(9 - 8 Abs[x] - y)  == 0, {x, -7, 7}, {y, -3,
3},
RegionFunction -> ((3/4 < Abs[#] < 1) &)]
pl4 = ContourPlot[(3 Abs[x] + 3/4 - y) == 0, {x, -7, 7}, {y, -3,
3},
RegionFunction -> ((1/2 < Abs[#1] < 3/4) &)]
pl5 = ContourPlot[(9/4 - y) == 0 , {x, -7, 7}, {y, -3, 3},
RegionFunction -> ((Abs[#1] < 1/2) &)]
pl6 = ContourPlot[((6 Sqrt)/
7 + (3/2 - Abs[x]/2) - (6 Sqrt)/14 Sqrt[
4 - (Abs[x] - 1)^2] - y) == 0 , {x, -7, 7}, {y, -3, 3},
RegionFunction -> ((Abs[#1] > 1) &)]

And combining everything gives

Show[{pl1, pl2, pl3, pl4, pl5, pl6}]

Heike

On 31 Jul 2011, at 12:26, Scott Blomquist (sblom) wrote:

> An equation for plotting a Batman symbol has been making the rounds on
> the internet. I figured it'd be fun to reproduce the originator's
> result for myself in Mathematica 8, so I carefully typed it in and
> tried a ContourPlot[batman[x,y]==0,{x,-8,8},{y,-4,4}]. It didn't
work.
> I broke it down into constituent pieces and plotted each of the
> topmost () sections by itself. Most of them work as expected, but a
> few of them don't.
>
> indicate some luck getting the equation to work with ImplicitPlot:
> =
>
> Do any of you have any tips for fixing my attempt to ContourPlot this?
> Any ideas why this is working with older versions of Mathematica but
> not the latest one?
>

```

• Prev by Date: Re: In Version 8, Combinatorial&GraphTheory functions confuse me completely
• Next by Date: Re: Mathematica 8 remote parallel kernels
• Previous by thread: Doesn't work in Mathematica 8
• Next by thread: Re: Doesn't work in Mathematica 8