Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!
Bonjour tout le monde !
février 12, 2008 par rodingoTous derrière notre onze nationale
janvier 12, 2008 par rodingoLa fièvre Youtube
janvier 12, 2008 par rodingoLa voiture la moins chère du monde
janvier 10, 2008 par rodingoPresque trois fois moins chère que la Logan, la nano, du groupe indien Tata Motors, sera la voiture la moins chère au monde, avec un prix de base à 2500 dollars.
Présenté aujourd’hui au salon de New Delhi, le modèle du constructeur se veut être un produit «sûr» et «accessible à tous», même si pour l’heure les caractéristiques techniques s’avèrent être, à l’instar du prix, loin des standards occidentaux. Le moteur, de 624 cm3, affiche la même cylindrée qu’une moto. Côté confort, il ne faut prévoir ni climatisation ni fenêtres électriques dans sa version de base.
hop tombé dans le piège
janvier 10, 2008 par rodingo
bonne et heureuse année 1429.
janvier 10, 2008 par rodingoje souhaite a tous le monde une bonne année 1429 , et non pas 1428 comme a dit l’opérateur historique MT , pour ma part j’aimerais voire le monde plus beau , plus prospère et voire la Palestine un pays indépendant .
Racine carré de John Carmack
janvier 9, 2008 par rodingojohn carmack est, on peut le dire, un des plus grands programmeurs de jeu vidéo de notre temps. Il aura ébranlé par ses nombreux titres époustouflants comme Wolfenstein 3D, Doom et Quake, de par la qualité de travail qu’il fournissait, mais aussi par sa maîtrise du code. Puisque Carmack est un gentil-homme, il partage les idées de la communauté libre et opensource, ce qui est une aubaine pour la plupart d’entre nous, de voir les entrailles d’un jeu comme Quake 3 Arena par exemple.
Parmi tout ce code source, il y a bien deux fonctions qui auront fait du bruit : une fonction qui calcule une racine carré, et l’inverse d’une racine carré.
float Q_rsqrt( float number )
{ long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0×5f3759df – ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs – ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs – ( x2 * y * y ) ); // 2nd iteration, this can be removed #ifndef Q3_VM #ifdef __linux__ assert( !isnan(y) ); // bk010122 – FPE? #endif #endif return y; } Vous remarquerez que cette fonction est pour le moins étrange, puisqu'on ne remarque aucune boucle, aucun appel de fonctions mathématiques ANSI, rien qui pourrait laisser paraître l'utilisation d'un algorithme. Le résultat est directement donné via une suite de calcul élémentaire.
Le secret de la fonction provient du nombre magique 0x5f3759df, qui a une signification plus particulière en float ; passer d'un long à un float n'est pas commun : vous l'aviez révé, Carmack la fait.
Bref, toujours est-il que cette fonction ne donne bien évidemment pas le résultat exacte, mais une bonne approximation de celui-ci, suffisament pour un jeu vidéo. De plus, quand on sait que cette fonction est 4 fois plus rapide qu'un 1.0f/sqrt(x), on comprend que la fonction est parfaite pour un jeu vidéo.







