Mupad学习记录2
这一节着重学习关于绘图及其动画控制
绘图
1)一般绘图
plot(sin(x)*cos(3*x)) 绘制二维图
plot(sin(x)*sin(y), #3D) 绘制三维图(#3D替代二维动画)
plot(sin(x), cos(x), tan(x), cot(x) 多个图形在同一张纸里
plot(sin(k*x) $ k = 1..3) 使用$符号使得一系列图画在一张纸上(二维)
plot(-sqrt(r^2 - x^2 - y^2) $ r = 1..5, #3D) 使用$符号使得一系列图画在一张纸上(三维)
plot(sin(x^3)*exp(x), x = 3..5) 使用x=#..#确定作图范围(二维)
plot(sin(x)*sin(y), x = 0..3, y = 1..3, #3D) 使用x=#..#,y=#..#确定作图范围(三维)
plot(sin(k*x) $ k = 1..5, x = 0..2*PI) 在关于$的系列图中设定范围
plot({sin(k*x), k*t^2} $ k = 1..5, x = 0..2*PI, t = -1..1) 多幅系列图的画法及其范围
plot(piecewise([x < - 2, - 1], [-1 < x and x < 0, x^2], [0 < x and x < 1, -x^2], [x > 1, 1])) 分段函数的画法
通过界面直接修改图形属性,而非使用编码修改,如果点击目标对象无反应,选择菜单View > Object Browser
在图形界面,可以自由旋转,缩放,以及自动旋转等,相关命令在图形窗口界面,自行尝试,概不赘述
动画
1)关于参数的动画
plot(exp(x)*sin(a^2*x), x = 1..2, a = 2..6) 二维直角坐标动画
plot(sin(a*x^2 + a*y^2), x = -2..2, y = -2..2, a = 0.1..2, #3D) 三维直角坐标动画
例子1
plot(
plot::Function2d(a*sin(x), x = 0..a*PI, a = 0.5..1),
plot::Rectangle(0..a*PI, 0..a, a = 0.5..1,
LineColor = RGB::Black),
plot::Line2d([0, 0], [PI*a, a], a = 0.5 ..1,
LineColor = RGB::Black)
//其中的plot::Rectangle和plot::Line2d分别是矩形作图和直线作图
例子2
plot(plot::Arc2d(1 + a, [0, 0], AngleRange = 0..a*PI, a = 0..1)):
//其中的plot::Arc2d是指plot::Arc2d(半径,中心,弧线角度范围,动画参数a)
例子3
plot(plot::Function2d(4*a*x, x = 0..1, a = 0..1),
plot::Function2d(b*x^2, x = 0..1, b = 1..4)):
//这是将两幅参数动画画到同一幅图片中,参数的名称不同,注意参数名称是全局变量,必须不同
例子4
f := (x, y) -> 4 - (x - a)^2 - (y - a)^2:
mycolor := proc(x, y, z, a)
local t;
begin
t := sqrt((x - a)^2 + (y - a)^2):
if t < 0.1 then
return(RGB::Red)
elif t < 0.4 then
return(RGB::Orange)
elif t < 0.7 then
return(RGB::Green)
else return(RGB::Blue)
end_if;
end:
plot(plot::Function3d(f, x = -1..1, y = -1..1, a = -1..1,
Fi