Finding index between two parallel lines
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Star Strider
le 10 Mar 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?
Réponse acceptée
darova
le 10 Mar 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 commentaire
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Mathematics and Optimization dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!