Programming Reference for VirtualLab Fusion
2025.1
|
This class defines 3-dimensional vectors of complex numbers. The class saves the x,y and z coordinates. More...
Public Member Functions | |
double | Abs () |
Calculates the absolute value of this Vector3C object. The absolute value is defined as the square root of Norm(). | |
Complex | ComplexAbs () |
Calculates the complex Norm of the Vector3C object. | |
bool | IsRealVector () |
Determines whether this vector is a pure real one, i.e. all imaginary parts are zero. | |
double | Norm () |
Calculates the norm of the present Vector3C object. The norm is defined as (X * Complex.Conjugate(X) + Y * Complex.Conjugate(Y) + Z * Complex.Conjugate(Z)).Re which is equal to the sum of the norms of the vector components. | |
void | Normalize () |
Normalizes the present Vector3C object. | |
override string | ToString () |
Converts a Vector3C into a string of format (X.Re + iX.Im;Y.Re + iY.Im;Z.Re + iZ.Im). | |
Vector3C (Complex x, Complex y, Complex z) | |
Creates a Vector3C from three double values. | |
Vector3C (Vector3C vec) | |
Creates a new Vector3C object from an existing object. | |
Static Public Member Functions | |
static Vector3C | CrossProduct (Vector3C a, Vector3C b) |
Calculates the cross product of two Vector3C objects. | |
static implicit | operator Vector3C (Vector3D vector3D) |
Converts a Vector3D object into a Vector3C object. | |
static bool | operator!= (Vector3C vector1, Vector3C vector2) |
Compares two Vector3C for inequality. The comparison will be done by comparing the values of the two x-, y- and z- components respectively. | |
static Vector3C | operator* (Complex factor, Vector3C vector) |
Multiplies a Vector3C objects with a Complex value. | |
static Vector3C | operator* (Vector3C a, Vector3C b) |
Multiplies two Vector3C objects. | |
static Vector3C | operator* (Vector3C vector, Complex factor) |
Multiplies a Vector3C object with a Complex value. | |
static Vector3C | operator+ (Vector3C a, Vector3C b) |
Adds two Vector3C objects. | |
static Vector3C | operator- (Vector3C a, Vector3C b) |
Subtracts two Vector3C objects. | |
static Vector3C | operator/ (Complex number, Vector3C vector) |
Performs a component wise division of a double value and a Vector3C object. The result is defined as new Vector3C(number / vector.X, number / vector.Y). | |
static Vector3C | operator/ (Vector3C a, Vector3C b) |
Performs a component wise division of two Vector3C objects. | |
static Vector3C | operator/ (Vector3C vector, Complex divisor) |
Performs a component wise division of a Vector3C object and a Complex value. | |
static bool | operator== (Vector3C vector1, Vector3C vector2) |
Compares two Vector3C for equality. The comparison will be done by comparing the values of the two x-, y- and z- components respectively. | |
static Complex | operator| (Vector3C a, Vector3C b) |
Calculates the scalar product of two Vector3C objects. The scalar product is defined as a.X * b.X + a.Y * b.Y + a.Z * b.Z. | |
Public Attributes | |
Complex | X |
X value of the Vector3C object. | |
Complex | Y |
Y value of the Vector3C object. | |
Complex | Z |
Z value of the Vector3C object. | |
Static Public Attributes | |
static readonly Vector3C | UnitVectorX |
A constant containing the unit vector in x-direction. | |
static readonly Vector3C | UnitVectorY |
A constant containing the unit vector in y-direction. | |
static readonly Vector3C | UnitVectorZ |
A constant containing the unit vector in z-direction. | |
static readonly Vector3C | ZeroVector |
A constant containing the zero vector (0, 0). | |
Properties | |
Vector3D | Im [get, set] |
Sets or gets a Vector3D object containing the the imaginary part of the x-, y- and z- components of the present Vector3C object. If an Vector3D object is set then the real parts of all components is not influences. | |
bool | IsUndefined [get] |
Gets whether a least one component of the vector is undefined. | |
Vector3D | Re [get, set] |
Sets or gets a Vector3D object containing the the real part of the x-, y- and z- components of the present Vector3C object. If an Vector3D object is set then the imaginary parts of all components is not influences. | |
This class defines 3-dimensional vectors of complex numbers. The class saves the x,y and z coordinates.
Creates a Vector3C from three double values.
x | X value of new Vector3C object. |
y | Y value of new Vector3C object. |
z | Z value of new Vector3C object. |
Creates a new Vector3C object from an existing object.
vec | Vector3C object to copy. |
double Abs | ( | ) |
Calculates the absolute value of this Vector3C object. The absolute value is defined as the square root of Norm().
Complex ComplexAbs | ( | ) |
Calculates the complex Norm of the Vector3C object.
Calculates the cross product of two Vector3C objects.
a | First operant used for cross product calculation. |
b | Second operant used for cross product calculation. |
bool IsRealVector | ( | ) |
Determines whether this vector is a pure real one, i.e. all imaginary parts are zero.
True
iff the imaginary parts of all vector components are zero.double Norm | ( | ) |
Calculates the norm of the present Vector3C object. The norm is defined as (X * Complex.Conjugate(X) + Y * Complex.Conjugate(Y) + Z * Complex.Conjugate(Z)).Re which is equal to the sum of the norms of the vector components.
Converts a Vector3D object into a Vector3C object.
vector3D | Vector3D object to convert into Vector3C object. |
Compares two Vector3C for inequality. The comparison will be done by comparing the values of the two x-, y- and z- components respectively.
vector1 | First Vector3C object to compare. |
vector2 | Second Vector3C object to compare. |
Multiplies a Vector3C objects with a Complex value.
factor | The Complex value to multiply. |
vector | The Vector3C object to multiply. |
Multiplies two Vector3C objects.
a | The first Vector3C object to multiply. |
b | The second Vector3C object to multiply. |
Multiplies a Vector3C object with a Complex value.
vector | The Vector3C object to multiply. |
factor | The Complex value to multiply. |
Adds two Vector3C objects.
a | The first Vector3C object to add. |
b | The second Vector3C object to add. |
Subtracts two Vector3C objects.
a | The first Vector3C object to subtract from. |
b | The second Vector3C object to subtract. |
Performs a component wise division of a double value and a Vector3C object. The result is defined as new Vector3C(number / vector.X, number / vector.Y).
number | The double value to divide by the components of the Vector3C object. |
vector | The Vector3C object used as divisor. |
Performs a component wise division of two Vector3C objects.
a | The first Vector3C object to divide by parameter b. |
b | The second Vector3C object used as divisor. |
Performs a component wise division of a Vector3C object and a Complex value.
vector | The Vector3C object to divide by the Complex value. |
divisor | The Complex value used as divisor. |
Compares two Vector3C for equality. The comparison will be done by comparing the values of the two x-, y- and z- components respectively.
vector1 | First Vector3C object to compare. |
vector2 | Second Vector3C object to compare. |
Calculates the scalar product of two Vector3C objects. The scalar product is defined as a.X * b.X + a.Y * b.Y + a.Z * b.Z.
a | First Vector3C object. |
b | Second Vector3C object. |
override string ToString | ( | ) |
Converts a Vector3C into a string of format (X.Re + iX.Im;Y.Re + iY.Im;Z.Re + iZ.Im).
|
get |
Gets whether a least one component of the vector is undefined.
true
iff at least one component of the vector is NaN
.