Hi
I have been set a programming task where I need to determine the length of the boundary of an irregular polygon between 3 and 6 sides, I am not asking for the programming part (as I know how to program) but just the maths behind how to calculate the length of the boundary of an irregular polygon, I will then be able to do myself, the conversion into programming language.
Thank you very much in advance if you can help me out with the maths involved in calculating the length of the boundary of an irregular polygon between 3 and 6 sides.
well the question consists of co-ordinates at points p1 and p2. These are:
p1 has co-ordinates (X1, Y1)
p2 has co-ordinates (X2, Y2)
The length of the line joining p1 and p2 is given by the equation of:
{ (X2 - X1)^2 + (Y2 - Y1)^2 } 1/2
From this I wish to determine the length of the boundary of an irregular polygon between 3 and 6 sides. The program should calculate and display the total length of the boundary.
I hope I have given you more information for you to help me.
Thanks if you can help.
points in order:
For the Length or perimeter of the polygon,
use your distance formula for each side.
Then sum the individual distances.
For the area for n points:
A12 = (X1*Y2 - X2*Y1)/2
A23 = (X2*Y3 - X3*Y2)/2
...
Akn = (Xk*Yn - Xn*Yk)/2
An1 = (Xn*Y1 - X1*Yn)/2
k being n-1
the sum of the partials:
will give the area of the polygon.
Well based on the equation I gave you a couple of posts ago, can you tell me if this is the correct way to measure the boundary of an irregular 6 sided polygon?
(12,30)
(28,16)
(10,26)
(16,28)
(8,13)
(4,7)
28 - 12 = 16
16 - 30 = -14
10 - 28 = -18
26 - 16 = 10
16 - 10 = 6
28 - 26 = 2
8 - 16 = -8
13 - 28 = -15
4 - 8 = -4
7 - 13 = -6
12 - 4 = 8
30 - 7 = 23
16^2 = 256
-14^2 = 196
-18^2 = 324
10^2 = 100
6^2 = 36
2^2 = 4
-8^2 = 64
-15^2 = 225
-4^2 = 16
-6^2 = 36
8^2 = 64
23^2 = 529
256 +
196 +
324+
100+
36+
4+
64+
225+
16+
36+
529+
= 1850
Sqrt(1850)
= 43.01162634
If you can tell me if this is correct, then I know I am well on my way to solving my programming problem.
You have the fundamental parts correct.
It's the assembly that's not quite acceptable.
This is you data rearranged with some labels:
p1(12,30) x=12, y=30, so x1= 12 and y1= 30
p2(28,16)
p3(10,26)
p4(16,28)
p5(8,13)
p6(4,7)
---
x2-x1: 28 - 12 = 16
y2-y1: 16 - 30 = -14
16^2 = 256
-14^2 = 196
Sqrt( 256 + 196 ) = distance from p1 [Point 1] to p2 [Point 2]
---
x3 - x2 : 10 - 28 = -18
y3 - y2 : 26 - 16 = 10
-18^2 = 324
10^2 = 100
Sqrt( 324 + 100) = distance from p2 to p3
---
x4 - x3 : 16 - 10 = 6
y4 - y3 : 28 - 26 = 2
6^2 = 36
2^2 = 4
Sqrt( 36 + 4) = distance between p3 and p4
---
x5 - x4 : 8 - 16 = -8
y5 - y4 : 13 - 28 = -15
-8^2 = 64
-15^2 = 225
Sqrt( 64 + 225) is the distance between which two points?
---
x6 - x5 : 4 - 8 = -4
y6 - y5 : 7 - 13 = -6
-4^2 = 16
-6^2 = 36
Sqrt( 16 + 36) is the length of the next side of the polygon. p5 & p6
---
x1 - x6 : 12 - 4 = 8
y1 - y6 : 30 - 7 = 23
8^2 = 64
23^2 = 529
Sqrt ( 64 + 529) is the length from point 6 back to point 1. p6 & p1
---
The SUM of those individual distances will give the entire length of the perimeter of the polygon.
=================================
Your initial post was almost perfect:
I thought that you actually meant:well the question consists of co-ordinates at points p1 and p2. These are:
p1 has co-ordinates (X1, Y1)
p2 has co-ordinates (X2, Y2)
The length of the line joining p1 and p2 is given by the equation of:
{ (X2 - X1)^2 + (Y2 - Y1)^2 } 1/2
{ (X2 - X1)^2 + (Y2 - Y1)^2 } ^ 1/2
which is
Sqrt( (x2-x1)^2 + (y2-y1)^2 )
Hope that helps.