Finding index between two parallel lines
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I have bathymetry data (an intuition is attached here) which is stored in a regular 10m-resolution grid with the following limits:
- In the x-axis: xmin:10:xmax. This contains 3039 columns
- In the y-axis: ymin:10:ymax. This forms 1195 rows
- The depth is Z matrix whose size is equal to 1195x 3039;
And I have 2 parallel lines crossing this bathymetry with the following information:
- Line 1 is defined as points (x1,y1) and (x2,y2)
- Line 2 is defined as points (x3,y3) and (x4,y4)
My task is to find indices between these two lines. Could you please help to solve this?
Many thanks
T
2 个评论
Star Strider
2019-3-10
‘My task is to find indices between these two lines.’
‘Index’ means different things in different contexts (e.g. matrix, book, etc.). How do you define it here?
采纳的回答
darova
2019-3-10
You can use inpolygon
clc, clear
xmin = 50;
xmax = 551;
ymin = -35;
ymax = -800;
y1 = ymax + 150;
y4 = ymin - 150;
k_up = (y1 - ymin)/(xmax-xmin);
k_down = (ymax - y4)/(xmax-xmin);
cla, hold on
for x = xmin:10:xmax
y_start = ceil(y1 - x*k_up);
y_end = floor(ymax - x*k_down);
for y = y_start:-10:y_end
plot(x,y,'.r')
end
end
hold off
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Mathematics and Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!