Построение графиков по формулам - VB
Формулировка задачи:
Здравствуйте господа хорошие.
Прошу помощи в осуществление моей идеи,а именно...
Не знаю,как сделать,чтобы отображалось сразу несколько координат(формул) на осях.(Делать всё одной формулой очень сложно).+ как записать 2 последние формулы?(фиолетовые)
Если не сложно,то помогите.
+С описанием,где и что даёт,означает,ибо туплю маленько
Вот предыдущий код,если что.
Заранее благодарен.
Всегда ваш,Артём.
Решение задачи: «Построение графиков по формулам»
textual
Листинг программы
Option Explicit Private Sub Form_Load() Dim old(6) As Single, x As Single, y As Single, d As Single, zx As Single, zy As Single, a As Single Width = 10500: Height = 7500: Scale (-7, 4)-(7, -4): AutoRedraw = True d = 0.001 For x = -7 To 7 Step d If Abs(Fix(x) - x) < d Then DrawWidth = 1 Me.Line (x, 4)-Step(0, -8), RGB(&H80, &H80, &H80) Me.Line (-7, x)-Step(14, 0), RGB(&H80, &H80, &H80) DrawWidth = 3 End If If Abs(x) <= 4 Then y = F1(x): If old(0) <> 0 Then Me.Line (x - d, old(0))-(x, y) old(0) = y End If If Abs(x) <= 1 And Abs(x) > 0.75 Then y = F2(x): If old(1) <> 0 Then Me.Line (x - d, old(1))-(x, y), vbRed old(1) = y End If If Abs(x) <= 0.5 Then y = F3(x): If old(2) <> 0 Then Me.Line (x - d, old(2))-(x, y), vbBlue old(2) = y End If If Abs(x) <= 0.75 And Abs(x) > 0.5 Then y = F4(x): If old(3) <> 0 Then Me.Line (x - d, old(3))-(x, y), vbGreen old(3) = y End If If Abs(x) <= 3 And Abs(x) > 1 Then y = F5(x): If old(4) <> 0 Then Me.Line (x - d, old(4))-(x, y), vbYellow old(4) = y End If Next For a = 0.44291104407364 To 2.53334707467958 Step d x = dX(a): y = dY(a) If old(5) <> 0 Then Me.Line (old(5), old(6))-(x, y), vbMagenta: Me.Line (-old(5), old(6))-(-x, y), vbMagenta old(5) = x: old(6) = y Next End Sub Private Function F1(ByVal x As Double) As Double F1 = Abs(x / 2) - ((3 * Sqr(33) - 7) / 112) * x * x - 3 + Sqr(1 - (Abs(Abs(x) - 2) - 1) ^ 2) End Function Private Function F2(ByVal x As Double) As Double F2 = 9 * Sqr(Abs((Abs(x) - 1) * (Abs(x) - 0.75)) / ((1 - Abs(x)) * (Abs(x) - 0.75))) - 8 * Abs(x) End Function Private Function F3(ByVal x As Double) As Double F3 = 2.25 * Sqr(Abs((x - 0.5) * (x + 0.5)) / ((0.5 - x) * (0.5 + x))) End Function Private Function F4(ByVal x As Double) As Double F4 = 3 * Abs(x) + 0.75 * Sqr(Abs((Abs(x) - 0.75) * (Abs(x) - 0.5)) / ((0.75 - Abs(x)) * (Abs(x) - 0.5))) End Function Private Function F5(ByVal x As Double) As Double F5 = 6 * Sqr(10) / 7 + (1.5 - 0.5 * Abs(x)) * Sqr(Abs(Abs(x) - 1) / (Abs(x) - 1)) - 6 * Sqr(10) / 14 * Sqr(4 - (Abs(x) - 1) ^ 2) End Function Private Function dX(ByVal x As Double) As Double dX = 7 * Sin(x) * Sqr(Abs(Abs(7 * Sin(x)) - 3) / (Abs(7 * Sin(x)) - 3)) End Function Private Function dY(ByVal x As Double) As Double dY = 3 * Cos(x) * Sqr(Abs(3 * Cos(x) + 3 * Sqr(33) / 7) / (3 * Cos(x) + 3 * Sqr(33) / 7)) End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д