VFx_atan2 | VDx_atan2 | VEx_atan2 |
|
Funktion | arcus tangens-Funktion von als Quotienten angegebenen Argumenten |
|
Syntax C/C++ | #include <VFmath.h>
int VF_atan2( fVector Z, fVector X, fVector Y, ui size );
int VFx_atan2( fVector Z, fVector X, fVector Y, ui size, float A, float B, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::atan2( const vector<T>& X, const vector<T>& Y );
int vector<T>::x_atan2( const vector<T>& X, const vector<T>& Y, const T& A, const T& B, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_atan2( Z, X, Y:fVector; size:UIntSize ): IntBool;
function VFx_atan2( Z, X, Y:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
CUDA-Funktion C/C++ | #include <cudaVFmath.h>
int cudaVF_atan2( fVector d_Z, fVector d_X, fVector d_Y, ui size );
int cudaVFx_atan2( fVector d_Z, fVector d_X, fVector d_Y, ui size, float A, float B, float C );
int cusdVFx_atan2( fVector d_Z, fVector d_X, fVector d_Y, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_atan2( fVector h_Z, fVector h_X, fVector h_Y, ui size );
int VFxcu_atan2( fVector h_Z, fVector h_X, fVector h_Y, ui size, float A, float B, float C );
|
CUDA-Funktion Pascal/Delphi | uses VFmath;
function cudaVF_atan2( d_Z, d_X, d_Y:fVector; size:UIntSize ): IntBool;
function cudaVFx_atan2( d_Z, d_X, d_Y:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_atan2( d_Z, d_X, d_Y:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_atan2( h_Z, h_X, h_Y:fVector; size:UIntSize ): IntBool;
function VFxcu_atan2( h_Z, h_X, h_Y:fVector; size:UIntSize; A, B, C:Single ): IntBool;
|
|
Beschreibung | einfache Versionen: Zi = arctan( Yi / Xi )
erweiterte Versionen: Zi = C * arctan( Yi / (A*Xi+B) )
Aus cartesischen X-Y-Koordinaten wird der Winkel der entsprechenden Polar-Koordinaten berechnet.
Vorsicht: bei der Funktion atan2 von ANSI−C werden X und Y in umgekehrter Reihenfolge angegeben! |
|
Fehlerbehandlung | Sind Xi und Yi beide 0, entsteht ein DOMAIN-Fehler mit
dem vorgeschlagenen Resultat NAN ("not-a-number").
In C/C++; werden Xi und Yi für die Behandlung über _matherr und _matherrl als e->x und e->y übergeben. |
|
Rückgabewert | FALSE (0), wenn fehlerfrei, andernfalls TRUE (≠ 0). |
|
|