48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
Type vector
|
|
x As Double
|
|
y As Double
|
|
End Type
|
|
Type vector2
|
|
phi As Double
|
|
r As Double
|
|
End Type
|
|
Private Function vector_addition(u As vector, v As vector) As vector
|
|
vector_addition.x = u.x + v.x
|
|
vector_addition.y = u.y + v.y
|
|
End Function
|
|
Private Function vector_subtraction(u As vector, v As vector) As vector
|
|
vector_subtraction.x = u.x - v.x
|
|
vector_subtraction.y = u.y - v.y
|
|
End Function
|
|
Private Function scalar_multiplication(u As vector, v As Double) As vector
|
|
scalar_multiplication.x = u.x * v
|
|
scalar_multiplication.y = u.y * v
|
|
End Function
|
|
Private Function scalar_division(u As vector, v As Double) As vector
|
|
scalar_division.x = u.x / v
|
|
scalar_division.y = u.y / v
|
|
End Function
|
|
Private Function to_cart(v2 As vector2) As vector
|
|
to_cart.x = v2.r * Cos(v2.phi)
|
|
to_cart.y = v2.r * Sin(v2.phi)
|
|
End Function
|
|
Private Sub display(u As vector)
|
|
Debug.Print "( " & Format(u.x, "0.000") & "; " & Format(u.y, "0.000") & ")";
|
|
End Sub
|
|
Public Sub main()
|
|
Dim a As vector, b As vector, c As vector2, d As Double
|
|
c.phi = WorksheetFunction.Pi() / 3
|
|
c.r = 5
|
|
d = 10
|
|
a = to_cart(c)
|
|
b.x = 1: b.y = -2
|
|
Debug.Print "addition : ";: display a: Debug.Print "+";: display b
|
|
Debug.Print "=";: display vector_addition(a, b): Debug.Print
|
|
Debug.Print "subtraction : ";: display a: Debug.Print "-";: display b
|
|
Debug.Print "=";: display vector_subtraction(a, b): Debug.Print
|
|
Debug.Print "scalar multiplication: ";: display a: Debug.Print " *";: Debug.Print d;
|
|
Debug.Print "=";: display scalar_multiplication(a, d): Debug.Print
|
|
Debug.Print "scalar division : ";: display a: Debug.Print " /";: Debug.Print d;
|
|
Debug.Print "=";: display scalar_division(a, d)
|
|
End Sub
|