不好意思啊高手,代码如下代码如下
Private Sub 坐标系3(轴长, 最大值, 弯矩最大处)
Pic2.Scale (-轴长 / 5, 最大值 * 2)-(轴长 * 1.4, -(最大值 * 2))
Pic2.Line (0, -(最大值 * 1.5))-(0, 最大值 * 1.5)
Pic2.Line -(-轴长 / 100, 最大值 * 1.3), vbBlue
Pic2.Line (轴长 / 100, 最大值 * 1.3)-(0, 最大值 * 1.5), vbBlue
Pic2.Line (0, 0)-(轴长 * 1.25, 0)
Pic2.Line -(轴长 * 1.22, 最大值 / 16), vbBlue
Pic2.Line (轴长 * 1.22, -最大值 / 16)-(轴长 * 1.25, 0), vbBlue
Pic2.CurrentX = -轴长 / 100
Pic2.CurrentY = 0
Pic2.Print 0
Pic2.CurrentX = 轴长
Pic2.CurrentY = 0
Pic2.Print 轴长
Pic2.CurrentX = 弯矩最大处
Pic2.CurrentY = 0
Pic2.Print 弯矩最大处
Pic2.CurrentX = 轴长 * 1.25
Pic2.CurrentY = 0
Pic2.Print "X"
Pic2.CurrentX = 轴长 / 50
Pic2.CurrentY = 最大值 * 1.5
Pic2.Print "Y"
Pic2.CurrentX = 弯矩最大处 * 0.99
Pic2.CurrentY = 最大值 * 1.32
Pic2.Print Round(最大值)
End Sub
Private Sub 坐标系4(轴长, 最小值, 弯矩最小处)
Pic2.Scale (-轴长 / 5, Abs(最小值) * 2)-(轴长 * 1.4, -(Abs(最小值) * 2))
Pic2.Line (0, -(Abs(最小值) * 1.5))-(0, Abs(最小值) * 1.5)
Pic2.Line -(-轴长 / 100, Abs(最小值) * 1.3), vbBlue
Pic2.Line (轴长 / 100, Abs(最小值) * 1.3)-(0, Abs(最小值) * 1.5), vbBlue
Pic2.Line (0, 0)-(轴长 * 1.25, 0)
Pic2.Line -(轴长 * 1.22, Abs(最小值) / 16), vbBlue
Pic2.Line (轴长 * 1.22, Abs(最小值) / 16)-(轴长 * 1.25, 0), vbBlue
Pic2.CurrentX = -轴长 / 100
Pic2.CurrentY = 0
Pic2.Print 0
Pic2.CurrentX = 轴长
Pic2.CurrentY = 0
Pic2.Print 轴长
Pic2.CurrentX = 弯矩最小处
Pic2.CurrentY = 0
Pic2.Print 弯矩最小处
Pic2.CurrentX = 轴长 * 1.25
Pic2.CurrentY = 0
Pic2.Print "X"
Pic2.CurrentX = 轴长 / 50
Pic2.CurrentY = 最小值 * 1.5
Pic2.Print "Y"
Pic2.CurrentX = 弯矩最小处 * 0.99
Pic2.CurrentY = 最小值 * 1.32
Pic2.Print Round(最小值)
End Sub
Private Sub Command1_Click()
Pic2.Cls
Dim y()
l = Val(Text1.Text)
l1 = Val(Text2.Text)
p1 = Val(Text3.Text)
xp1 = Val(Text4.Text)
ReDim y(l * 1000)
Max = 0
Maxx = 0
Min = 0
Minx1 = 0
For i = 0 To l * 1000
x = i / 1000
Select Case x
Case Is <= xp1
y(i) = 0
Case Is <= l1
y(i) = -p1
Case Else
y(i) = p1 * (l1 - xp1) / (l - l1)
End Select
If y(i) > Max Then
Max = y(i)
Maxx = x
ElseIf y(i) < Min Then
Min = y(i)
Minx1 = x
End If
Next i
If Abs(Max) > Abs(Min) Then
坐标系3 l, Max, Maxx
Else
坐标系4 l, Min, Minx1
End If
For i = 0 To l * 1000
x = i / 1000
Pic2.PSet (x, y(i))
If i Mod (50 * l) = 0 Then
Pic2.Line (x, y(i))-(x, 0), vbBlue
End If
Next i
End Sub
高手您看看吧,vb绘制分段函数图像时在分段函数图像的分界点处函数图象不能够连接起来,那样很不美观,希望加上几条语句可以连接起来,可是调试了很长时间都没结果,只好到论坛上提问,可是没几个给回复的,希望高手帮帮忙,万分感激,谢谢