
Plotter for complex polynomials (complex coefficients)
Posted:
Feb 1, 2012 3:54 AM


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@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} ]

