Finding index between two parallel lines
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
wave_buoys
am 10 Mär. 2019
Bearbeitet: wave_buoys
am 10 Mär. 2019
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 Kommentare
Star Strider
am 10 Mär. 2019
‘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?
Akzeptierte Antwort
darova
am 10 Mär. 2019
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
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Mathematics and Optimization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!