File:Spider and web 1.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(2,400 × 1,800 pixels, file size: 617 KB, MIME type: image/png)

Captions

Captions

Spider and web

Summary[edit]

Description
English: Spider and web
Date
Source Own work
Author Merikanto

Mesh is from Cadnav

Black Widow Spider 3D Model

https://www.cadnav.com/3d-models/model-47909.html

Processed with MeshLab: remshing, add triangles, smoothing

converted with ivcon, result processed with text processor.

Pov-ray 3.7 src

//
// web of spider
 //     
// povray 3.7 src
//      


  1. include "colors.inc"
  2. include "textures.inc"
  3. include "glass.inc"
  4. include "metals.inc"
  5. include "golds.inc"
  6. include "stones.inc"
  7. include "woods.inc"


  1. include "functions.inc"
  2. include "math.inc"
  3. include "transforms.inc"
  1. include "shapes3.inc"


camera {

   angle 80
   location <20,10,-300>
   
   look_at <0,0,0>
   

}


light_source {

   <10000,10000,10000>*10000
   color rgb <1,1,1>

}

  /*

// sky ---------------------------------- sky_sphere{

pigment{ gradient <0,1,0>
         color_map{
    [0.00 color rgb<0.24,0.32,1> *0.3]
    [0.23 color rgb<0.16,0.32,0.9> *0.9]
    [0.37 color rgb<1,0.1,0> ]
    [0.52 color rgb<1,0.2,0> ]
    [0.70 color rgb<0.36,0.32,1> *0.7 ]
    [0.80 color rgb<0.14,0.32,1> *0.5 ]
    [1.00 color rgb<0.24,0.32,1> *0.3 ]
                  } // end color_map
    scale 5
  //  rotate <-20,0,0>
 //   translate <0,0.7,0>
} // end pigment

} // end sky_sphe

*/
   
 
   
sky_sphere {
   pigment {
     gradient y
     color_map {
       [ 0.0  color Green ]
       [ 1.0  color Blue ]
     }
     scale 2
     translate -1
   }
 }
   
  

/*

  1. declare obj1=sphere

{

   0,1
   scale 0.2
   texture {
       pigment {
           color Red
           }   
       }

}


  • /


  1. declare web_material_1=material

{

 texture{
   pigment{ rgbf<.93,.95,.98,0.825>*0.99}
   finish { ambient 0.0 diffuse 0.15
            reflection{0.1,0.1 }
            specular 0.6 roughness 0.005
            conserve_energy
          } 
 } 
 
 interior{ ior 1.33
            fade_power 1001
            fade_distance 0.5
            fade_color <0.8,0.8,0.8>
            caustics 0.16
  } 
} 


















  1. declare fii1=0.0;
#declare radius1=0.0;
#declare delta_fii1=30;
#declare delta_radius1=1; 
#declare skaleradius=25;
  1. declare web_thickness_1=0.4;


  1. declare fiis = array[200][200]
  2. declare radiuses = array[200][200]
  3. declare xxx = array[200][200]
  4. declare yyy = array[200][200]
  1. declare i=0;
  2. declare j=0;
  1. while (fii1<360)
   #declare i=0;
   
   #declare seed_fii1=seed(fii1*43211);  


   #declare radius1=0.0;



   #while (radius1<50) 
    
    #declare seed_radius1=seed(radius1*13241);  
      
     #declare radius2=radius1+(rand(seed_radius1))*0.5*0.5;
     #declare fii2=fii1+rand(seed_fii1)*5;
     
     
     #declare x1=cos(radians(fii2))*radius2*skaleradius;
     #declare y1=sin(radians(fii2))*radius2*skaleradius;
     
     
     #declare fiis[j][i]=fii2;
     #declare radiuses[j][i]=radius2; 
     
     #declare xxx[j][i]=x1;
     #declare yyy[j][i]=y1;
      
        
      
      
     
     
           /*
     
     object {
           obj1
     
         //  translate <fii2, radius2,0>
        //      translate <j,i,0>
       
             }    
             */
                 
   #declare radius1=radius1+delta_radius1;
   #declare i=i+1;
   #end
  
  #declare fii1=fii1+delta_fii1;
  #declare j=j+1;
  1. end


  1. declare jj=j-1;
  2. declare ii=i-1;


   // radius
   #for(i,0,ii-1)
 // fii
   #for(j,0,jj-1)       
        
       #declare randobase1=i*jj+j;
       #declare seeds1=seed(randobase1); 
        

       #declare radius2=radiuses[j][i];
       
       #declare fii2=fiis[j][i];
             // fii j , radius i
             
         #declare x1=xxx[j][i];
         #declare y1=yyy[j][i];
         #declare x2=xxx[j+1][i];
         #declare y2=yyy[j+1][i]; 
         #declare x3=xxx[j][i+1];
         #declare y3=yyy[j][i+1];
         #declare x4=xxx[j+1][i+1];
         #declare y4=yyy[j+1][i+1];
         
     
         #declare kfii1=(fiis[j][i+1]+fiis[j+1][i+1])/2;
         #declare kradius1=radiuses[j+1][i+1]*1;
         
         
         #declare mid_drift1=(rand(seeds1)*0.01)-0.005;
          
          
          
         #declare kx1=cos(radians(kfii1))*kradius1*skaleradius*0.9+mid_drift1;
         #declare ky1=sin(radians(kfii1))*kradius1*skaleradius*0.9+mid_drift1;
     
     
     
     
        // radial 
         object {
               cylinder 
               {
               <x1,y1,0>,<x3,y3,0>,web_thickness_1
               }  
               
               material { web_material_1 }
               
               } 
               
               
                  object {      
                cylinder 
               {
               <x3,y3,0>,<kx1,ky1,0>,web_thickness_1
               }  
                        
             }       
               
             
             
             
                    
                     object {      
                cylinder 
               {
               <kx1,ky1,0>,<x4,y4,0>,web_thickness_1
               }  
                        
             }         
                    
                    
               
        /*       
         object {      
                cylinder 
               {
               <x3,y3,0>,<x4,y4,0>,0.2
               }  
                        
             }  
           */  
             
             
            
            object {
               cylinder 
               {
               <x2,y2,0>,<x4,y4,0>,web_thickness_1
               }
               } 
   
              
   
   
   #end       
             
              
         #declare x5=xxx[0][i];
         #declare y5=yyy[0][i];
         #declare x6=xxx[jj][i];
         #declare y6=yyy[jj][i];       
              
                  object {
               cylinder 
               {
               <x5,y5,0>,<x6,y6,0>,web_thickness_1
               }
               } 
   
            
   
  1. end


         #declare x5=xxx[0][ii];
         #declare y5=yyy[0][ii];
         #declare x6=xxx[jj][ii];
         #declare y6=yyy[jj][ii];       
              
                  object {
               cylinder 
               {
               <x5,y5,0>,<x6,y6,0>,web_thickness_1
               }
               }  




  1. include "spider2.inc"



object {

spider1     

scale 0.05
rotate z*90

rotate z*-45

}

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current13:37, 10 April 2022Thumbnail for version as of 13:37, 10 April 20222,400 × 1,800 (617 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata