|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
虽然和matlab无关,但也是用matlab画图时碰到的一个问题,
请各位有兴趣的一起讨论一下,:@)
如果有一个参数曲面
x=x(u,v),y=y(u,v),z=z(u,v),
现在我想画这个参数曲面上的一条曲线,其满足:f(u,v)=0
我采用的方法如下:
把参数区域(u,v)平面剖分,
比如画图区域为:[0,1]×[0,1]
我用直线 u=0.1,0.2,......0.9 ;v=0.1,0.2,......0.9剖分,
这时画图区域里就有100个小矩形域,包含了 110×2=220条小边(横竖方向个110)
对于每条小边 AB,A坐标(Au,Av),B坐标(Bu,Bv),我判断 f(Au,Av)*f(BU,Bv)的符号
当为负号时表示AB上有曲线上的点,则画出AB的中点。
注:这里没考虑那种比较特殊的情况,就是和AB有两个或者更多的偶数个交点,使得
f(Au,Av)*f(BU,Bv)>0的情况,
有谁做过类似的东西,有什么经验分享一下,
还有没有别的更好的办法?或者matlab里面有没有对付这种情况的一些现成的函数?
TKS |
|