Построение на экране известных математических кривых, заданных уравнениями - VB
Формулировка задачи:
Составить программы построения на экране известных математических кривых, заданных уравнениями в параметрическом виде (a>0)
Решение задачи: «Построение на экране известных математических кривых, заданных уравнениями»
textual
Листинг программы
Option Explicit Const PI As Double = 3.14152, Sk As Integer = 10 Dim X As Double, Y As Double, r As Double, f As Double, t As Double Dim a As Single, i As Single, P As PictureBox, L As Double Private Sub Command1_Click() Call Scal Call Graf Call Coord End Sub Private Sub Graf_1() For t = -Sk To Sk Step 0.001 X = (a * (t ^ 2 - 1)) / (t ^ 2 + 1) Y = (a * t * (t ^ 2 - 1)) / (t ^ 2 + 1) P.Circle (X, Y), 0.03, RGB(255, 0, 0) Next t End Sub Private Sub Graf_2() For t = -Sk To Sk Step 0.001 X = a * (t - Sin(t)) Y = a * (1 - Cos(t)) P.Circle (X, Y), 0.03, RGB(255, 0, 0) Next t End Sub Private Sub Graf_3() L = CSng(Replace(Text3.Text, ".", ",")) For t = -Sk To Sk Step 0.001 X = a * (t - L * Sin(t)) Y = 1 - L * Cos(t) P.Circle (X, Y), 0.03, RGB(255, 0, 0) Next t End Sub Private Sub Graf_4() For X = -Sk To Sk Step 0.001 Y = a ^ 3 / (X ^ 2 + a ^ 2) P.Circle (X, Y), 0.03, RGB(255, 0, 0) Next X End Sub Private Sub Graf() Select Case True Case Option1(0).Value: Call Graf_1 Case Option1(1).Value: Call Graf_2 Case Option1(2).Value: Call Graf_3 Case Option1(3).Value: Call Graf_4 End Select End Sub Private Sub Scal() Set P = Picture1 P.Cls 'a = InputBox(" Введите a = ", "Ввод данных", 2.2) a = CSng(Replace(Text1.Text, ".", ",")) P.DrawStyle = 0: P.AutoRedraw = True P.Scale (-Sk, Sk)-(Sk, -Sk) P.Line (-Sk, 0)-(Sk, 0), RGB(0, 0, 255) 'ocb X P.Line (0, -Sk)-(0, Sk), RGB(0, 0, 255) 'ocb Y End Sub Private Sub Coord() 'Kоординатная сетка P.DrawStyle = 2 ' Пунктирная линия For i = -Sk To Sk 'Step 0.5 P.CurrentX = 0 ' оцифровка P.CurrentY = i P.Print Format$(i, "0.0") P.Line (-0.05, i)-(0.05, i) ' засечка P.Line (-Sk, i)-(Sk, i) Next i For i = -Sk To Sk 'Step 0.5 P.CurrentX = i ' оцифровка P.CurrentY = 0 P.Print Format$(i, "0.0") P.Line (i, -0.05)-(i, 0.05) ' засечка P.Line (i, -Sk)-(i, Sk) Next i P.DrawStyle = 2 ' Пунктирная линия End Sub Private Sub Command2_Click() End End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д