MuPAD Code
q := arg(exp(x+I*y)):
conts := 10:
projectionlevel:=-5:
ylimit := 2*PI:
xlimit := 3:
submeshlevel := 0:
colourfunc := zip(RGB::VenetianRed, RGB::DarkBlue,
(a, b) -> (q(x,y)+PI)/(6)*a
-(q(x,y)-PI)/(6)*b):
funcplot := plot::Function3d(q(x,y),
x = -xlimit..xlimit,
y = -ylimit..ylimit,
Mesh = [23, 23],
Submesh = [submeshlevel,submeshlevel],
LineColor = RGB::Black.[0.4],
LineWidth = 0.15,
AdaptiveMesh = 10,
FillColorFunction = colourfunc,
AxesTitleFont = ["Courier New", Bold, 14],
ViewingBoxZRange = -5..PI,
YTicksNumber = None,
YTicksAt = [-3*PI/2 = "-3 PI/2", -PI = "-PI", -PI/2 = "-PI/2", -2*PI = "-2 PI",
0 = "0",
PI/2 = "PI/2", PI = "PI", 3*PI/2 = "3 PI/2", 2*PI = "2 PI"],
ZTicksNumber = None,
ZTicksAt = [-PI = "-PI", -PI/2 = "-PI/2",
0 = "0",
PI/2 = "PI/2", PI = "PI"]
):
contours := plot::modify(funcplot,
ZContours = [$ -3.14..3.14 step 0.7853],
LineWidth = 0.2,
LineColor = RGB::Gray90.[0.5],
XLinesVisible = FALSE,
YLinesVisible = FALSE,
Filled = FALSE
):
projcontours := plot::Transform3d([0, 0, projectionlevel],
[1, 0, 0, 0, 1, 0, 0, 0, 0],
plot::modify(funcplot, ZContours = [$ -3.14..3.14 step 0.7853],
LineWidth = 0.2,
LineColorType = Dichromatic,
LineColor = RGB::VenetianRed.[0.99],
LineColor2 = RGB::DarkBlue.[0.99],
XLinesVisible = FALSE,
YLinesVisible = FALSE,
Filled = FALSE
)
):
camera := plot::Camera([-40, -120, 60],
[-0.5, -1, -0.5],
0.1
):
ploteverything := plot::Canvas(funcplot, contours, projcontours,
Width = 8.5*unit::inch,
Height = 7*unit::inch,
camera
):
plot(ploteverything)