MATLAB_绘制空间曲线_球与平面的交线+球与柱面的交线_含实现代码

30 篇文章 4 订阅

Simple version:(最简单的方程了)
绘制空间曲线:
在这里插入图片描述

[X,Y,Z]=sphere(50);
mesh(8*X,8*Y,8*Z)
hold on;
ezmesh('0-y',[-8,8])
axis equal
view(135,0)
figure
[x,y,z]=meshgrid(linspace(-8,8));
contourslice(x,y,z,y+z,8*X,8*Y,8*Z,[0 0])%画交线
axis equal
view(135,20)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

figure
[X Y Z]=sphere(50);
mesh(2*X,2*Y,2*Z);
hold on;
[x y z]=cylinder(1,100);%圆柱
x=x+1;y=y;z=4*z-2;
mesh(x,y,z);
axis equal
view(135,20)
figure
[x,y,z]=meshgrid(linspace(-2,2));
contourslice(x,y,z,(x-1).^2+y.^2-1,2*X,2*Y,2*Z,[0 0])%画交线
axis equal
view(135,20)

在这里插入图片描述
在这里插入图片描述
但是,上面的方法求解的是交线,显然不是符合题意的,于是我百度了下,找到了一种方法:
问题是求解:xx+yy+zz=rr和xx+yy=r*x的交面

r=2;
t=linspace(0,2);
q=linspace(-2,2);
[x,y,z]=meshgrid(t,q/2,q);
c=cat(4,x.^2+y.^2+z.^2-r^2,x.^2+y.^2-r*x);
v=max(c,[],4);
isosurface(x,y,z,v,0);
axis equal;grid on;view(135,20);

matlab帮助文档-isosurface
在这里插入图片描述

C = cat(dim, A1, A2, A3, A4, ...)

沿数组维度 dim 串联所有输入数组(A1、A2、A3、A4 等等)。

fv = isosurface(X,Y,Z,V,isovalue) 

基于 isovalue 中指定的等值面值处的体数据 V 计算等值面数据。即等值面连接具有指定值的点,与等高线连接仰角相同的点的方式大致相同。

  • 16
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallC1oud

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值