POV-Ray : Newsgroups : povray.international : [pl] wektor normalny? Server Time
4 Dec 2024 14:08:08 EST (-0500)
  [pl] wektor normalny? (Message 1 to 5 of 5)  
From: Wojtek Ptak
Subject: [pl] wektor normalny?
Date: 26 May 2003 02:27:16
Message: <3ed1b3c4$1@news.povray.org>
Mam pytanie do szanownych krajan :)



obiektu w punkcie jaki dostalem z trace. Czyli moze inaczej - potrzebna 
jest normalna do powierzchni w punkcie z trace...

normalnej podanej jako parametr trace

w.p.


Post a reply to this message

From: ABX
Subject: Re: [pl] wektor normalny?
Date: 26 May 2003 03:09:36
Message: <d4f3dvsge2heoc2r2ns4b73qjelcf0qajf@4ax.com>
On Mon, 26 May 2003 08:28:22 +0200, Wojtek Ptak <pta### [at] tlenpl> wrote:
> Stosuje trace, jeno nie 
> wiem jak zrobić to tak aby obiekty leżały rownolegle do powierzchni 
> obiektu w punkcie jaki dostalem z trace. Czyli moze inaczej - potrzebna 
> jest normalna do powierzchni w punkcie z trace...

Hmm, Wojtku, prawde mówiac zastanawiam sie jak Tobie to w ogóle dzialalo skoro
sprawdzenie wartosci wektora normalnego jest jedynym sposobem na potwierdzenie
ze trace znalazlo punkt przeciecia... Zajrzyj do
http://www.povray.org/documentation/view/138/ - tam jest przyklad uzycia trace()
z wktorem normalnym. Jesli to nie wystarczy to moze zle zrozumialem twój
problem.

ABX


Post a reply to this message

From: Wojtek Ptak
Subject: Re: [pl] wektor normalny?
Date: 26 May 2003 04:16:58
Message: <3ed1cd7a@news.povray.org>
ABX wrote:

> Hmm, Wojtku, prawde mówiac zastanawiam sie jak Tobie to w ogóle dzialalo skoro
> sprawdzenie wartosci wektora normalnego jest jedynym sposobem na potwierdzenie
> ze trace znalazlo punkt przeciecia... Zajrzyj do
> http://www.povray.org/documentation/view/138/ - tam jest przyklad uzycia trace()
> z wktorem normalnym. Jesli to nie wystarczy to moze zle zrozumialem twój
> problem.
> 
> ABX






pobranym w jakis sposob poprzez podanie obiektu, i punktu na nim?







w.p.


Post a reply to this message

From: ABX
Subject: Re: [pl] wektor normalny?
Date: 26 May 2003 05:12:36
Message: <aik3dvsf7hitmu0o652t9lgp9b2e0ivgr6@4ax.com>
On Mon, 26 May 2003 10:17:59 +0200, Wojtek Ptak <pta### [at] tlenpl> wrote:
> Na Ciebie wła¶nie  liczyłem :)

Do uslug :)

> Hmm. Nie wiem. Podaję wektor normalny fakt... Chyba wiem o co chodzi. 
> Tzn. je¶li chcę obłożyć połówkę kuli powiedzmy lusterkami (odpowiednie 
> box-y), to nie da się podać wektor normalny od kierunku patrzenia

Czy przez "wektor normalny do kierunku patrzenia" rozumiesz kierunek w którym
wysylasz promien do kuli ?

> i po 
> otrzymaniu punktu na kuli położyć tam pod odpowidnim k±tem boxa - k±tem 
> pobranym w jakis sposob poprzez podanie obiektu, i punktu na nim?

ale przeciez wlasnie ten kat zwracany jest w czwartyym parametrze funkcji
trace().

> O ile dobrze podejrzewam to muszę oblecieć kulę za pomoc± trace pod 
> różnymi k±tami i i dla kazdego kata przykladac lusterko?...
> Chciałem obłożyć napis w ten prosty sposób. Pokrycie tekstu kulkami jest 
> oczywi¶cie ok. Ale pokrycie napisu innym obiektem...
> Czyżby więc odpowiednie "zeskanowanie" obiektu w 360 stopniach bylo 
> jedynym rozwi±zaniem?

Mam przeczucie ze nie rozumiem jaki efekt chcesz uzyskac. Czy chcesz oblozyc
obiekt lusterkami na calej jego powierzchni czy na powierzchni widzianej z
miejsca polozenia kamery ? Jesli to pierwsze to musisz wywolac trace() "na
okolo", jezeli to drugie to wystarczy wolac trace() z jednego punktu.

Ponizej przykladowy skrypt. Zastanów sie nad petla na koncu - staralem sie
opisac zmienne w miare logicznie. Pytaj, jesli nadal cos niejasne.

#version 3.5;

#include "colors.inc"
#include "functions.inc"
#include "rand.inc"

global_settings { assumed_gamma 1.0 }

camera {
  location  <0.0, 0.5, -4.0>
  direction 1.5*z
  right     x*image_width/image_height
  look_at   <0.0, 0.0,  0.0>
}

sky_sphere {
  pigment {
    gradient y
    color_map {
      [0.0 rgb <0.6,0.7,1.0>]
      [0.7 rgb <0.0,0.1,0.8>]
    }
  }
}

light_source { <-30, 30, -30> rgb 1 }

plane { y, -1 pigment { color rgb <0.7,0.5,0.3> } }

#declare Srodek = <0,0,0>;

#local Sphere=isosurface {
  function{f_sphere(x,y,z,.5)+f_bumps(x*3,y*3,z*3)/3}
  max_gradient 2
  scale 2
  texture {
    pigment {color rgb <0.2,0.4,1.0> }
    finish{specular 0.6}
  }
  translate Srodek
}

object{Sphere}

#declare Generator = seed(10);
#declare C=0;
#while(C<1000)
  #declare Start=10*VRand_On_Sphere(Generator);
  #declare Start=<abs(Start.x),Start.y,Start.z>;
  #declare Kierunek = Srodek-Start;
  #declare Normalna_Powierzchni = <0,0,0>;
  #declare Punkt_Przeciecia=
    trace ( Sphere, Start, Kierunek, Normalna_Powierzchni ); 
  // Jesli przeciecie mialo miejsce to Normalna_Powierzchni
  // nie jest wektorem zerowym
  #if (vlength(Normalna_Powierzchni)!=0) 
    cone { 
      Punkt_Przeciecia, .01 , Punkt_Przeciecia + Normalna_Powierzchni / 10, 0
      texture { pigment {color red 1} } 
    } 
  #end
  #declare C=C+1;
#end

ABX


Post a reply to this message

From: Wojtek Ptak
Subject: Re: [pl] wektor normalny?
Date: 26 May 2003 05:44:16
Message: <3ed1e1f0@news.povray.org>




w.p.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.