This is what I came up with real quick. See if it gives you some ideas.VB Code:
' Define Corners 1, 2, 3, and 4 ' Find the lengths of ' Side 1_2 ' Side 2_3 ' Side 3_4 ' Side 4_1 ' Diagonal 1_3 ' Diagonal 2_4 ' ' 1-----------2 ' | | ' | | ' | | ' 4-----------3 ' ' If Side 1_2 = Side 3_4 and Side 4_1 = Side 2_3 Then ' Either Square, parallagram or Rectangle ' If Diagonal 1_3 = Diagonal 2_4 Then Rectangle or Square ' Else parallagram Option Explicit Private Type Corners X As Integer Y As Integer End Type Dim Corner(1 To 4) As Corners Dim Side(1 To 4) As Single Dim Diagonal(1) As Single Private Sub Form_Load() Me.AutoRedraw = True Me.Show ' Define the corners of the rectangle Corner(1).X = 400 Corner(1).Y = 400 Corner(2).X = 2400 Corner(2).Y = 200 Corner(3).X = 2500 Corner(3).Y = 1200 Corner(4).X = 500 Corner(4).Y = 1400 ' Draw the rectangle Me.Line (Corner(1).X, Corner(1).Y)-(Corner(2).X, Corner(2).Y) Me.Line -(Corner(3).X, Corner(3).Y) Me.Line -(Corner(4).X, Corner(4).Y) Me.Line -(Corner(1).X, Corner(1).Y) ' Get the length of each side Side(1) = GetLength(Corner(1), Corner(2)) ' Side 1_2 Side(2) = GetLength(Corner(3), Corner(4)) ' Side 3_4 Side(3) = GetLength(Corner(2), Corner(3)) ' Side 2_3 Side(4) = GetLength(Corner(4), Corner(1)) ' Side 4_1 ' Get Diagonal Lengths Diagonal(0) = GetLength(Corner(1), Corner(3)) Diagonal(1) = GetLength(Corner(2), Corner(4)) End Sub Private Function GetLength(FirstCorner As Corners, SecondCorner As Corners) As Single Dim A As Long Dim B As Long Dim C As Long A = Abs(FirstCorner.X - SecondCorner.X) B = Abs(FirstCorner.Y - SecondCorner.Y) C = A ^ 2 + B ^ 2 GetLength = Sqr(C) End Function




Reply With Quote