📄 center.frm
字号:
VERSION 5.00
Begin VB.Form Form1
AutoRedraw = -1 'True
BorderStyle = 1 'Fixed Single
Caption = "求中心"
ClientHeight = 8625
ClientLeft = 1545
ClientTop = 1485
ClientWidth = 12015
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 8625
ScaleWidth = 12015
Begin VB.TextBox Text4
Height = 375
Left = 2160
TabIndex = 18
Top = 2040
Width = 1335
End
Begin VB.TextBox Text3
Height = 375
Left = 720
TabIndex = 17
Top = 2040
Width = 1335
End
Begin VB.TextBox Text2
Height = 375
Index = 2
Left = 2160
TabIndex = 8
Top = 1560
Width = 1335
End
Begin VB.TextBox Text2
Height = 375
Index = 1
Left = 2160
TabIndex = 7
Top = 1080
Width = 1335
End
Begin VB.TextBox Text2
Height = 375
Index = 0
Left = 2160
TabIndex = 6
Top = 600
Width = 1335
End
Begin VB.TextBox Text1
Height = 375
Index = 2
Left = 720
TabIndex = 5
Top = 1560
Width = 1335
End
Begin VB.TextBox Text1
Height = 375
Index = 1
Left = 720
TabIndex = 4
Top = 1080
Width = 1335
End
Begin VB.TextBox Text1
Height = 375
Index = 0
Left = 720
TabIndex = 3
Top = 600
Width = 1335
End
Begin VB.Label Label5
Caption = "中心"
BeginProperty Font
Name = "黑体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 120
TabIndex = 19
Top = 2040
Width = 495
End
Begin VB.Line Line8
X1 = 12000
X2 = 11760
Y1 = 4500
Y2 = 4680
End
Begin VB.Line Line7
X1 = 11760
X2 = 12000
Y1 = 4320
Y2 = 4500
End
Begin VB.Line Line6
X1 = 6000
X2 = 5880
Y1 = 0
Y2 = 240
End
Begin VB.Line Line5
X1 = 6000
X2 = 6120
Y1 = 0
Y2 = 240
End
Begin VB.Line Line4
BorderColor = &H000000FF&
Index = 2
Visible = 0 'False
X1 = 720
X2 = 720
Y1 = 4920
Y2 = 5640
End
Begin VB.Line Line4
BorderColor = &H000000FF&
Index = 1
Visible = 0 'False
X1 = 480
X2 = 480
Y1 = 4920
Y2 = 5640
End
Begin VB.Line Line4
BorderColor = &H000000FF&
Index = 0
Visible = 0 'False
X1 = 240
X2 = 240
Y1 = 4920
Y2 = 5640
End
Begin VB.Label Label2
Caption = "Y"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 3
Left = 5760
TabIndex = 13
Top = 0
Width = 135
End
Begin VB.Label Label2
Caption = "X"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 2
Left = 11640
TabIndex = 12
Top = 4080
Width = 135
End
Begin VB.Line Line3
X1 = 0
X2 = 12000
Y1 = 4500
Y2 = 4500
End
Begin VB.Line Line2
X1 = 6000
X2 = 6000
Y1 = 0
Y2 = 9000
End
Begin VB.Line Line1
BorderColor = &H00FF0000&
Index = 2
Visible = 0 'False
X1 = 240
X2 = 240
Y1 = 3720
Y2 = 4440
End
Begin VB.Line Line1
BorderColor = &H00FF0000&
Index = 1
Visible = 0 'False
X1 = 720
X2 = 720
Y1 = 3720
Y2 = 4440
End
Begin VB.Line Line1
BorderColor = &H00FF0000&
Index = 0
Visible = 0 'False
X1 = 480
X2 = 480
Y1 = 3720
Y2 = 4440
End
Begin VB.Label Label2
Caption = "Y"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 1
Left = 2760
TabIndex = 10
Top = 240
Width = 135
End
Begin VB.Label Label2
Caption = "X"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 0
Left = 1320
TabIndex = 9
Top = 240
Width = 135
End
Begin VB.Label Label1
Caption = "C点"
BeginProperty Font
Name = "黑体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 2
Left = 240
TabIndex = 2
Top = 1560
Width = 375
End
Begin VB.Label Label1
Caption = "B点"
BeginProperty Font
Name = "黑体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 1
Left = 240
TabIndex = 1
Top = 1080
Width = 375
End
Begin VB.Label Label1
Caption = "A点"
BeginProperty Font
Name = "黑体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Index = 0
Left = 240
TabIndex = 0
Top = 600
Width = 375
End
Begin VB.Label Label3
Caption = "o"
BeginProperty Font
Name = "黑体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 6120
TabIndex = 11
Top = 4200
Width = 135
End
Begin VB.Label Label4
Alignment = 2 'Center
Caption = "C"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 2
Left = 7560
TabIndex = 16
Top = 5400
Width = 495
End
Begin VB.Label Label4
Alignment = 2 'Center
Caption = "B"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 1
Left = 5400
TabIndex = 15
Top = 2520
Width = 375
End
Begin VB.Label Label4
Alignment = 2 'Center
Caption = "A"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 4080
TabIndex = 14
Top = 5160
Width = 375
End
Begin VB.Label Label6
Alignment = 2 'Center
Caption = "M"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4800
TabIndex = 20
Top = 3720
Width = 375
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim kg As Integer
Dim XX(1 To 3), YY(1 To 3) As Double
Private Sub Form_Click()
kg = 0
End Sub
Private Sub Form_Load()
MsgBox ("单击A,B,C后可拖动三顶点;输入点坐标后,单击M可算中心。")
Form1.Width = 12100
Form1.Height = 9000
Call origin
For i = 0 To 2
Line1(i).Visible = True
Line4(i).Visible = True
Next i
Call drawthr
End Sub
Private Sub drawthr()
For i = 0 To 2
j = ((i + 2) Mod 3) + 1
Line1(i).X1 = XX(i + 1)
Line1(i).X2 = XX(j)
Line1(i).Y1 = YY(i + 1)
Line1(i).Y2 = YY(j)
Next i
For i = 0 To 2
Label4(i).Left = XX(i + 1) + 50
Label4(i).Top = YY(i + 1) + 50
Next i
For i = 0 To 2
Text1(i).Text = XX(i + 1) - 6000
Text2(i).Text = 4500 - YY(i + 1)
Next i
fm = (XX(2) - XX(3)) * (YY(2) - YY(1)) - (YY(2) - YY(3)) * (XX(2) - XX(1))
If fm = 0 Then
MsgBox ("在无穷远处!")
GoTo 11
End If
fzx = (XX(2) ^ 2 + YY(2) ^ 2) * (YY(1) - YY(3)) - (XX(1) ^ 2 + YY(1) ^ 2) * (YY(2) - YY(3)) + (XX(3) ^ 2 + YY(3) ^ 2) * (YY(2) - YY(1))
fzy = (XX(2) ^ 2 + YY(2) ^ 2) * (XX(1) - XX(3)) - (XX(1) ^ 2 + YY(1) ^ 2) * (XX(2) - XX(3)) + (XX(3) ^ 2 + YY(3) ^ 2) * (XX(2) - XX(1))
xc = -fzx / fm / 2
yc = fzy / fm / 2
Label6.Left = xc + 100
Label6.Top = yc + 100
For i = 0 To 2
Line4(i).X1 = xc
Line4(i).Y1 = yc
Next i
On Error GoTo 11
For i = 0 To 1
Line4(i).X2 = (XX(i + 1) + XX(i + 2)) / 2
Line4(i).Y2 = (YY(i + 1) + YY(i + 2)) / 2
Next i
Line4(2).X2 = (XX(3) + XX(1)) / 2
Line4(2).Y2 = (YY(3) + YY(1)) / 2
Text3.Text = xc - 6000
Text4.Text = 4500 - yc
11: End Sub
Private Sub origin()
XX(1) = 4000
XX(2) = 5000
XX(3) = 8000
YY(1) = 7000
YY(2) = 3000
YY(3) = 6000
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If kg <> 0 Then
XX(kg) = X
YY(kg) = Y
Call drawthr
End If
End Sub
Private Sub Label4_Click(Index As Integer)
kg = Index + 1
End Sub
Private Sub Label6_Click()
For i = 0 To 2
XX(i + 1) = Val(Text1(i).Text) + 6000
YY(i + 1) = 4500 - Val(Text2(i).Text)
Next i
Call drawthr
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -