已知起点、终点,终点切线方向,圆弧半径,用matlab在三维空间中画一段劣弧#MATLAB
圆弧是有一定粗细的圆柱形。
我可以用数学计算出来公式,但是不知道具体的怎么画出来,有没有指点一下
d=0.05;
[x,y,z]=meshgrid(0:d:4,-2:d:2,-2:d:3);
v=x.^2/4+y.^2/4+z.^2/4-x;
p=isosurface(x,y,z,v,0);
fz=@(x,y) (307620x)/2908093 + (10070y)/28793 + 671042474/363511625;
[xx yy]=meshgrid(0:d:4,-2:d:2);
zz=fz(xx,yy);
f=@(x,y) x.^2/4+y.^2/4+(fz(x,y)).^2/4-x;
c=contours(xx,yy,f(xx,yy),[0 0]);
xxx=c(1,2:end);yyy=c(2,2:end);
zzz=fz(xxx,yyy);
mesh(xx,yy,zz,'edgecolor','none','facecolor','r','facealpha',0.3);hold on
patch(p,'edgecolor','none','facecolor','b','facealpha',0.3);
plot3(xxx,yyy,zzz,'k','linewidth',1);hold off
axis equal;
有个案例:
https://www.ilovematlab.cn/thread-561366-1-1.html
h = 5; % 高度
r = 20; %半径
pos = [20,70]; % 圆心位置
t=0:0.001:(2pi); % 圆滑性设置
t=[t,0];
plot3(pos(1)+rsin(t),pos(2)+rcos(t), hones(size(t)))
axis([0 100 0 100])
axis square
set(gca,'XTick',0:10:100);
set(gca,'YTick',0:10:100);