wqtclark 发表于 2006-12-17 22:44

如何将一三维图形再用一平面分割?

我用EZSURF命令画一三维图像,原来的定义域应为一XY平面的椭圆,但EZSURF命令中自变量我不会定义为椭圆,就定义成了矩形.现在想用一平面把三维图形截开成为上下两部分,然后只取其中一部分怎么实现?
或者问题这样描述:
如何画:2*x^2+1.5*y^2在椭圆区间:x^2/4^2+y^2/3^2<=1上的图像?

下面附我的程序:
clear all
syms x y a b w0 w0v k n E1 E A H hv D q w f1 f2 f3 f4 f5 f6 f7 a1 a1v a2 b1 b1v b2 Mx My M2
%D=E*h^3/12/(1-v^2)
w=-w0*(x^2/a^2+y^2/b^2-1)*(1+a1*x^2+b1*y^2)
f1=D*((diff(w,x,2)+diff(w,y,2))^2)
f2=D*2*(1-v)*(diff(w,x,2)*diff(w,y,2)-(diff(diff(w,x),y))^2)
f3=1/2*k*w^2-q*w %wai li shi neng
f4=1/2*(f1-f2)+f3 %zong shi neng
%f5=int(int(f4,x,-a*sqrt(1-y^2/b^2),a*sqrt(1-y^2/b^2)),y,-b,b)
f5=4*int(int(f4,x,0,a*sqrt(1-y^2/b^2)),y,0,b)
f6=subs(f5,b,abs(b))
f5=subs(f6,abs(b),b)
%f5=4*int(int(f3,x,0,a*sqrt(1-y^2/b^2)),y,0,b)
%simple(f5)
% qiu w0 a1 b1
w0v=solve(subs(subs(diff(f5,w0),a1,0),b1,0),w0)
a1v=solve(subs(subs(diff(f5,a1),w0,w0v),b1,0),a1)
b1v=solve(subs(subs(diff(f5,b1),w0,w0v),a1,0),b1)
w=subs(subs(subs(w,w0,w0v),a1,a1v),b1,b1v)

Mx=-D*(diff(w,x,2)+v*diff(w,y,2))
My=-D*(diff(w,y,2)+v*diff(w,x,2))
M2=Mx^2+My^2

Mx=subs(subs(subs(subs(subs(subs(Mx,a,310),b,250),v,0.24),q,1.5e6),k,39.6e6),D,379.66e6)
My=subs(subs(subs(subs(subs(subs(My,a,310),b,250),v,0.24),q,1.5e6),k,39.6e6),D,379.66e6)
M2=sqrt(Mx^2+My^2)

w0=subs(subs(subs(subs(subs(subs(w0v,a,310),b,250),v,0.24),q,1.5e6),k,39.6e6),D,379.66e6)
w=subs(subs(subs(subs(subs(subs(w,a,310),b,250),v,0.24),q,1.5e6),k,39.6e6),D,379.66e6)
ezsurf(w,[-310,310,-250,250])
%pretty(ans)
%f6=solve(f3,w0)

wqtclark 发表于 2006-12-23 13:13

问题已经解决了!呵呵
页: [1]
查看完整版本: 如何将一三维图形再用一平面分割?