Escolar Documentos
Profissional Documentos
Cultura Documentos
OCULTAMIENTO DE SUPERFICIES
2010 - I
01/06/2010
Universidad Nacional Mayor de San Marcos FISI 2
Indice
1. INTRODUCCION 3
2. CONCEPTO DE COHERENCIA 4
PRECISION A LA IMAGEN 6
PRECISION AL OBJETO 7
5. ALGORITMO DE WARNOCK 14
6. ALGORITMO DE Z-BUFFER 17
9. CONCLUSIONES 27
10. BIBLIOGRAFIA 28 2
P gin
Introduccin
Otra consideracin a tomar en cuenta cuando queremos lograr una simulacin de carcter
real es que en el mundo real un objeto puede obstaculizar la visualizacin de otro objeto, es
decir, los objetos pueden interponerse, ocultando la visin de otros.
El problema general consiste en hacer que los objetos se vuelvan opacos en el mundo de los
grficos tridimensionales y a esto se le denomina eliminacin de superfcies ocultas.
En este apartado veremos las tcnicas para eliminar aquellas lneas, curvas o superficies que
estaran ocultas en una escena y as aumentar el realismo de sta, es decir, veremos
diferentes algoritmos que pueden solucionar este problema y determinar qu curvas o
superficies pueden ser observadas desde un punto de vista dado y cuales no.
3
P gin
Concepto de Coherencia
Podemos definir la coherencia como el grado en el cual las partes de un entorno muestran
similitudes locales. Esta propiedad se puede aprovechar para aumentar la eficiencia de los algoritmos
ya que permite ahorrar clculos cuando las propiedades de un objeto varan suavemente. Se han
identificado distintas clases de coherencia:
Coherencia de arista. La visibilidad o no de una arista cambia slo si se cruza con un objeto
visible.
Coherencia de arista implcita. No es necesario calcular todos los puntos de la recta que se
forma cuando dos planos se cruzan, solo son necesarios dos.
Coherencia de lnea de barrido (scan-line). Los objetos definidos en el espacio deben ser
llevados a la pantalla en forma de pxeles (scan-conversion), esto se hace por medio de lneas que
barren la imagen (Scan-line). Pues bien, la coherencia reside en el hecho de que la variacin de una
lnea a otra es pequea, lo cual se puede tener en cuenta para simplificar las computaciones.
Coherencia de cara. Las propiedades de las caras de los objetos varan suavemente, lo que
permite hacer los clculos de modo incremental sin tener que hacer esfuerzos innecesarios.
De forma similar a esta ltima se definen otros tipos de coherencia como la de rea y la de
profundidad.
4 P gin
Otra diferencia entre ambas aproximaciones reside en el hecho de que los algoritmos de
precisin a la imagen son ejecutados directamente a la resolucin del dispositivo de salida
(pantalla, impresora, etc.), mientras que en los otros se realiza el clculo de modo
independiente, pero es necesario un paso posterior de traduccin a la resolucin deseada.
5
Debemos aadir que esta divisin de los algoritmos no es excluyente, ya que existen
P gin
PRECISION A LA IMAGEN
Se observa que compara todos los objetos con cada pxel, su complejidad es O(n*p)
PRECISION AL OBJETO
Algoritmo
PARA (cada objeto de la escena) {
Determinar aquellas partes del objeto
cuya vista no esta obstruida por:
el mismo objeto;
otro objeto;
Dibujar esas partes con el color apropiado;
}
2
Vemos que cada objeto se compara con el resto, su complejidad es O(n ).
No se considera la resolucin de la pantalla para los clculos => el dibujo en pantalla es el ltimo
paso.
Algoritmos: algoritmo del Pintor, Algoritmo utlizando el rbol BSP
Los algoritmos de precisin de objeto se hicieron inicialmente para sistemas grficos vectoriales.
7
P gin
1. Sirve para determinar las caras de un objeto que estn detrs y no son visibles
a. Cada cara define un plano que divide el espacio en dos semiespacios, uno 'in' y
otro 'out'
b. El subespacio 'in' es aqul en que se encuentra el objeto (al menos la parte del
objeto que tiene a esta cara por frontera con el exterior)
c. La cara est detrs respecto de un centro de proyeccin CP si el CP est en el
semiespacio 'in' (el objeto tapa a la cara)
d. La cara est delante respecto del CP si ste se encuentra en el semiespacio 'out'
2. Prefiltro para resto de algoritmos de superficies ocultas: descarta caras que seguro que
no son visibles (culling)
a. Si back face indica que una cara est detrs, la cara no es visible
b. Si back face indica que una cara est delante, puede que est oculta si el objeto no
es convexo o si tiene otro objeto delante
3. Poco costoso.
1. Calcular la normal a cada cara que apunta hacia afuera del objeto (hacia el semiespacio
'out')
2. Estudiar signo del coseno del ngulo entre la normal a la cara y la direccin de proyeccin
(va del objeto hacia el centro de proyeccin):
a. Si es > 0, la cara est delante y no se descarta (puede que sea visible)
(el centro de proyeccin y estn en el mismo semiespacio: el 'out')
b. Si es < 0, la cara est detrs y se descarta (no visible)
(el centro de proyeccin est en semiespacio 'in' y est en semiespacio 'out')
c. Si es = 0, la cara est de canto y se descarta (si es visible, se reducir a una arista
que de todas maneras aparecer al proyectar una cara vecina)
Clculo de la normal:
1. En 2D
a. Se ordenan vrtices en direccin antihorario.
b. Normal a una arista se calcula como producto vectorial de vector de la arista con
vector unitario de eje OZ
c. Ejemplo: Si tenemos un polgono de vrtices A B C D (sentido antihorario), la
normal a la arista AB es:
2. En 3D
a. Se ordenan vrtices de cada cara en sentido antihorario vistos desde fuera del
objeto
b. Normal a la cara es el producto vectorial de dos aristas consecutivas
c. Ejemplo: Si una de las caras del objeto tiene los vrtices A B C (en sentido
antihorario vistos desde fuera del objeto), la normal a la cara ABC es, por ejemplo:
Clculo del signo del coseno del ngulo entre la normal y la direccin de proyeccin
Observaciones:
1. Se puede hacer back face antes del prewarping: ahorra proceso de proyeccin
2. Si se hace prewarping, el signo del producto escalar es el signo de la coordenada Z de la
normal a la cara
(tras prewarping, la proyeccin es ortogrfica con direccin/CP (0,0,1,0))
3. No es preciso normalizar las normales (hacerlas unitarias), aunque este clculo viene bien
para otros algoritmos (iluminacin)
4. En el clculo de la direccin de proyeccin para CP propios, da igual el vrtice de la cara
escogido (relacin con distancia de punto a plano del producto )
5. Otra forma alternativa de clculo del signo:
1. Si Ax+By+Cz+D=0 es la ecuacin del plano de la cara y
2. (A, B, C) es un vector normal a la cara apuntando hacia afuera
3. entonces el signo a estudiar es el de ACx+BCy+CCz+DCw (relacin con distancia de
punto a plano)
observador no puede ver. Esto se conoce como back face culling. Ya que la mayora de los
objetos 3D son completamente cerrados, los polgonos no enfrentados al observador estn
P gin
siempre bloqueados por polgonos que s lo estn, excepto cuando el observador est dentro del
objeto. El enfrentamiento de un polgono esta definido por el winding u orden en el que sus
vrtices se envan al renderizado. Un renderizado puede definir un winding en el sentido de las
agujas del reloj o contrario como enfrentamiento hacia el frente o hacia atrs. Una vez que un
polgono se transform a un espacio en la pantalla, su winding puede ser verificado y si esta en la
direccin opuesta, no es dibujado. Por su puesto, back face culling no puede ser usado con
volmenes abiertos o degenerados.
Mejoras posteriores:
Si bien el proceso de rasterizacin bsico hace dcadas que se conoce, las aplicaciones modernas
siguen haciendo optimizaciones y adiciones para aumentar el rango de posibilidades del motor
de rasterizacin.
Filtrado de texturas:
Las texturas son creadas a resoluciones especficas, pero ya que la superficie en donde estn
aplicadas puede estar a cualquier distancia del observador, estas pueden mostrarse en tamaos
arbitrarios en la imagen final. Como resultado, un pxel en la pantalla usualmente no
corresponde directamente a un texel. Alguna tcnica de filtrado debe ser aplicada para lograr
imgenes claras a cualquier distancia. Hay varios mtodos, con diferentes relaciones entre
calidad de imagen y complejidad computacional.
impresionante. Sin embargo, un observador en una escena solo podr discernir detalles de
Sombras:
Los clculos de iluminacin en el tradicional proceso de rasterizacin no tienen en cuenta la
obstruccin de objetos. El mapeado de sombras y el mapeado de volmenes de sombras son dos
tcnicas comunes modernas para crear sombras.
firmware. Los RIPs ms recientes guardan la compatibilidad hacia atrs con photosetters por eso
son capaces de soportar lenguajes ms antiguos.
Pasos de un RIP:
Interpretacin. Este es el paso donde el lenguaje de descripcin de pgina soportado se
transforma en una representacin de una pgina particular. Muchos RIPs procesan
pginas con tanta intensidad que el funcionamiento habitual de la mquina es solo para la
pgina en curso, es decir, se proceso una sola pgina cada vez. Una vez que la pgina se
ha generado se procesa la siguiente.
Renderizado. Proceso a travs del cual la representacin interna particular se transforma
en un bitmap de tono continuo. Hay que hacer notar que, en la prctica, la interpretacin
y el renderizado se hacen juntos con bastante frecuencia. Los lenguajes simples (en su
mayor parte los ms antiguos) se disearon para trabajar con mnimos requerimientos de
hardware, por eso tienden a ejecutar el renderizado directamente.
Proyeccin. Para que se imprima, un bitmap de tonos continuos se ha de transformar
previamente en otro de tonos medios (patrones de puntos). Hay dos mtodos o tipos
para este paso. La proyeccin por modificacin en la amplitud (AM) y la proyeccin
estocstica o por modulacin en la frecuencia (FM). En la proyeccin AM, la variacin del
tamao de los puntos depende de la densidad del objeto y sus valores tonales. Los puntos
se colocan en una cuadrcula fija pero son mayores si corresponden a un rea de la
imagen de alta densidad. En la proyeccin FM, el tamao de los puntos permanece
siempre constante y se ubican en un orden aleatorio para crear reas de imagen ms
claras u oscuras. El emplazamiento de los puntos, y la densidad de estos, se controla a
partir de un sofisticado algoritmo matemtico.
Los RIP se usan en las impresoras lser para comunicar las imgenes rasterizadas al lser de
barrido de la impresora.
13 P gin
2. ALGORITMO DE WARNOCK
Ms complejo que Z-buffer, pero no requiere tanta memoria
Idea es buscar reas rectangulares de la pantalla que tengan color uniforme: el del fondo o el
de una cara
Procedimiento interno
1. Preproceso semejante al de Z-buffer:
1. matrices de transformacin
2. back face
3. clipping
4. prewarping
2. Se transforman las caras a coordenadas de pantalla
3. Se calcula la ecuacin del plano correspondiente a cada cara transformada
4. Se tiene lista de rectngulos pendiente de estudio;
se comienza con rectngulo que cubra toda la pantalla
5. Se toma un rectngulo de la lista:
1. Si el rectngulo es del tamao de un pxel, se obtienen todas las caras
(triangulares) cuya proyeccin contiene al pxel (el pxel est dentro de su
proyeccin):
1. Si ninguna cara contiene al pxel, se pinta de color de fondo
2. Si al menos una cara contiene al pxel, se le da el color de la cara ms
cercana (|z| menor) en ese punto
2. Si el rectngulo es mayor que un pxel, se obtienen todas las caras cuya
proyeccin se solapa con el rectngulo:
1. Si ninguna cara se solapa, se rellena el rectngulo con el color de fondo
2. Si el rectngulo se encuentra completamente dentro de la proyeccin de
una cara, y esta cara es la ms cercana de las que se solapan con el
rectngulo, se rellena con el color de esta cara
3. Si no se da ninguno de estos casos, se subdivide el rectngulo
14 P gin
Comprobciones de solpmiento
1. Cara P1P2P3, rectngulo dado por l(eft), r(ight), b(ottom), t(op)
1. b(ottom) tiene coordenada Y mayor que top en la pantalla
2. Se calculan xmin = min (x1,x2,x3) , etc.
2. Se realizan las siguientes comprobaciones hasta que se determine el tipo de
solapamiento:
1. Minimax test: Si se cumple alguna de las condiciones siguientes, no hay
solapamiento
1. xmax < l
2. xmin > r
3. ymin > b
4. ymax < t
2. Comprobacin de interseccin arista rectngulo (solapamiento parcial):
1. Para borde l(ef), si l no est entre x1 y x2, no hay interseccin; en caso
contario:
1. Se calcula la Y de interseccin con arista P1P2
Comprobcio n de proximidd
1. Se realiza cuando rectngulo est completamente dentro de una cara
2. Se calcula distancia (Z) de las esquinas del rectngulo para los planos de todas las caras
cuya proyeccin se solapa con rectngulo
1. Si una de las caras tiene distancias menores que todas las dems (la mayor de sus
distancias es menor que cualquiera de las del resto de las caras), esta es la cara
ms cercana
2. Si esto no sucede, o si la cara ms cercana no incluye al rectngulo por completo,
se subdivide
Observciones
1. Comprobacin de si un punto est en zona 'in' de una arista se realiza de forma
semejante al algoritmo de back face removal: se sustituyen coordenadas del punto en
ecuacin de la recta y se ve el signo
(Ax+By+C > 0: out, < 0: in)
2. Clculo de distancias (coordenada z) se hace de forma semejante a algoritmo de Z-
bufer, a partr de ecuacin del plano de la cara
1. No hace falta pasar de coordenadas de pantalla a coordenadas de mundo real
2. Se puede ahorrar una divisin pasando a una ecuacin del plano del tipo (C=1):
Ax+By+z+D=0 ; z = -D-Ax-By
3. Se puede aprovechar informacin de comprobaciones previas:
1. Si tringulo es disjunto de un rectngulo, tambin lo es de todas sus subdivisiones
2. Si un tringulo tapa a un rectngulo, tambin tapa a todas sus subdivisiones
4. Se puede sofisticar la comprobacin de proximidad con tcnicas semejantes a las del
algoritmo del pintor
1. S' detrs de plano de S
2. S delante de plano S'
16
P gin
3. El Algoritmo Z-Buffer
Es un mtodo de tipo espacio-imagen; que consiste en que cada vez que realiza el renderizado
verifica que no se haya dibujado antes en la posicin del pixel que est ms cerca de la posicin
respecto de la cmara.
A diferencia con algoritmo del pintor no es necesario clasificar un nmero infinito de puntos.
Solo es preciso especificar aquellos que van a ser dibujados, es decir aquellos que corresponden
a los pixeles ubicados en los puertos de visualizacin donde la magnitud del numero de pixeles es
Entonces lo que hace el Algoritmo Z-Buffer registra que se dibuja en cada pixel del puerto de
visualizacin, as podramos estar seguro que se muestran aquellos pixeles que representan los
visualizacin.
17 P gin
glEnable (GL_DEPTH_TEST)
Esta llamada le dice al OpenGL que active el este de profundidad. Adems, cada vez que se
redibuje la escena, aparte de borrar el bufer de color, hay que borrar el bufer de profundidad, y
Por ultimo, y no menos importante, al momento de inicializar OpenGL se le tiene que decir que
Sin Z- Buffer
Con Z-Buffer
1in
8
g
P
Las profundidades son representadas por los nmeros de cada celda de la matriz que representa
al puerto de visualizacin de tal manera que el 80 representa al pixel ms alejado del observador.
Inicialmente el Z-Buffer se encuentra vacio (cargados con ceros), luego aadimos un polgono de
profundidad constante al buffer vacio y observamos la matriz resultante , luego se aade un
polgono mas de profundidad constante tambin y con profundidades distintas y observamos los
cambios que sufre cada celda con respecto al valor inicial.
19
Si algn otro objeto se tiene que renderizar en el mismo pixel la tarjeta grafica realiza las
comparaciones y elije la ms cercano al observador. Entonces este valor es guardado en el Z-
Bufer, reemplazando al valor antiguo. Esto permitir la correcta representacin de los objetos.
LOS OBJETOS CERCANOS OCULTAN A LOS MAS LEJANOS
Ahora la distribucin de la distancia del Z-Buffer no es por igual, para esto existe una variacin
del Z-Buffer cuya precisin de los resultados estn mejor distribuidos, esta se llama W-Bufer.
Para dibujar una nueva escena, el Z-Buffer deber limpiarse a un valor definido, normalmente es
1.0 porque este valor es el lmite superior para una escala entre 0 y 1. Esto implica que no hay
objetos ms alejados en ese punto en el frustum de visin.
La invencin de este concepto de Z-Buffer se suele aplicar a Edwin Catmull. Realmente tambin a
20
El nombre "algoritmo del pintor" se refiere a un pintor que primero dibuja los elementos lejanos
de una escena y despus los cubre con los ms cercanos. El algoritmo del pintor ordena todos los
polgonos de una escena en funcin de su profundidad y despus los pinta en ese orden,
pintando encima de las partes que no son visibles y solucionando as el problema de la
visibilidad.
21 P gin
Se pintan primero las montaas lejanas, seguidas por el prado; finalmente se dibujan los objetos
ms cercanos, los rboles.
El algoritmo puede fallar en determinados casos. En este ejemplo, los polgonos A, B y C estn
superpuestos. No es posible determinar qu polgono est por encima de los otros o cundo dos
se intersecan en tres dimensiones. En este caso, los polgonos en cuestin deben ser cortados de
alguna manera para permitir su ordenacin. El algoritmo de Newell propuesto en 1972 da una
solucin para cortar dichos polgonos. Tambin se han propuesto numerosos mtodos en el
campo de la geometra computacional.
En las implementaciones ms bsicas, el algoritmo del pintor puede ser poco eficiente, ya que
fuerza al sistema a renderizar cada punto de todos los polgonos visibles, incluso si estos
polgonos estn ocultos en la escena final. Esto implica que, en las escenas detalladas, el
algoritmo del pintor puede consumir demasiados recursos.
Estas y otras causas llevaron al desarrollo de las tcnicas que emplean el Z-Buffer, que puede ser
vistas como un desarrollo del algoritmo del pintor que resuelve los conflictos de profundidad
pxel por pixel, reduciendo la necesidad de una ordenacin por profundidad. Incluso en estos
sistemas, a veces se emplea una variante del algoritmo del pintor. Como las implementaciones
del Z-Buffer generalmente se basan en un buffer limitado de profundidad implementado por
hardware pueden producirse problemas de visibilidad debido a los errores de redondeo,
provocando la superposicin en la unin de dos polgonos. Para evitarlo, algunos motores
grficos implementan el "sobrerenderizado", dibujando los bordes de ambos polgonos en el
orden impuesto por el algoritmo del pintor. Esto significa que algunos pixeles se dibujan dos
veces (como en el algoritmo del pintor normal), pero slo ocurre en pequeas zonas de la
imagen y apenas afecta al rendimiento.
22 P gin
En diseo por ordenador es deseable que el dibujo de una escena sea correcta y rpida. Una
manera sencilla de dibujar una escena correctamente es el algoritmo del pintor: dibujar primero
lo ms lejano y despus lo ms cercano. Sin embargo, este sistema es muy limitado ya que se
pierde tiempo pintando objetos que ms tarde sern tapados por otros.
La tcnica del Z-Bufer puede asegurar que las escenas se dibujarn correctamente y que se
eliminar la necesidad de seguir un orden como en el algoritmo del pintor, pero es poco eficiente
en trminos de memoria. Los rboles BSP dividen los objetos de forma que el algoritmo del
pintor los dibujar correctamente sin necesidad de emplear un Z-buffer ni de ordenar los objetos
como un simple rbol transversal que los mantenga en el orden adecuado. Tambin sirve como
base para otros algoritmos, como las listas de visibilidad, que buscan evitar dibujar sin necesidad.
Los rboles BSP se emplean normalmente en los videojuegos, especialmente en los de accin en
primera persona y en los que tienen entornos de interior. Probablemente el primer juego que
emple esta tcnica fue Doom (ver motor de Doom para ms informacin sobre la
implementacin). Otros usos incluye el Ray tracing y la deteccin de colisiones
23
P gin
T(S):
Si card(S) = 1:
o T(S) es un hoj, v;
o En l hoj se lmcen el objeto (si existe), S(v).
Si card(S) > 1:
o L rz v de T(S) lmcen:
un rect (plno) hv,
conjunto S(v) de objetos contenidos en hv.
o Hijo izquierdo de v: rz de un rbol T(S-), con S = {hv- instp S : s ? S}.
o Hijo derecho de v: rz de un rbol T(S+), con S + = {hv+ instp S : s ? S}.
instp: interceptdo
La particin binaria del espacio es un proceso genrico que divide una escena recursivamente en
dos hasta que satisface uno o ms requisitos. El mtodo especfico empleado vara dependiendo
del objetivo final. Por ejemplo, en un rbol BSP empleado para la deteccin de colisiones el
objeto original sera dividido hasta que cada parte sea lo suficientemente sencilla como para ser
individualmente comprobada, y en el renderizaje interesa que cada parte sea convexa, de forma
que el algoritmo del pintor pueda ser usado.
El nmero final de objetos crecer inevitablemente ya que las lneas y caras que se crucen con el
plano de particin sern divididas en dos, y tambin es deseable que el rbol final est
razonablemente balanceado. De hecho, el algoritmo para crear un rbol BSP correcta y
eficientemente es la parte ms difcil de implementar. En un espacio de tres dimensiones, se
emplean planos para dividir las caras de un objeto; en un espacio de dos se emplean lneas.
segmento, o una cara en un modelo tridimensional, el/los segmento/s o cara/s tienen que ser
divididas en dos dado que cada particin debe ser un objeto completo e independiente.
Dado que la utilidad de un rbol BSP depende de cmo se gener, un buen algoritmo es esencial.
La mayora de los algoritmos prueban muchas posibilidades para cada particin hasta que se
encuentra un resultado lo suficientemente bueno, y tambin mantienen la informacin necesaria
en memoria para poder retroceder en caso de que una rama del rbol no sea satisfactoria y
probar otras opciones. Por eso generar un rbol necesita mucho tiempo de computacin.
Inicialmente, esta idea se propuso para los grficos 3D por ordenador para incrementar la
eficiencia de renderizado. Otros usos son el procesamiento geomtrico con formas, Constructive
Solid Geometry en herramientas CAD, deteccin de colisiones en robtica y videojuegos 3D, y
otras aplicaciones informticas que incluyen el manejo de estructuras espaciales complejas. la
eliminacin de caras ocultas ya que gracias a los planos divisorios del rbol conoceramos qu
polgonos estn detrs o delante, teniendo solamente que considerar determinadas ramas del rbol
a travs de la posicin desde la que nos estemos posicionando en l.
El uso ms comn de los rboles de BSP es probablemente retiro superficial ocultado en tres
dimensiones. Los rboles de BSP proporcionan un mtodo elegante, eficiente para clasificar
polgonos va una primera caminata del rbol de la profundidad: algoritmo del pintor delantero o
Algoritmo del pintor
26 P gin
Conclusiones
Con las tcnicas presentadas podremos representar objetos en tres dimensiones hasta
lograr una visin realista del objeto.
Estos mtodos sirven para hacer que en la ventana de visualizacin no aparezcan los
objetos o las caras que no seran visibles desde el punto de vista del observador.
Antes de elegir el mtodo a realizar se tiene que hacer un anlisis del objeto a mostrar.
Se pueden reducir los tiempos de las operaciones de los algoritmos con tcnicas de
aceleracin.
Bibliografa
http://es.wikipedia.org/wiki/Rasterizaci%C3%B3n
http://arantxa.ii.uam.es/~pedro/graficos/teoria/BackFace/BackFace.htm
http://www.scribd.com/doc/22112172/Ocultamiento
http://www.mieres.uniovi.es/egi/dao/apuntes/ocultamiento.html
http://www.google.com.pe/url?sa=t&source=web&cd=2&ved=0CBgQFjAB
&url=http%3A%2F%2Fseccperu.org%2Ffcatho%2Flib%2Fexe%2Ffetch.php%
3Fid%3Dimage_processing_and_computer_graphics%26cache%3Dcache%2
6media%3Docultamiento_y_relleno.pdf&ei=Oq0zTK7vLYG88gbo0MmjAw&
usg=AFQjCNFNpRW6DpSNISZ-sF_Q7QCwnQukpA
http://arantxa.ii.uam.es/~pedro/graficos/teoria/
http://es.wikipedia.org/wiki/Z-buffer
http://arantxa.ii.uam.es/~pedro/graficos/teoria/ScanZBufer/ScanZBufer.h
tm
http://es.wikipedia.org/wiki/Algoritmo_del_pintor
http://es.wikipedia.org/wiki/%C3%81rbol_BSP
28P gin