![]() |
E-mail: riperey@geocities.com |
![]() |
Un polígono se define por un determinado número de puntos que describen su forma. Como los polígonos han de ser cerrados, el primer punto y el último deben coincidir.
En el siguiente ejemplo crearemos la palabra "POV" utilizando una única declaración de polígono.
Comenzaremos considerando los puntos que necesitamos para describir la forma deseada. Queremos que las letras se encuentren sobre el plano x-y, con la letra O en el centro. Las letras se extienden desde y=0 hasta y=1. De modo que tenemos los siguientes puntos para cada letra (la coordenada z se pone automáticamente a 0).
Letra P (polígono externo):
<-0.8, 0.0>, <-0.8, 1.0>,
<-0.3, 1.0>, <-0.3, 0.5>,
<-0.7, 0.5>, <-0.7, 0.0>
Letra P (polígono interno):
<-0.7, 0.6>, <-0.7, 0.9>,
<-0.4, 0.9>, <-0.4, 0.6>
Letra O (polígono externo):
<-0.25, 0.0>, <-0.25, 1.0>,
< 0.25, 1.0>, < 0.25, 0.0>
Letra O (polígono interno):
<-0.15, 0.1>, <-0.15, 0.9>,
< 0.15, 0.9>, < 0.15, 0.1>
Letra V:
<0.45, 0.0>, <0.30, 1.0>,
<0.40, 1.0>, <0.55, 0.1>,
<0.70, 1.0>, <0.80, 1.0>,
<0.65, 0.0>
Las letras P y O tienen un agujero, mientras que la letra V consiste sólo en un polígono. Empezaremos por la letra V ya que es la más fácil de definir.
Creamos un archivo llamado polygdem.pov y escribimos el siguiente texto:
camera { orthographic location <0, 0, -10> right 1.3 * 4/3 * x up 1.3 * y look_at <0, 0.5, 0> } light_source { <25, 25, -100> color rgb 1 } polygon { 8, <0.45, 0.0>, <0.30, 1.0>, // Letra "V" <0.40, 1.0>, <0.55, 0.1>, <0.70, 1.0>, <0.80, 1.0>, <0.65, 0.0>, <0.45, 0.0> pigment { color rgb <1, 0, 0> } }
Después de crear la letra V continuaremos con la letra P. Como tiene un agujero hemos de encontrar una manera de recortar este agujero de la forma original. Esto es muy fácil. Definimos la forma externa de la letra P, que es un polígono cerrado, y añadimos la secuencia de puntos que definen el agujero, que también es un polígono cerrado. Así tendremos un agujero en donde los dos polígonos se solapen.
En general obtendremos agujeros siempre que un número par de subpolígonos se solapen en una única sentencia de polígono. Un subpolígono está definido por una secuencia cerrada de puntos.
La letra P consiste en dos subpolígonos, uno para la forma exterior y el otro para el agujero. Como el polígono del agujero solapa al polígono externo, tendremos un agujero.
Una vez que sabemos como funcionan varios subpolígonos dentro de una única sentencia de polígono, es bastante fácil añadir la letra O.
Finalmente, tenemos la palabra completa POV.
polygon { 30, <-0.8, 0.0>, <-0.8, 1.0>, // Letra "P" <-0.3, 1.0>, <-0.3, 0.5>, // forma exterior <-0.7, 0.5>, <-0.7, 0.0>, <-0.8, 0.0>, <-0.7, 0.6>, <-0.7, 0.9>, // agujero <-0.4, 0.9>, <-0.4, 0.6>, <-0.7, 0.6>, <-0.25, 0.0>, <-0.25, 1.0>, // Letra "O" < 0.25, 1.0>, < 0.25, 0.0>, // forma exterior <-0.25, 0.0>, <-0.15, 0.1>, <-0.15, 0.9>, // agujero < 0.15, 0.9>, < 0.15, 0.1>, <-0.15, 0.1>, <0.45, 0.0>, <0.30, 1.0>, // Letra "V" <0.40, 1.0>, <0.55, 0.1>, <0.70, 1.0>, <0.80, 1.0>, <0.65, 0.0>, <0.45, 0.0> pigment { color rgb <1, 0, 0> } }
Ricardo M. Pereyra $Date: 1999/04/12 13:52:37 $ |
|
![]() |
Copyright ©1999 Ricardo Miguel Pereyra <riperey@geocities.com> |
![]() |