在样条曲线上创建圆
create circles on a spline
我需要一些关于沿整个样条以圆形或六边形形式创建元素的信息,如下图所示,在 Matlab 中。你能告诉我如何在我的代码中实现它吗?
请找到以下关于样条创建的代码
x = -4:4;
y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
cs = spline(x,[0 y 0]);
xx = linspace(-4,4,101);
plot(x,y,'o',xx,ppval(cs,xx),'-');
如果需要任何其他信息,请告诉我
既然您已经知道要绘制圆的位置([x,y]
数组),您可以复制您使用的部分 plot
代码,但这次使用更大的标记和不同的颜色:
hold on
plot(x,y,'o',xx,ppval(cs,xx),'-');
plot(x,y,'o','MarkerSize',80,'Color','g');
看起来像这样:
您也可以使用 'hexagram' 标记(即使用 h
而不是 o
)来获得六边形:
或者如果您希望每个圆看起来不同或单独控制它们的属性,您还可以绘制一个曲率 [1 1]
:
的矩形
radius = .5;
for k = 1:numel(x)
centerX = x(k);
centerY = y(k);
rectangle('Position',[centerX - radius, centerY - radius, radius*2, radius*2],...
'Curvature',[1 1],...
'EdgeColor','g','FaceColor','none');
end
我需要一些关于沿整个样条以圆形或六边形形式创建元素的信息,如下图所示,在 Matlab 中。你能告诉我如何在我的代码中实现它吗?
请找到以下关于样条创建的代码
x = -4:4;
y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
cs = spline(x,[0 y 0]);
xx = linspace(-4,4,101);
plot(x,y,'o',xx,ppval(cs,xx),'-');
如果需要任何其他信息,请告诉我
既然您已经知道要绘制圆的位置([x,y]
数组),您可以复制您使用的部分 plot
代码,但这次使用更大的标记和不同的颜色:
hold on
plot(x,y,'o',xx,ppval(cs,xx),'-');
plot(x,y,'o','MarkerSize',80,'Color','g');
看起来像这样:
您也可以使用 'hexagram' 标记(即使用 h
而不是 o
)来获得六边形:
或者如果您希望每个圆看起来不同或单独控制它们的属性,您还可以绘制一个曲率 [1 1]
:
radius = .5;
for k = 1:numel(x)
centerX = x(k);
centerY = y(k);
rectangle('Position',[centerX - radius, centerY - radius, radius*2, radius*2],...
'Curvature',[1 1],...
'EdgeColor','g','FaceColor','none');
end