id =
355, parent = 0, thread =
355, catid =
17, locked = 0, moved = 0,
userid =
kyanh, ip = 222.252.245.151, time = 2005/11/12 (1131805989) ,
subject =
Maple: Vẽ trường véc tơ dọc cung, hits = 460, karma = 0+0-,
Hàm
VField dưới đây vẽ trường véc tơ V dọc cung F. Trong đó, F, V là các hàm của biến thực t. Trường véc tơ V sẽ được chuẩn hóa khi vẽ. Nếu V đã được chuẩn hóa, dùng
goodV=1. Kết quả trả về phải dùng
display để hiển thị.
num là số véc tơ của trường sẽ được vẽ
> VField := proc(F, V, a, b, num, goodV)
> local x, k, L, norm, plotA, plotB;
> if (num <=0) then num:=20 end if;
> x := (b-a)/num;
> L:=[0,0,0];
> if (goodV<=0) then
> norm := simplify(sqrt(V[1]*V[1] + V[2]*V[2] + V[3]*V[3]),symbolic);
> else
> norm := 1;
> end if;
> L[1] := V[1]/norm + F[1];
> L[2] := V[2]/norm + F[2];
> L[3] := V[3]/norm + F[3];
> plotB := plots[spacecurve](F,t=a..b,thickness=3,color=red);
> plotA := seq(
> plottools[arrow](
> subs(t=a+k*x,F),
> subs(t=a+k*x,L),
> 0.02,.05,.05,
> color=COLOR(RGB,1,0,0)),
> k=0..num);
> return {plotA,plotB};
> end:
Ví dụ ( vẽ 20 véc tơ trên đoạn -Pi..Pi)
tmp := VField([0,0,t], cos(t)/sin(t), -Pi, Pi, 20, 0);
plots[display](tmp);
Shot: