3D - suite & fin (pour le moment du moins)

Lundi 26 Octobre 2009 à 22h21 - par evuez - dans Autres
Tags : code,

Bon je viens de finir la petite animation, je l'ai mise sur youtube, le gif faisant 9.80mo, j'ai pensé à ceux qui ont du 512k chez eux
Donc, le lien : Overgame - YouTube
( 12 images/secondes, j'aurais bien mis 24, mais vu le temps de rendu qu'il a fallu pour faire les 180 images déjà... )
Et pour le code final, ça donne ça :

Code : overgame.pov
  1. global_settings{
  2. ambient_light rgb <0, 0, 0>
  3. max_trace_level 10
  4. }
  5.  
  6. camera{
  7. #declare cam_y = (clock/2)+1;
  8. #declare cam_x = (clock/4);
  9. #declare cam_z = (clock/5)-10;
  10. location <cam_x,cam_y,cam_z>
  11. look_at <0,0,0>
  12. }
  13.  
  14. light_source{
  15. <0, 10, 0>
  16. rgb <1,1,1>
  17. fade_distance 11
  18. fade_power 10
  19. spotlight
  20. point_at <-3, 0, -4>
  21. radius 90
  22. falloff 120
  23. tightness 5
  24. shadowless
  25. }
  26.  
  27. light_source{
  28. <-4, 1, -10>
  29. rgb <1,1,1>
  30. fade_distance 11
  31. fade_power 10
  32. spotlight
  33. point_at <-3, 0, -4>
  34. radius 90
  35. falloff 120
  36. tightness 5
  37. shadowless
  38. }
  39.  
  40.  
  41. plane{
  42. y
  43. 0
  44. texture{
  45. pigment{
  46. checker
  47. rgb <0,0,0>
  48. rgb <1,1,1>
  49. }
  50. finish{
  51. ambient <1,1,1>
  52. diffuse .7
  53. phong 1
  54. specular 1
  55. metallic 1
  56. reflection .08
  57. filter .5
  58. }
  59. }
  60. }
  61.  
  62.  
  63.  
  64. union{
  65. lathe {
  66. cubic_spline
  67. 13,
  68. <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>
  69. sturm
  70. }
  71. sphere{
  72. <0,5.15,0>
  73. 0.8
  74. }
  75. scale <1,1,1>*0.3
  76. //--------------------------------------------------------------------------------
  77. #if( clock <= 1 )
  78. translate <-2.5+clock,0,-5.5+clock>
  79. #else
  80. #if( clock > 2 & clock <= 4 )
  81. translate <-(clock-2),0,(clock-2)>
  82. #else
  83. #if( clock >= 4 & clock <= 5 )
  84. translate <-2,0,2>
  85. #else
  86. #if( clock >=5 & clock <= 6 )
  87. translate <(clock-7),0,(clock-3)>
  88. #else
  89. translate <-1.5,0,-4.5>
  90. #end
  91. #end
  92. #end
  93. #if( clock < 2 )
  94. translate <0,0,0>
  95. #else
  96. translate <-1.5,0,-4.5>
  97. #end
  98. #end
  99. //--------------------------------------------------------------------------------
  100. texture{
  101. pigment{
  102. rgb <1,1,1>
  103. }
  104. finish{
  105. ambient <1,1,1>
  106. diffuse .55
  107. phong 1
  108. specular 1
  109. metallic 1
  110. reflection .05
  111. filter .9
  112. }
  113. }
  114. }
  115.  
  116.  
  117. union{
  118. lathe {
  119. cubic_spline
  120. 13,
  121. <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>
  122. sturm
  123. }
  124. sphere{
  125. <0,5.15,0>
  126. 0.8
  127. }
  128. scale <1,1,1>*0.3
  129. //--------------------------------------------------------------------------------
  130. #if( clock >= 1 & clock <= 2 )
  131. translate <0.5-(clock-1),0,0.5-(clock-1)>
  132. #else
  133. #if( clock >=2 & clock <=4 )
  134. translate <-0.5,0,-0.5>
  135. #else
  136. #if( clock >=4 & clock <=5 )
  137. translate <-1-(clock-4),0,-1-(clock-4)>
  138. #else
  139. translate <-2,0,-2>
  140. #end
  141. #if( clock <= 1 )
  142. translate <2,0,2>
  143. #end
  144. translate <0.5,0,0.5>
  145. #end
  146. #end
  147. //--------------------------------------------------------------------------------
  148. texture{
  149. pigment{
  150. rgb <0.7,0,0>
  151. }
  152. finish{
  153. ambient <1,1,1>
  154. diffuse 0.5
  155. phong 1
  156. specular 1
  157. metallic 1
  158. reflection .02
  159. filter 1
  160. }
  161. }
  162. }

et le .ini (pour l'animation) :
Code : clock.ini
  1. Antialias=On
  2. Antialias_Threshold=0.1
  3. Antialias_Depth=2
  4.  
  5. Input_File_Name="overgame.pov"
  6.  
  7. Initial_Frame=1
  8. Final_Frame=180
  9. Initial_Clock=0
  10. Final_Clock=6
  11.  
  12. Subset_Start_Frame=0
  13. Subset_End_Frame=180
  14.  
  15. Cyclic_Animation=On
  16. Pause_when_Done=Off


Voilà, c'est tout pour le moment
Si je fais des modifs je mettrais le post à jour

Commenter l'article

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

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