![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175988/image.jpeg)
How to generate surface of fixed width from know coordintes of curve and add pixel covered by the surface
2 次查看(过去 30 天)
显示 更早的评论
I have a set of points that describe a curve but i need to take a surface of fixed width above or below the curve and add all the pixel value covered by the surface.Any help will be appreciated.The question is made clear in the figure attached.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/148942/image.png)
0 个评论
回答(2 个)
Ben11
2015-4-10
This should do it:
clear
clc
close all
%// Define x and y to plot curve
x=-10:10;
y=-x.^2;
%// Build 2 other arrays for y values of shaded region
y1 = y-4;
y2 = y+4;
%// Set up x and y values to fill the region
X=[x,fliplr(x)];
Y=[y1,fliplr(y2)];
%// Fill area
hFill = fill(X,Y,[.5 0 1]);
set(hFill,'FaceAlpha',.5)
hold on
plot(x,y,':b','LineWidth',2)
Output:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175988/image.jpeg)
I'll let you discover how to remove borders of the shaded region
Image Analyst
2015-4-10
How about just adding and subtracting something?
yTop = y + someAmount;
yBottom = y - someAmount;
2 个评论
Image Analyst
2015-4-12
Sorry, I guess I can't because I don't see how adding and subtracting some amount from the centerline won't give you the coordinates of the upper and lower envelopes.
And it looks like a 1-dimensional problem so I'm not exactly sure why you're referring to a "surface" which I usually think of as a 2 or 3 D concept.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!