Re: Plotter for complex polynomials (complex coefficients)
- To: mathgroup at smc.vnet.net
- Subject: [mg124718] Re: Plotter for complex polynomials (complex coefficients)
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 2 Feb 2012 04:55:35 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201202010851.DAA15238@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
This seems a little faster:
Manipulate[
Module[{f, z},(*Convert 2D point to complex point*)
f[z_] = a.{1, I} z^3 + b.{1, I} z^2 + c.{1, I} z + d.{1, I};
Plot3D[Abs@f[x + y I], {x, -6, 6}, {y, -6, 6}, PlotPoints -> 100,
MaxRecursion -> 2, Mesh -> 11,
MeshStyle -> Directive[Gray, AbsoluteThickness[0.01]],
MeshFunctions -> ({x,
y} \[Function] (\[Pi] - Abs@Arg[f[x + I y]])/\[Pi]),
ColorFunctionScaling -> False,
ColorFunction -> ({x, y} \[Function]
Hue[0.425 \[LeftFloor]12 (\[Pi] -
Abs@Arg@f[x + I y])/\[Pi]\[RightFloor]/12, sat, bri]),
PlotStyle -> Opacity[opac],
AxesLabel -> {"x", "i y",
"|f(x + iy)|"}]],(*Item["The complex coefficients"],*){a, {-2, \
-2}, {2, 2}}, {b, {-2, -2}, {2, 2}}, {c, {-2, -2}, {2,
2}}, {d, {-2, -2}, {2, 2}}, {{opac, 0.75, "Opacity"}, 0,
1}, {{sat, 0.75, "Saturation"}, 0, 1}, {{bri, 1, "Brightness"}, 0,
1}, ControlPlacement -> {Left, Left, Left, Left, Bottom, Bottom,
Bottom}]
Bobby
On Wed, 01 Feb 2012 02:51:32 -0600, Chris Young <cy56 at comcast.net> wrote:
> Not sure if this is done right. Could I speed it up by using Set
> instead of SetDelayed in the converter to complex point? If so,
> shouldn't I protect the "z" by wrapping the definition in a Module with
> "z" as a local variable?
>
> I have the coloring going from green for 0 to red for Ϥ and then back
> again, so colors are the same for plus and minus arguments (i.e.,
> angles) for the complex polynomial. Probably should have some
> indication which is which, or a way to toggle it.
>
> http://home.comcast.net/~cy56/Mma/ComplexCoeffPlotter.nb
> http://home.comcast.net/~cy56/Mma/ComplexCoeffPlotterPic2.png
>
> Chris Young
> cy56 at comcast.net
>
>
> Manipulate[
> Module[
> {f, \[ScriptCapitalC]},
>
> \[ScriptCapitalC][P_] := P[[1]] + P[[2]] I; (*
> Convert 2D point to complex point *)
>
> f[z_] = \[ScriptCapitalC][a] z^3 + \[ScriptCapitalC][
> b] z^2 + \[ScriptCapitalC][c] z + \[ScriptCapitalC][ d];
>
> Plot3D[
> Abs[f[x + y I]], {x, -6, 6}, {y, -6, 6},
>
> PlotPoints -> 100,
> MaxRecursion -> 2,
>
> Mesh -> 11,
> MeshStyle -> Directive[Gray, AbsoluteThickness[0.01]],
> MeshFunctions -> ({x, y} \[Function] (\[Pi] -
> Abs[Arg[f[x + I y]]])/\[Pi]),
>
> ColorFunctionScaling -> False,
> ColorFunction -> ({x, y} \[Function]
> Hue[0.425 \[LeftFloor]12 (\[Pi] -
> Abs[Arg[f[x + I y]]])/\[Pi]\[RightFloor]/12, sat, bri]),
> PlotStyle -> Opacity[opac],
> AxesLabel -> {"x", "i y", "|f(x + iy)|"}]
> ],
> (*Item["The complex coefficients"],*)
> {a, {-2, -2}, {2, 2}},
> {b, {-2, -2}, {2, 2}},
> {c, {-2, -2}, {2, 2}},
> {d, {-2, -2}, {2, 2}},
> {{opac, 0.75, "Opacity"}, 0, 1},
> {{sat, 0.75, "Saturation"}, 0, 1},
> {{bri, 1, "Brightness"}, 0, 1},
>
> ControlPlacement -> {Left, Left, Left, Left, Bottom, Bottom, Bottom}
> ]
>
>
--
DrMajorBob at yahoo.com
- References:
- Plotter for complex polynomials (complex coefficients)
- From: Chris Young <cy56@comcast.net>
- Plotter for complex polynomials (complex coefficients)