登录论坛

查看完整版本 : [求助]求2个隐函数曲面的交线


心际依然
2008-04-15, 10:20
有2个隐函数曲面。
曲面1: x1=f1(v,u),y1=f2(v,u),z1=f3(v,u);
曲面2: x2=g1(m,n),y2=g2(m,n),z2=g3(m,n);
已经知道v,u,m,n的取值范围,且画出的2个曲面有一条交线。
求:怎么得出他们的交线,并把交线之外的一端剪裁掉。如下图。

心际依然
2008-04-15, 10:23
哪位高手讲一下求解思路,我感激不尽:tongue:

watcher
2008-04-15, 15:02
交线方程:
g1(m,n)=f1(v,u)
g2(m,n)=f2(v,u)
g3(m,n)=f3(v,u)
对m,n,v,u中的任一个在合理区间内进行离散化,对每一个离散后的m或n、v、u值求解交线方程。

关于如何截掉交线之外的一端,初步的想法是,根据求解交线方程获得的(m,n,v,u)数对,调整绘图区间,重新绘制曲面。

心际依然
2008-04-15, 20:17
我用slove求解方程,出错了。
Warning: Explicit solution could not be found.
> In solve at 140
In sym.solve at 49

S =

[ empty sym ]


??? Error using ==> reshape
To RESHAPE the number of elements must not change.

Error in ==> sym.maple at 94
result = reshape(result,size(varargin{3}));

Error in ==> sym.sin at 7
Y = maple('map','sin',X);

怎么回事呢?

心际依然
2008-04-15, 20:36
我改了V的起始值以后,不会说没有精确解了,但是还是有这个错误
??? Error using ==> reshape
To RESHAPE the number of elements must not change.

Error in ==> sym.maple at 94
result = reshape(result,size(varargin{3}));

Error in ==> sym.sin at 7
Y = maple('map','sin',X);
这是为什么?

mzone98
2009-04-06, 19:56
用UV构成一个meshgrid,surf(f,g,h),hold on,surf(F,G,H);
PLOT3(f,g,H),plot3(F,G,h)应该可以作出交线