PAlib: Some math functions...

Page principale | Modules | Liste des fichiers | Portée globale | Rechercher

# Some math functions...

## Macros

#define | PA_Cos(angle) PA_SIN[((angle) + 128)&511]
| Renvoie la valeur Cosinus d'un angle. Cette valeur est comprise entre -256 et 256... Attention : l'angle n'est pas en 360 degrés, mais en 512 !
#define | PA_Sin(angle) PA_SIN[((angle))&511]
| Renvoie la valeur Sinus d'un angle. Cette valeur est comprise entre -256 et 256... Attention : l'angle n'est pas en 360 degrés, mais en 256 !

## Fonctions

u32 | PA_Rand (void)
| Donne un numéro aléatoire... Ceci est pris de Ham, je n'ai aucun mérite.
void | PA_InitRand (void)
| Initialisation automatique du rand, basé sur l'horloge interne...
void | PA_SRand (s32 r)
| Initialiser le random avec un seed. Ceci est pris de Ham, je n'ai aucun mérite. J'ai juste raccourci/accéléré un peu le tout
u32 | PA_RandMax (u32 max)
| Donne un numéro aléatoire... Entre 0 et le nombre donné (inclus)
u32 | PA_RandMinMax (u32 min, u32 max)
| Donne un numéro aléatoire... Entre les 2 nombres donnés (inclus)
u64 | PA_Distance (s32 x1, s32 y1, s32 x2, s32 y2)
| Calculer la distance (au carré) entre 2 points
u64 | PA_TrueDistance (s32 x1, s32 y1, s32 x2, s32 y2)
| Calculer la vraie distance entre 2 points. Beaucoup plus lent que PA_Distance
u16 | PA_AdjustAngle (u16 angle, s16 anglerot, s32 startx, s32 starty, s32 targetx, s32 targety)
| Ajuster un angle, par exemple pour calculer la direction à prendre par un vaisseau
u16 | PA_GetAngle (s32 startx, s32 starty, s32 targetx, s32 targety)
| Récupérer l'angle, de 0 à 511, par rapport à l'horizontale...

## Variables

u16 | RandomValue

## Description détaillée

Adjust angles, get random values...

## Documentation des fonctions

u16 PA_AdjustAngle | ( | u16 | angle,
|  | s16 | anglerot,
|  | s32 | startx,
|  | s32 | starty,
|  | s32 | targetx,
|  | s32 | targety
| ) |

Ajuster un angle, par exemple pour calculer la direction à prendre par un vaisseau

Paramètres:

  | angle | Angle de base, de 0 à 511
  | anglerot | De combien tourner...
  | startx | Coordonnée X de base
  | starty | Coordonnée Y de base
  | targetx | Coordonnée X de la cible
  | targety | Coordonnée Y de la cible

inline u32 PA_Distance | ( | s32 | x1,
|  | s32 | y1,
|  | s32 | x2,
|  | s32 | y2
| ) | `[inline]`

Calculer la distance (au carré) entre 2 points

Paramètres:

  | x1 | Coordonnée X du premier point
  | y1 | Coordonnée Y du premier point
  | x2 | Coordonnée X du deuxième point
  | y2 | Coordonnée Y du deuxième point

inline u16 PA_GetAngle | ( | s32 | startx,
|  | s32 | starty,
|  | s32 | targetx,
|  | s32 | targety
| ) | `[inline]`

Récupérer l'angle, de 0 à 511, par rapport à l'horizontale...

Paramètres:

  | startx | Coordonnée X de base
  | starty | Coordonnée Y de base
  | targetx | Coordonnée X de la cible
  | targety | Coordonnée Y de la cible

inline u32 PA_RandMax | ( | u32 | max | ) | `[inline]`

Donne un numéro aléatoire... Entre 0 et le nombre donné (inclus)

Paramètres:

  | max | Valeur maximale incluse

inline u32 PA_RandMinMax | ( | u32 | min,
|  | u32 | max
| ) | `[inline]`

Donne un numéro aléatoire... Entre les 2 nombres donnés (inclus)

Paramètres:

  | min | Valeur minimale incluse
  | max | Valeur maximale incluse

void PA_SRand | ( | s32 | r | ) | `[inline]`

Initialiser le random avec un seed. Ceci est pris de Ham, je n'ai aucun mérite. J'ai juste raccourci/accéléré un peu le tout

Paramètres:

  | r | Seed...

inline u32 PA_TrueDistance | ( | s32 | x1,
|  | s32 | y1,
|  | s32 | x2,
|  | s32 | y2
| ) | `[inline]`

Calculer la vraie distance entre 2 points. Beaucoup plus lent que PA_Distance

Paramètres:

  | x1 | Coordonnée X du premier point
  | y1 | Coordonnée Y du premier point
  | x2 | Coordonnée X du deuxième point
  | y2 | Coordonnée Y du deuxième point