Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

frikpl

Projekt Pov-Ray potrzebna pomoc

Rekomendowane odpowiedzi

witam serdecznie wszystkich forumowiczów,

jako, że za każdym razem gdy miałem tęgą rozkminę lub problem zwracałem się do szanownych forumowiczów :) tak, że i tym razem chciałbym zwrócić się do was o pomocną dłoń.

mianowicie mam do zrobienia projekt w programie pov-ray, ma to być krótka animacja (20-40 sek) niestety jestem dość zielony w tym programie a umyśliłem sobie coś takiego:

jest sobie układ słoneczny (bez wielkich szczegółów):

wszystko się kręci jak powinno, słońce w bezruchu, reszta planet wokół niej (księżyc wokół ziemi).

potem słońce "puchnie", pochłania parę planet, kurczy się i zmienia w białego karła, koniec ^^

niestety na zamyśle, utknąłem na zrobieniu planet i staram się żeby to wszystko się kręciło, ale jakieś dziwne rzeczy mi wychodzą ;p

skale i odległości zaczerpnięte z Wikipedii ale od razu widać, że będzie trzeba zmniejszyć słońce bo wszystko się gubi na jego tle.

oto kod jaki mam :


#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "metals.inc"
#include "glass.inc"
#include "woods.inc"


background{color White}

camera {
  location <-2, 0, 0> 

  look_at <0,0,0>

}
light_source 
{ 
<550, 0,0> 
color White 
} 

light_source 
{ 
<-1090,0,0> 
color White 
} 
light_source 
{ 
<0, 550,0> 
color White 
shadowless} 

#declare sun=sphere { <0,0,0> 54

           texture {
              pigment{

                 image_map {
                    gif "sun.gif"
                    map_type 1  // Esfera  

                 }
              }
           }

        rotate <0,0,0>


        }

       #declare merkury=sphere { <57,0,0> 0.38
           texture {
              pigment{
                 image_map {
                    gif "merkury.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }


            #declare wenus=sphere { <108,0,0> 0.94
           texture {
              pigment{
                 image_map {
                    gif "wenus.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
            #declare ziemia=sphere { <149,0,0> 1
           texture {
              pigment{
                 image_map {
                    gif "ziemia.gif"
                    map_type 1  // Esfera
                 }
              }
           }

                #declare moon=sphere { <1,0,0> 0.27
           texture {
              pigment{
                 image_map {
                    gif "moon.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
               #declare mars=sphere { <227,0,0> 0.53
           texture {
              pigment{
                 image_map {
                    gif "mars.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

                #declare jowisz=sphere { <778,0,0> 11.2
           texture {
              pigment{
                 image_map {
                    gif "jowisz.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

             #declare saturn=sphere { <1426,0,0> 9.44
           texture {
              pigment{
                 image_map {
                    gif "saturn.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
             #declare uran=sphere { <2870,0,0> 4
                         texture {
              pigment{
                 image_map {
                    gif "uran.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 
               #declare neptun=sphere { <4500,0,0> 3.88
           texture {
              pigment{
                 image_map {
                    gif "neptun.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }    

          }  
              #declare ziemia_moon=union
 {
         object { ziemia                   rotate y*360*365*clock } 
         object { moon          translate x*10   rotate y*360*27*clock }

 }

             object { sun }                                  
             object { merkury rotate y*87*365*clock }                                     
             object { wenus   rotate y*224*365*clock}
             object { ziemia_moon  }     
             object { mars    rotate y*687*365*clock }
             object { jowisz  rotate y*4333*365*clock}
             object { saturn  rotate y*10756*365*clock }  
             object { uran    rotate y*30707*365*clock}
             object { neptun  rotate y*60223*365*clock }    



source kod i grafika

http://www.sendspace.pl/file/87a05d6210e79f6f6edf987

 

jak to ogarnąć? proszę o pomoc.

jak ustawić światło żeby jego źródłem było słońce?

jak wstawić zdjęcie jako "background" żeby był efekt przestrzeni kosmicznej?

 

małymi kroczkami i z waszą pomocą musi się udać!! ;]

pozdro :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

troszke poprawiłem kod i teraz wygląda to tak:

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "metals.inc"
#include "glass.inc"
#include "woods.inc" 
#include "stars.inc"




camera {
  location <0, 20, -100> 

  look_at <0,0,0>

   } 


#declare T_space_gas = 
texture{
pigment {
   bozo
   turbulence 0.8   octaves 10
   omega 0.5        lambda 2.5
   color_map {
       [0.0, 0.4 color rgbt<0, 0, 0, 1>        color rgbt<.3, .3, .3, 0.8> ]
       [0.4, 0.6 color rgbt<.3, .3, .3, 0.8>   color rgbt<0.4, 0.3, 0.3, 1> ]
       [0.6, 1.0 color rgbt<0.4, 0.3, 0.3, 1>  color rgbt<0.4, 0.3, 0.3, 0.9> ]
   }
}
finish { ambient 1 diffuse 0 }
} 

// create a large, hollow sphere
sphere { 0, 10000
 texture {
   Starfield1
   scale 40
   finish { ambient 2 diffuse 0 }
 }
 texture {
   T_space_gas
   scale 2000
 }
 hollow
} 


  light_source
 {
 <1,10,30> White
 }
 light_source
 {
 <240,20,-250> White
 }
    light_source
 {
 <100,20,50> White
 }     


#declare sun=sphere { <0,0,0> 14

           texture {
              pigment{

                 image_map {
                    gif "sun.gif"
                    map_type 1  // Esfera  

                 }
              }
           }

        rotate <0,0,0>


        }

       #declare merkury=sphere { <0,0,0> 0.38
           texture {
              pigment{
                 image_map {
                    gif "merkury.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }


            #declare wenus=sphere { <0,0,0> 0.94
           texture {
              pigment{
                 image_map {
                    gif "wenus.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
            #declare ziemia=sphere { <0,0,0> 1
           texture {
              pigment{
                 image_map {
                    gif "ziemia.gif"
                    map_type 1  // Esfera
                 }
              }
           }

                #declare moon=sphere { <0,0,0> 0.27
           texture {
              pigment{
                 image_map {
                    gif "moon.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
               #declare mars=sphere { <0,0,0> 0.53
           texture {
              pigment{
                 image_map {
                    gif "mars.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

                #declare jowisz=sphere { <0,0,0> 11.2
           texture {
              pigment{
                 image_map {
                    gif "jowisz.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

             #declare saturn=sphere { <0,0,0> 9.44
           texture {
              pigment{
                 image_map {
                    gif "saturn.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
             #declare uran=sphere { <0,0,0> 4
                         texture {
              pigment{
                 image_map {
                    gif "uran.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 
               #declare neptun=sphere { <0,0,0> 3.88
           texture {
              pigment{
                 image_map {
                    gif "neptun.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }    

          }  
           #declare ziemia_moon=union
 {
         object { ziemia                   rotate y*360*365*clock } 
         object { moon          translate x*10   rotate y*360*27*clock } 

         }






             object { sun }                                  
             object { merkury           translate x*58 rotate y*360*clock }                                     
             object { wenus             translate x*108 rotate y*360*clock}
             object { ziemia_moon       translate x*149.5 rotate y*360*clock }     
             object { mars              translate x*228 rotate y*360*clock }
             object { jowisz            translate x*778 rotate y*360*clock}
             object { saturn            translate x*1427 rotate y*360*clock }  
             object { uran              translate x*2870 rotate y*360*clock}
             object { neptun            translate x*4500 rotate y*360*clock }    

 

jak zmodyfikować kod żeby źródłem światła było słońce??

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. Pov-Rayem nie bawiłem się od dłuższego czasu.

2. Wiem, że są pluginy, które umożliwiają zrobienie obłędnego "tła" przestrzeni kosmicznej (poszukaj).

3. Źródło światła:

 light_source {
   <X, X, X>
   color White
   area_light <X, X, X>, <X, X, X>, X, X
   adaptive X
   jitter
 }

 

Przepraszam za wstawienie X-ów, ale wybitnie nie chce mi się o tej godzinie czytać Twojego kodu.

 

.::EDIT

Poza tym Pov-Ray jako taki średnio nadaje się do projektów 3D. Lepiej zrobić coś w 3D Studio Max, a do renderowania wykorzystać Pov-Ray'a.

 

.::EDIT2

http://www.povray.org/documentation/view/3.6.1/40/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

niestety mam tą niedogodność, że cały kod musi byćzrobiony w pov ray'u...

aktualnie mam takie coś:

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "metals.inc"
#include "glass.inc"
#include "woods.inc" 
#include "stars.inc"





camera { angle  40    
                           location  <55, 0,0>

                           look_at  < 180, 0, 0> }



#include "stars.inc"
sphere { <0,0,0>, 1  
        texture {  
                  Starfield1 scale 0.25
                } 
        scale 5000
      } 





#declare sun_Radius    = 54;

#declare sun =
light_source{ <0,0,0> 
             color White
             looks_like{ 
                  sphere{ <0,0,0>,sun_Radius
                          texture{ 
                           pigment{ gradient y turbulence 2.75
                                    color_map{ 
                                    [0.0 color rgb <1,0.7,0.5>]
                                    [0.3 color rgb <1,1,0.3>]
                                    [0.7 color rgb <1,0.8,0.2>]
                                    [1.0 color rgb <1,0.3,0.5>] } 
                                    scale 1.5
                                   } 
                           normal { agate 2.00 
                                    scale 0.5 }
                           finish { ambient 0.9   
                                    diffuse 0.1
                                    phong 1     }
                        }}}}
                                    light_source {<0,0,0> color White looks_like{sun}} 



       #declare merkury=sphere { <0,0,0> 0.38
           texture {
              pigment{
                 image_map {
                    gif "merkury.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }


            #declare wenus=sphere { <0,0,0> 0.94
           texture {
              pigment{
                 image_map {
                    gif "wenus.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
            #declare ziemia=sphere { <0,0,0> 1
           texture {
              pigment{
                 image_map {
                    gif "ziemia.gif"
                    map_type 1  // Esfera
                 }
              }
           }

                #declare moon=sphere { <0,0,0> 0.27
           texture {
              pigment{
                 image_map {
                    gif "moon.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
               #declare mars=sphere { <0,0,0> 0.53
           texture {
              pigment{
                 image_map {
                    gif "mars.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

                #declare jowisz=sphere { <0,0,0> 11.2
           texture {
              pigment{
                 image_map {
                    gif "jowisz.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 

             #declare saturn=sphere { <0,0,0> 9.44
           texture {
              pigment{
                 image_map {
                    gif "saturn.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }
             #declare uran=sphere { <0,0,0> 4
                         texture {
              pigment{
                 image_map {
                    gif "uran.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        } 
               #declare neptun=sphere { <0,0,0> 3.88
           texture {
              pigment{
                 image_map {
                    gif "neptun.gif"
                    map_type 1  // Esfera
                 }
              }
           }

        rotate <0,0,0>


        }    

          }  
           #declare ziemia_moon=union
 {
         object { ziemia                   rotate y*360*365*clock } 
         object { moon          translate x*10   rotate y*360*27*clock } 

         }






             object { sun }                                  
             object { merkury           translate x*58  }                                     
             object { wenus             translate x*108 }
             object { ziemia_moon       translate x*149.5}     
             object { mars              translate x*228  }
             object { jowisz            translate x*778 }
             object { saturn            translate x*1427  }  
             object { uran              translate x*2870 }
             object { neptun            translate x*4500  } 

 

mniej więcej to tyle, teraz tylko kff i montaż animacji

i tu mam problem z ustawieniem kamery, ogolnie nie bardzo rozumiem tego systemu z "clock"

chciałbym zrobić żeby kamera przeleciała nad wszystkimi planetami pod jakimś tam kątem 30-40 stopni zaczynając od słońca jakaś rada jak to ustawić?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dlaczego jak mam wpisane wektory bez parametru clock to kamera jest ustawiona w kierunku który chce a jak dodam "clock" to kadr obrasa sie o 180 stopni??

camera {     
                           location  <54, 1, 0>    //<54*clock, 1, 0> look_at jakby przestał działać

                           look_at  < 180, 0, 0> }

 

chciałbym osiagnąć taki ruch jak na obrazku ponizej

post-160807-13413343536_thumb.jpg

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...