File:Exponential Function (Abs Imag Part at Infinity) Density.png
Uploaded by
Inductiveload
Upload date
2007-04-25T18:25:06Z
MIME type
image/png
Dimensions
850 × 700 px
File size
129.9 KB
DescriptionExponential Function (Abs Imag Part at Infinity) Density.png
Diagram of the absolute value of the real part of the exponential function in the complex plane, as the operand approaches infinity. The plot is given by:
The colour code is based on the arctan function and therefore emphasises changes at small values more than changes at large values. Green is smallest, then blue, red and yellow (largest).
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
f := abs(Im(exp(1/(x+I*y)))):
ylimit := 1:
xlimit := 1:
mesh := 1000: //resolution of density plot
a := 1: //change this to adjust the colour band drop-of rate
fmin := 0: //minimum value of colour function (i.e the one with arctan in it)
fmax := 1: //maximum value of colour function
range:= 1: //for brevity
colour := proc(c)
begin
if c < fmin then
return ([1, 0, 0]) //this term may not be needed, but it means we can deal with slightly under-limit values
elif c <= fmin + 1*range/6 then
return ([1, abs(sin((c-fmin)*(PI/2)/(range/6))^a), 0])
elif c <= fmin + 2*range/6 then
return ([abs(sin((c-fmin)*(PI/2)/(range/6))^a), 1, 0])
elif c <= fmin + 3*range/6 then
return ([0, 1, abs(-sin((c-fmin)*(PI/2)/(range/6))^a)])
elif c <= fmin + 4*range/6 then
return ([0, abs(-sin((c-fmin)*(PI/2)/(range/6))^a), 1])
elif c <= fmin + 5*range/6 then
return ([abs(sin((c-fmin)*(PI/2)/(range/6))^a), 0, 1])
elif c <= fmin + 6*range/6 then
return ([1, 0, abs(sin((c-fmin)*(PI/2)/(range/6))^a)])
else
return ([1, 0,1])
end_if
end_proc:
colfunc := (x,y,z) -> colour(arctan(z/2)*(5.0001/6)/(0.5*PI)): //the factor of 5/6 prevents the spectrum from wrapping
// by precisely one colour transition (m->r).
//The extra 0.00001 is to prevent an error when evaluating the 5th elif clause.
//No idea why, but it must be sometihng to do with there being a 5/6 in there.
cplot := plot::Density(f,
x = -xlimit..xlimit,
y = -ylimit..ylimit,
AntiAliased = TRUE,
Mesh = [mesh, mesh],
AxesTitleFont = ["Courier New", Bold, 14],
TicksLabelFont = ["Arial", 10],
FillColorFunction = colfunc,
YTicksDistance = 0.5,
XTicksDistance = 0.5):
time((plot(cplot,
Axes = Frame,
Width = 8.5*unit::inch,
Height = 7*unit::inch)))*sec/1000.0
Captions
Add a one-line explanation of what this file represents