yqchenlolo 发表于 2006-1-1 12:51

[求助]ezsurf画图的问题

已知ezsurf可以画x=x(s,t),y=y(s,t),z=z(s,t)形式的三维图形<BR> ezsurf('(s-sin(s))*cos(t)','(1-cos(s))*sin(t)','s',[-2*pi,2*pi])<BR>现在我自己定义了x,y,z<BR>x=f1(s,t),y=f2(s,t),z=f3(s,t)<BR>其中f1,f2,f3为关于s,t的分段函数,<BR>如何画出它的图形,试了几个可能的形式都不行<BR>哪位高手指点一下,3x

hyacinth 发表于 2006-1-1 13:51

回复:(yqchenlolo)[求助]ezsurf画图的问题

<P>把函数形式给一下</P>

yqchenlolo 发表于 2006-1-1 14:00

我编了几个例子测试的,过不了<BR>function x=f1(u,v)<BR>if u&gt;=0&amp;u&lt;=1<BR>    s1=u+1;<BR>else<BR>    s1=0;<BR>end<BR>if v&gt;=0&amp;v&lt;=1<BR>    s2=v+2;<BR>else<BR>    s2=0;<BR>end<BR>x=s1*s2;<BR>    <BR>function y=f2(u,v)<BR>if u&gt;=0&amp;u&lt;=1<BR>    s1=u^2+1;<BR>else<BR>    s1=0;<BR>end<BR>if v&gt;=0&amp;v&lt;=1<BR>    s2=v^2+2;<BR>else<BR>    s2=0;<BR>end<BR>y=s1*s2;<BR><BR>function z=f3(u,v)<BR>if u&gt;=0&amp;u&lt;=1<BR>    s1=u^3;<BR>else<BR>    s1=0;<BR>end<BR>if v&gt;=0&amp;v&lt;=1<BR>    s2=v^3+3;<BR>else<BR>    s2=0;<BR>end<BR>z=s1*s2;<BR>还有如果f1,f2,f3如果为分段递归的函数,不知道可行不

xueyi 发表于 2006-1-1 17:40

如果要画三个量xyz分别随uv变化的图像,<BR>你这么定义xyz的表达式是错的,<BR>u,v在这里不是符号变量,<BR>调用f1返回的是一个数值。<BR>而ezsurf需要三个表达式作为输入,才能做出图像。<BR>所以,xyz不过怎么定义,调用ezsurf时必须保证它们为2个变量的表达式<BR><BR>

yqchenlolo 发表于 2006-1-3 09:44

回复:(xueyi)如果要画三个量xyz分别随uv变化的图像...

<DIV class=quote><B>以下是引用<I>xueyi</I>在2006-1-1 17:40:44的发言:</B><BR>如果要画三个量xyz分别随uv变化的图像,<BR>你这么定义xyz的表达式是错的,<BR>u,v在这里不是符号变量,<BR>调用f1返回的是一个数值。<BR>而ezsurf需要三个表达式作为输入,才能做出图像。<BR>所以,xyz不过怎么定义,调用ezsurf时必须保证它们为2个变量的表达式<BR></DIV>
<P>那如果要画这种形式的,有没有什么其它的办法?</P>

xueyi 发表于 2006-1-3 10:12

<P>可以用plot3来分段画试试,<BR></P>
页: [1]
查看完整版本: [求助]ezsurf画图的问题