How can I calculate the length of the longest side of a rectangle and the slope of an imaginary rectangle parallel to the longest side of the first?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I need a suggestion for this easy but confusing dilemma.
I have a rectangle formed by 4 points (x2,y1) (x1,y2) (x3,y4) (x4,y3). The maximum and minimum are respectively (x4,y4) and (x1,y1).
I need to create a script to obtain the length of the longest side of the rectangle and the slope of an imaginary rectangle parallel to the longest side of the rectangle.
The problem is not so easy taking into account that the rectangle could be in many different positions. I have an idea about the slope, using Pythagoras and the maximum and minimum values, but...the length...I'm stuck on that.
2 Kommentare
Sean de Wolski
am 17 Okt. 2011
What have you tried thus far? Show us with code (by editing your question).
Akzeptierte Antwort
the cyclist
am 17 Okt. 2011
I don't understand the part about the slope, but there is an easy way to find the longest side. The distance between each pair of points is
>> dij = sqrt((xi-xj)^2+(yi-yj)^2);
Calculate this for all pairs. You should get three unique length values, corresponding to:
- short side
- long side
- diagonal
The middling value will be the long side of the rectangle.
(You might need to be careful about floating point inexactitudes.)
4 Kommentare
Sean de Wolski
am 17 Okt. 2011
-use atand to calculate the angle in degrees
-use the second output of max/min to identify which vertex corresponds to max/min.
-use hypot() to calculate ddg
Weitere Antworten (1)
Image Analyst
am 19 Okt. 2011
Sorry - I gave you a more extensive answer than the Cyclist but for some reason you (or someone) deleted your first posting of this. I gave you the slope, and told you how to find the various lengths. I'm not inclined to repeat my prior waste of time.
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!