# new version of drdtplot drdtp := proc(rboundary,trange) local line,f,g,a,b,i,theta; f := op(1,op(2,rboundary)); g := op(2,op(2,rboundary)); a := op(1,op(2,trange)); b := op(2,op(2,trange)); theta := 'theta'; tst := false; tst := type(trange,string = range) and op(1,rboundary) = 'r' and op(1,trange) = 'theta' and type(evalf(a),numeric) and type(evalf(b),numeric); # if not tst then ERROR(`input expression is not of drdt type`) fi; line := {[f*cos(theta),f*sin(theta),theta = a .. b], [g*cos(theta),g*sin(theta),theta = a .. b],[0,0,0,0]}; for i from 0 to 5 do if evalf(subs(theta = 1/5*(5-i)*a+1/5*i*b,g))- evalf(subs(theta = 1/5*(5-i)*a+1/5*i*b,f)) < -.1*10^(-3) then ERROR(`the positions of the radiall functions are not correct`) fi; line := line union {[ subs(theta = evalf(1/5*(5-i)*a+1/5*i*b),f*cos(theta)), subs(theta = evalf(1/5*(5-i)*a+1/5*i*b),f*sin(theta)), subs(theta = evalf(1/5*(5-i)*a+1/5*i*b),g*cos(theta)), subs(theta = evalf(1/5*(5-i)*a+1/5*i*b),g*sin(theta))]} od; plot(line) end;