Перейти на страницу файла на Викискладе

Файл:Hd 10180 planet system 1 1 1 1.png

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл(1600 × 500 пкс, размер файла: 174 КБ, MIME-тип: image/png)

Краткое описание

Описание
English: HD 10180 planet system
Дата
Источник Собственная работа
Автор Merikanto

Source od data is NASA exoplanet archive, 13.2.2024 Selct six planets

https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=PSCompPars

POV-Ray 3.8 source code

////////////////////////// // // planet system rendering test v 2.0 with POV-Ray 3.8 for linux // // 13.01.2024 v2 rel 0000.0006x1a4 // ////////////////////////////

  1. include "functions.inc"
  2. include "rand.inc"

camera { location <0,0,10>*5 look_at 0 up -3/10

   right -10/10

}

light_source { <-10000,0,10000>*10000 color rgb <1,1,1>*2 }

  1. declare samples1=2;
  1. macro star2(xloc1, yloc1, zloc1,size1,color1, color2)

union {

 sphere {
 0, 1
 pigment { color rgb color2 }
 finish {ambient color2*2}
    scale 0.25
   }
sphere {
 0, 1
 pigment { color rgbf 1 }
 hollow
 interior {
   media {
     emission 10
     method 3
     intervals 2
     samples samples1
    // emission_type 2
    // emission_extinction 2
     density {

// spherical

//function {exp(-sqrt(x*x+y*y+z*z))}

           function { 1/(3000)*pow( sqrt(x*x+y*y+z*z),-4 ) *f_granite(atan(x/y),atan(y/x),atan(z/x))
            *pow( sqrt(x*x+y*y+z*z),-4 )
           }    
               
 //  function {pow(1*f_spherical(x,y,z),4)*0.33 }

// scallop_wave

//    function {pow( (2*(sqrt(x*x+y*y+z*z))) ,-1) } 
     //    function {pow(f_spherical(x,y,z),2)*f_wrinkles(x*1000,y*1000,z*1000) }  
         //      function {f_wrinkles(x*10,y*10,z*10) }  
       color_map {
         [ 0.0 rgb 0.0 ] 
      //      [ 0.2 rgb color1*0.05   ]
       //  [ 0.6 rgb  color1*0.5 ]
         [ 1.0 rgb  color2*2 ]
       }
     }
   }

 // absorbing stuff#declare samples1=30;


 }

} scale size1

	translate x*xloc1

translate y*yloc1 translate z*zloc1 } // juunion

  1. end
  1. macro print_string(str1, col1, x1, y1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { color rgb col1 } 
   finish {ambient 1}
   scale 5
   translate x*x1
   translate y*y1
   translate z*0.2 
   
 }
  1. end
  1. macro print_caption(str1, x1, y1, skale1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { color rgb <1,1,1> } 
       finish {ambient 1}
   scale 3*skale1
   translate x*x1
   translate y*y1
   translate z*0.3 
   
 }
  1. end
  1. macro star01 (xloc1, yloc1, zloc1, size1, name1, color1, color2)

object { sphere {0,1} texture { pigment { wrinkles scale 1/10 turbulence 0.5 color_map { [0 color rgb color1] [1 color rgb color2] } }

finish { diffuse 0.6 ambient 1} }

scale size1

translate x*xloc1 translate y*yloc1 translate z*zloc1

}

  1. end
  1. macro planet01 (xloc1, yloc1,zloc1, size1, name1, color1, color2)

object { sphere {0,1} texture { pigment { wrinkles scale y/3 color_map { [0 color rgb color1] [1 color rgb color2] } }

finish { diffuse 0.6 ambient 1}

}

scale size1 translate x*xloc1 translate y*yloc1 translate z*zloc1 }

  1. end
  1. declare pig_clouds_1= pigment {
 wrinkles 
//omega 0.5

//lambda 0.5 scale 1/5

 turbulence 1

scale 3

warp { turbulence 0.5}

scale 1/3

scale 10

warp { turbulence 0.5}

scale 1/10 }

  1. declare clouds_1= object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

sphere {0,1.005} texture {

pigment {
 //pig_clouds_1
   wrinkles 
  // granite
   warp { turbulence 0.5 }
   turbulence randi1 
   turbulence 0.5
   scale 1/2
   rotate x*randi1*180
       rotate y*randi1*360
   color_map {
       [0 color rgbt <1,1,1,1>]
      [0.3 color rgbt <1,1,1,1>]   
  [1 color rgbt  <1,1,1,0>*1]
   }
}
//   normal { pigment_pattern { pig_clouds_1 } 0.1 }
 finish { ambient 0 diffuse 0.42 brilliance 0.4}

} }

  1. declare clouds_2= object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

sphere {0,1.002} texture {

pigment {
 //pig_clouds_1
   wrinkles 
  // granite

scale 0.1

  warp { turbulence 1 }

scale 10

scale z/6
   turbulence randi1 
 //  turbulence 0.5
   scale 1/2
   rotate x*randi1*180
       rotate y*randi1*360
   color_map {
       [0 color rgbt <1,1,1,1>]
  //    [0.3 color rgbt <1,1,1,1>]   
  [1 color rgbt  <1,1,1,0>*1]
   }
}
//   normal { pigment_pattern { pig_clouds_1 } 0.1 }
 finish { 
   ambient 0 diffuse 0.42 brilliance 0.4 phong 0.05 phong_size 1 specular 0.01 
 metallic
   }

} }


  1. declare atmos_1 = object

{ sphere {0,1 }

 pigment{ rgbt 1 }
   hollow
interior{ //-----------
media{
 emission <-0.4,0.7,1>*0
 scattering{ 3, 
 
 <0.24, 0.47, 1>*15 // rayleigh atm!
 
 
             extinction  5 }
 density{ 
 spherical
 

// poly_wave 6.7

 poly_wave 6
   color_map {
    [0.0 rgb 0.0]//
    [1.0 rgb 1]//
    }
   } 
 } 
} 

//scale 2.7*0.9 scale 1.75 }


  1. declare rings_1=object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;
 torus { 2, 0.5 scale y/100 
 

  texture {
  pigment { 
   
   //onion
   //function {f_onion(x,y,z)}
   function {f_granite(f_onion(x,y,z),randi1,randi2) }
  poly_wave 2
  color_map {
  
   [0 color rgbt <1,1,1,1> ] 
  [1 color rgbt <1,1,1,0.5>*1 ] }
  
  }
  }
   finish {diffuse 0.3 phong 0.3}
  
  }

} // rings

  1. macro planet_base_1 (xloc1, yloc1,zloc1, size1, type1, inclination1)
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

object { sphere {0,1}


#if (type1="basic") #declare type1="base"; #end #if (type1="basic2") #declare type1="base2"; #end


#if(type1="base")

texture {

pigment {

wrinkles scale 1/3

turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.741176, 0.486275, 0.423529>] [1 color rgb <0.305882, 0.121569, 0.0862745>]

} }

finish { diffuse 0.6 ambient 0 phong 0.1}

}

#end

#if(type1="base2")

texture {

pigment {

wrinkles //agate //bozo //granite

turbulence 1 scale 1/2

scale y/3

warp {turbulence 0.5 }


turbulence randi2/5 rotate z*inclination1

color_map { // [0 color rgb <0.741176, 0.486275, 0.423529>*0.8] // [0.5 color rgb <0.741176, 0.486275, 0.423529>] [0.0 color rgb <1,0.5,0>] [1 color rgb <1,1,1>]

} }

finish { diffuse 0.6 ambient 0 phong 0.1}

}

texture { pigment {color rgbt <0.5,0.5,0.5,0.5>} finish { phong 0.1 specular 0.05 } }


#end

#if (type1="stone") #declare type1="rock"; #end

#if (type1="stone2") #declare type1="rock2"; #end


#if(type1="rock")

texture {

pigment {

       function {

//( f_hetero_mf(x,y,z, 0.9, 1.7,13, 0.5, 0.9, 3 )*4/10* (f_ridged_mf(x*3,y*3,z*3,0.5,2,64,-0.7,0.8, 2)) *0.25)

0.8*(f_wrinkles(x*5,y*5,z*5)*0.5+f_granite(x,y,z)*0.5) +0.2*f_granite(x*10,y*10,z*10)

   }
       scale 4


warp { turbulence 0.3} // scale 1/3 octaves 60


turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.807843, 0.588235, 0.415686>*1.0-randi2/10]

[1 color rgb <0.521569, 0.431373, 0.337255>*0.5+randi3/10]


} }

finish { diffuse 0.6 ambient 0 phong 0.05 specular 0.1 }

}

#end

#if(type1="rock2")

texture {

pigment { //granite wrinkles color_map { [0 color rgb <0.796078, 0.584314, 0.458824> ] [1 color rgb <0.25098, 0.258824, 0.301961>] }

}


finish { diffuse 0.6 ambient 0 phong 0.05 specular 0.1 }

normal { granite bump_size 0.1 scale 0.2}

}


#end

#if (type1="ocean") #declare type1="water"; #end #if(type1="water")

texture {

pigment {

wrinkles scale y/3 turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.239216, 0.380392, 0.568627>] [1 color rgb <0.960784, 0.992157, 0.992157>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if(type1="ice")

texture {

pigment {

wrinkles //scale y/3 // turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb 1] [1 color rgb 0.9] } }

finish { diffuse 0.6 ambient 0}

}

#end


#if (type1="minineptune") #declare type1="gasdwarf"; #end

#if (type1="minineptune2") #declare type1="gasdwarf2"; #end


#if(type1="gasdwarf")

texture {

pigment {

function { f_granite (y,randi1*f_wrinkles(x,y,z), randi2)}

rotate z*inclination1

color_map { [0 color rgb <0.670588, 0.866667, 0.894118>] [1 color rgb <0.254902, 0.72549, 0.792157>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if(type1="gasdwarf2")

texture {

pigment {

//function { f_granite (y,randi1*f_wrinkles(x,y,z), randi2)} function { f_wrinkles (0,y+randi1,0) }

scale 10 warp { turbulence 0.5} scale 1/10

rotate z*inclination1

color_map { [0 color rgb <0.15,1,1>*1] [1 color rgb <0.15,0.15,1>*1] } }

finish { diffuse 0.6 ambient 0 phong 0.01 }

}

#end

#if(type1="neptune")

texture {

pigment {

//granite function { f_granite (y,randi1, randi2)} scale 10 warp { turbulence 0.5} scale 1/10

scale y/3 // turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.827451, 0.960784, 0.968627>] [1 color rgb <0.662745, 0.819608, 0.87451>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if(type1="saturn")

texture {

pigment {

//wrinkles function { f_granite (y,randi1, randi2)}

scale 10 warp { turbulence 0.5} scale 1/10

// turbulence randi2/5 rotate z*inclination1

// scale y/5


color_map { [0 color rgb <0.941176, 0.827451, 0.529412>] [1 color rgb <0.701961, 0.592157, 0.407843>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if (type1="gasgiant") #declare type1="gas"; #end

#if (type1="giant") #declare type1="gas"; #end

#if (type1="jupiter") #declare type1="gas"; #end

#if(type1="gas")

texture {

pigment {

function { f_agate (y,randi1, randi2)} //wrinkles scale 10 warp { turbulence 0.5} scale 1/10

// turbulence randi2/5 rotate z*inclination1

// scale y/5


color_map { [0 color rgb <0.764706, 0.615686, 0.466667>] [1 color rgb <0.960784, 0.960784, 0.992157>] } }

finish { diffuse 0.6 ambient 0}

}

#end


// objekt modifiers

scale size1 translate x*xloc1 translate y*yloc1 translate z*zloc1 }

  1. end

///////// parameters of planet system

// https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=PSCompPars

  1. declare numplanets1=6;
  1. declare systemname1="HD 10180";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e", "f", "g" }
  3. declare distances1=array[numplanets1]{ 0.06412,0.12859,0.2699,0.4929,1.427,3.381}
  1. declare radiuses1=array[numplanets1]{3.68,3.45,5.39,5.24,4.91,9.4}
  1. declare types1=array[numplanets1]{ "neptune", "neptune" , "neptune", "neptune", "neptune", "saturn"}

//#declare types1=array[numplanets1]{ "gasdwarf", "gasdwarf" , "gasdwarf", "basic2", "gasdwarf"} //#declare types1=array[numplanets1]{ "neptune", "neptune","neptune","neptune","neptune" }

//#declare types1=array[numplanets1]{"basic", "basic","basic","basic","basic" }

//#declare masses1=array[numplanets1]{}

  1. declare atmoses1=array[numplanets1]{1,1,1,1,1,1}
  2. declare cloudeses1=array[numplanets1]{0,0,0,0,0,0}
  3. declare ringeses1=array[numplanets1]{0,0,0,0,0,1}
  1. declare radiuscoeff1=0.5;

////////////////////////////

  1. declare starsize1=10;
  1. declare planetoffset1=starsize1*1;
  2. declare dmax1=55;
  1. declare starx1=-40;

//#declare dmax1=55 ; //abs(starx1)*2-30;

//star01(starx1,0.0,1.0,starsize1,"star1",<1,1,0>, <1,1,0.5>)

//#declare starcolor1 = <1,1,0>; //#declare starcolor2 = <1,1,0.5>;

  1. declare starcolor1 = <1.0,0.637,0.34>;
  2. declare starcolor2 = <1.0,0.637,0.34>*0.95;
  1. declare starsize1 =5;

star2(starx1, 0,0, starsize1,starcolor1, starcolor2)

  1. declare beginx1=distances1[0];
  2. declare endx1=distances1[numplanets1-1];
  1. declare dfx1=log(endx1)-log(beginx1);
  2. declare dkx1=dmax1/dfx1;
  1. declare color1=<0.368627, 0.317647, 0.258824>;
  2. declare color2=<0.956863, 0.701961, 0.470588>;

print_caption(systemname1, -10, 8,1.5)

#declare col1=<1,1,1>; //print_string("Radius Re: ",col1, starx1, -11)


  1. for (nn,0,(numplanets1-1) )

#declare planetx1=distances1[nn]; //#declare planetx1=0nn*0.1;

#declare planetr1=radiuses1[nn]*radiuscoeff1;

#declare dpx1=log(planetx1)-log(beginx1);

#declare sitex1=starx1+starsize1+planetoffset1+dpx1*dkx1;

//#declare sitex2=starx1+starsize1+planetoffset1+nn*dkx1*0.08; //#declare sitex1=sitex2;

//planet01(sitex1,0,0, planetr1,"b",color1, color2)

#declare type1=types1[nn];

#declare randi1= SRand(0) ; #declare randi2= SRand(1) ; #declare randi3= SRand(2) ; #declare randi4= SRand(3) ;

#declare inclination1=randi1*90;

planet_base_1 (sitex1, 0,0, planetr1, type1, inclination1)

#declare isatm1=atmoses1[nn];

#debug "PIIP PIIP PIIP"

#if (isatm1=1) object { atmos_1 scale planetr1 translate x*sitex1}


#end

#if (cloudeses1[nn]=1) object { clouds_2 scale planetr1 rotate z*inclination1 translate x*sitex1} #end


#if (ringeses1[nn]=1) object { rings_1 rotate z*inclination1 scale 1 scale planetr1 translate x*sitex1} #end


#declare col1=<1,0,0>; print_string(names1[nn], col1, sitex1-1, -11)

#declare rstring1=concat ( str(radiuses1[nn],3,1 ),"") ;

#declare col1=<1,1,1>; //print_string(rstring1,col1, sitex1-1, -11)

  1. end

Лицензирование

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 4.0 International
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл
HD 10180 planet system

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий07:39, 13 февраля 2024Миниатюра для версии от 07:39, 13 февраля 20241600 × 500 (174 КБ)MerikantoUploaded own work with UploadWizard

Нет страниц, использующих этот файл.

Метаданные