Why inpolygon is not detecting the whole artificial reef structure?
4 views (last 30 days)
Show older comments
Hi,
I'm encountering a problem while trying to adjust the bathymetry in my MATLAB code. I have successfully plotted the artificial reef structure. However, I'm having difficulty modifying the bathymetry to reflect a 4-meter depth for the structure instead of the initial 5 meters. I am using the inpolygon function, but it seems to be causing some issues and not detecting the whole structure.
The code plots correctly up to line 77, but I'm experiencing problems with the polygon section. I've attached the MATLAB code for review.
Could you please help me identify what might be going wrong?
Thank you!
0 Comments
Answers (1)
akshatsood
on 19 Aug 2024
Dear @Tanziha Mahjabin
I understand that you are experiencing issues with the "inpolygon" function not detecting the entire structure. To address this, I have proposed a change to your MATLAB code for ensuring Polygon Closure.
I have modified the "x_poly" and "y_poly" arrays to ensure that the polygon is properly closed. This is crucial because an open polygon can lead to incorrect results with "inpolygon". The revised definitions append the starting point of the polygon to the end of the arrays, ensuring that the shape is closed. Below are the updated lines:
x_poly = [x_fill_arc, fliplr(x_fill_arm(1,:)), x_fill_arm(1,:), x_fill_arc(1)];
y_poly = [y_fill_arc, fliplr(y_fill_arm(1,:)), y_fill_arm(1,:), y_fill_arc(1)];
I hope this helps.
3 Comments
akshatsood
on 19 Aug 2024
Dear @Tanziha Mahjabin
Could you please mention the outcomes you are expecting so that I can provide a more specific advice.
See Also
Categories
Find more on Calendar in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!