Построение графика в полярных координатах - VB
Формулировка задачи:
Подскажите, пожалуйста, как можно реализовать построение графика в полярных координатах в элементе PICTURE, если задан массив комплексных данных A(+-a+-bi) или значения амплитуды |A| и значения угла arctg(im(A)/re(A)
но получил беспорядочное расположение линий.
Мне нужно, чтобы график был похож на годограф Найквиста
Что мне нужно изменить???
Спасибо.
Решение задачи: «Построение графика в полярных координатах»
textual
Листинг программы
Public Type Complex Re As Double Im As Double End Type Public Function Cmplx(ByVal Real As Double, ByVal Imag As Double) As Complex Cmplx.Re = Real Cmplx.Im = Imag End Function Public Function Polar(ByVal Rho As Double, ByVal Arg As Double) As Complex Polar.Re = Rho * Cos(Arg) Polar.Im = Rho * Sin(Arg) End Function Public Property Get Rho(ByRef X As Complex) As Double If X.Im = 0 Then Rho = Abs(X.Re) ElseIf Abs(X.Re) < Abs(X.Im) Then Rho = Abs(X.Im) * Sqr(1 + Square(X.Re / X.Im)) Else Rho = Abs(X.Re) * Sqr(1 + Square(X.Im / X.Re)) End If End Property Public Property Get Arg(ByRef X As Complex) As Double Dim A As Double, piDiv2 As Double piDiv2 = 2 * Atn(1) 'pi/2 Select Case X.Re Case Is > 0 If (X.Im = 0) Then A = 0 Else A = Atn(X.Im / X.Re) End If Case 0 Select Case X.Im Case Is > 0: A = piDiv2 Case 0: A = 0 Case Is < 0: A = -piDiv2 End Select Case Is < 0 Select Case X.Im Case Is > 0: A = Atn(X.Im / X.Re) + 2 * piDiv2 Case 0: A = 2 * piDiv2 Case Is < 0: A = Atn(X.Im / X.Re) - 2 * piDiv2 End Select End Select Arg = A End Property
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д