Back to 3D

Lundi 26 Octobre 2009 à 12h28 - par evuez - dans Autres
Tags : code, POV-Ray,

Ça faisait longtemps que je n'avais pas touché à POV-Ray (un moteur de rendu 3D, POV-Ray signifie Persistence Of Vision - Raytracer), je m'y suis remis vite-fait hier soir, pour l'instant ça donne ça :



(j'ai eu l'idée du jeu d'échec en voyant la couverture du bouquin que je lisais )

Il faut que je retravaille les textures, et ensuite je ferais une petite animation, mais avec seulement deux pions (la flemme de m'amuser à en coder une vingtaine... ).

Pour ceux que ça intéresse et qui ne connaissent pas POV-Ray, le code est un mélange entre du C et du Python :
Code : pov-ray
  1.  
  2. global_settings{
  3. ambient_light rgb <0, 0, 0> // défini la lumière ambiente, rgb <0,0,0> est la couleur qu'on défini pour cette lumière : rgb = rvb = rouge-vert-bleu, donc le premier 0 correspond au rouge, le second au vert et le dernier au bleu, donc ici, ni rouge, ni bleu, ni vert, donc ça donne du noir)
  4. max_trace_level 10
  5. }
  6.  
  7. camera{
  8. location <-4,1,-10> // on place la caméra , les vecteurs étant dans l'ordre : x;y;z -> on a donc 4 vers la gauche, 1 vers le haut, et 10 en arrière
  9. look_at <0,0,0> //la caméra est dirigé vers l'origine
  10. }
  11.  
  12. light_source{
  13. <0, 10, 0>
  14. rgb <1,1,1>
  15. fade_distance 11
  16. fade_power 10
  17. spotlight
  18. point_at <-3, 0, -4>
  19. radius 90
  20. falloff 120
  21. tightness 5
  22. shadowless //les paramètres ci-dessus règle l'instensité de la lumière, ta largeur du rayon de projection, ... shadowless enlève les ombres
  23. }
  24.  
  25. light_source{
  26. <-4, 1, -10>
  27. rgb <1,1,1>
  28. fade_distance 11
  29. fade_power 10
  30. spotlight
  31. point_at <-3, 0, -4>
  32. radius 90
  33. falloff 120
  34. tightness 5
  35. shadowless
  36. }
  37.  
  38.  
  39. plane{ // défini le sol
  40. y //orientation du sol
  41. 0 //hauteur du sol
  42. texture{ //définition des textures
  43. pigment{
  44. checker //un damier...
  45. rgb <0,0,0> //noir...
  46. rgb <1,1,1> // et blanc
  47. }
  48. finish{
  49. ambient <1,1,1>
  50. diffuse .7
  51. phong 1
  52. specular 1
  53. metallic 1
  54. reflection .08
  55. filter .5
  56. }
  57. }
  58. }
  59.  
  60.  
  61.  
  62. union{
  63. lathe {
  64. cubic_spline
  65. 13,
  66. <0,0>,<1.5,0>,<1.3,0.3>,<1.45,0.7>,<1,1>,<0.99,1.1>,<0.9,1>,<0.5,2.5>,<0.76,4>,<1,4.05>,<0.85,4.1>,<0.03,4.35>,<0,2>
  67. sturm
  68. }
  69. sphere{
  70. <0,5.15,0>
  71. 0.8
  72. }
  73. scale <1,1,1>*0.3
  74. translate <-2.5+clock,0,-5.5+clock>
  75. texture{
  76. pigment{
  77. rgb <1,1,1>
  78. }
  79. finish{
  80. ambient <1,1,1>
  81. diffuse .55
  82. phong 1
  83. specular 1
  84. metallic 1
  85. reflection .05
  86. filter .9
  87. }
  88. }
  89. }
  90.  
  91.  
  92. union{
  93. lathe {
  94. cubic_spline
  95. 13,
  96. <0,0>,<1.5,0>,<1.3,0.3>,<1.45,0.7>,<1,1>,<0.99,1.1>,<0.9,1>,<0.5,2.5>,<0.76,4>,<1,4.05>,<0.85,4.1>,<0.03,4.35>,<0,2>
  97. sturm
  98. }
  99. sphere{
  100. <0,5.15,0>
  101. 0.8
  102. }
  103. scale <1,1,1>*0.3
  104. translate <1.7,0,0>
  105. texture{
  106. pigment{
  107. rgb <0.7,0,0>
  108. }
  109. finish{
  110. ambient <1,1,1>
  111. diffuse 0.5
  112. phong 1
  113. specular 1
  114. metallic 1
  115. reflection .02
  116. filter 1
  117. }
  118. }
  119. }
  120.  


Bon, je ne vais pas m'amuser à tout commenter, pour ceux qui veulent en savoir plus, je vous conseil d'aller faire un tour par ici et par

Commenter l'article

Bonne vacances !!!

Vendredi 23 Octobre 2009 à 21h43 - par evuez - dans Autres
Tags : blog, vacances,

Juste un petit post pour souhaiter de très bonne vacances pour ceux qui sont en vacances, et puis bah... pour les autres... bossez bien ?

PS : je vais procéder à un important changement sur le blog pendant les vacances, donc il y a de fortes probabilités qu'il y ait bon nombre de bugs vers le milieux des vacances sur le blog.
Merci de votre compréhension

Commenter l'article

Du nouveau sur le blog

Jeudi 22 Octobre 2009 à 20h23 - par evuez - dans AfterHaze
Tags : site, blog, projet, vacances, article,

Je viens tout juste de mettre en ligne les quelques fichiers que j'ai modifiés, et, comme vous aurez sûrement pu le remarquer, j'ai remplacé la rubrique "Article au hasard" par "Nuage de tags", jugeant qu'une rubrique présentant un article au hasard est un peu inutile.
Pour ceux qui ne sauraient pas ce qu'est un nuage de tags (si si ça existe je vous jure ) :
Citation : Wikipédia

Le nuage de mots-clefs (tag cloud en anglais) est une représentation visuelle des mots-clefs (tags) les plus utilisés sur un site web. Généralement, les mots s'affichent dans des polices de caractères d'autant plus grandes qu'ils sont utilisés ou populaires.

Le moteur de recherche fonctionne, je ferais quelques modifs pour l'améliorer un peu, et pour surligner le mot recherché dans les articles.
J'ai aussi amélioré les REGEX, et j'ai modifié le "search&replace" pour les smileys, en mettant un seul str_replace() pour tous les smileys, plutôt que un preg_match() par smileys.

Les vacances approchent (enfin ), et je vais donc pouvoir consacrer plus de temps au blog et au projet que "j'ai" présenté ici : http://afterhaze.sfhost.net/Projets-4 .

Commenter l'article

Code : fonctions pour les tags

Mercredi 21 Octobre 2009 à 20h45 - par evuez - dans AfterHaze
Tags : code,

Encore un petit bout de code (que j'ai terminé en début de semaine, mais pas le temps de poster )

Code : tags
  1.  
  2. <?php
  3. function filled($var){
  4. return (strlen($var)>1);
  5. }
  6. ?>
  7. <?php
  8. function tags($taglist, $do, $to_out)
  9. {
  10. $fp = fopen('tags.txt', 'r+');
  11.  
  12. if( $do == 'newtags' ){
  13. $accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
  14. $noaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
  15. $taglist = strtr($taglist, $accents, $noaccents);
  16.  
  17. $replace = array(' de ', ' le ', ' la ', ' pour ', ' un ', ' une ', 'd\'', 'l\'', 'avec');
  18. $by = ' ';
  19. $taglist = str_replace($replace, $by, $taglist);
  20.  
  21. $taglist = trim($taglist, ' ').',';
  22.  
  23. fseek($fp, 0, SEEK_END);
  24. fputs($fp, $taglist);
  25.  
  26. }
  27. elseif( $do == 'looktags' ){
  28. $taglist_in = fgets($fp);
  29. $taglist_in = explode(',', $taglist_in);
  30. $taglist_in = array_filter($taglist_in, 'filled');
  31. foreach( $taglist_in as $out_tags ){
  32. $pos_tag = stristr($to_out, ' '.$out_tags.' ');
  33. if( $pos_tag!==false ){
  34. echo '<a href="#">'.$out_tags.'</a>, ';
  35. }
  36. }
  37. }
  38. elseif( $do == 'tagcloud' ){
  39. $taglist_in = fgets($fp);
  40. $taglist_in = explode(',', $taglist_in);
  41. $taglist_in = array_filter($taglist_in, 'filled');
  42. foreach( $taglist_in as $out_tags ){
  43. $rand_size = rand(10,22);
  44. echo ' <a style="font-size: '.$rand_size.'" href="">'.$out_tags.'</a> ';
  45. }
  46. }
  47. else{
  48. }
  49.  
  50. fclose($fp);
  51.  
  52. return $taglist;
  53. }
  54. ?>
  55.  


J'ai préféré utiliser un fichier texte pour les tags, ça évite d'ouvrir une connexion avec MySQL pour rien, et puis pour le peu qu'il va contenir...

Commenter l'article

Problème des conteneurs trop grand sous IE résolu

Dimanche 11 Octobre 2009 à 20h40 - par evuez - dans AfterHaze
Tags : code, conteneurs, firefox,

Après avoir lu le commentaire de Hitto sur l'article "Re-désolé pour les "IE users"", je me suis remis à la quête d'une solution pour éviter les conteneurs 10 fois trop grand sous IE, et après quelques instant, je me suis dit que je pourrais simplement donner une taille, non pas maximale, mais juste un taille qui sera la même que le code soit très grand ou qu'il fasse 2 lignes. ça évite les conteneurs géants, et puis je ne pense pas poster beaucoup de codes de 2 lignes...
Bref, j'ai donc désormais ceci :

Code : div-code
  1.  
  2. #post_content .code pre{
  3. width: 95%;
  4. max-height: 350px !important; /* !important permet de "dire" à firefox et à tout le ptit monde qui tourne avec Gecko (et Webkit ?) de prendre cette propriété en priorité, donc si on rajoute un max-height ensuite, il ne sera pas pris en compte */
  5. height: 100% !important;
  6. height: 350px;
  7. overflow: auto;
  8. -moz-border-radius: 5px;
  9. -khtml-border-radius: 5px;
  10. -webkit-border-radius: 5px;
  11. border-radius: 5px;
  12. }
  13.  

Commenter l'article

A propos



Ce blog a été créer dans le but d'appronfondir mes connaisances dans le domaine du PHP, et un blog étant un blog, j'essairai d'ajouter régulièrement des infos sur mes nouveaux projets, sur l'actualité musicale, ...

Archives



2009 Septembre (7)
2009 Octobre (12)
2009 Novembre (9)
2009 Décembre (7)
2010 Janvier (6)
2010 Février (2)

Partenaires & Pub