<div dir="ltr">Muchas gracias Steven por tus indicaciones.<div><br></div><div>No sabía que teníais un apartado gráfico en la web.</div><div><br></div><div>Es apasionante esto de la programación gráfica y una muy buena forma de aprender a programar.</div><div><br></div><div>Saludos.</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 14 de abril de 2015, 23:08, Davidson, Steven <span dir="ltr"><<a href="mailto:srd4121@njit.edu" target="_blank">srd4121@njit.edu</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hola Miguel Ángel,<div class="gmail_extra"><br></div><div class="gmail_extra">Al usar un algoritmo de recorte geométrico, como por ejemplo Sutherland-Hodgman, Liang-Barsky, o Weiler-Atherton, necesitas aplicarlo a una lista de vértices y de aristas. Durante el recorte, vas construyendo otra lista de vértices y de aristas como resultado. Hablamos de estos algoritmos en el capítulo 7 de nuestro curso de gráficos: <a href="http://graficos.conclase.net/curso/index.php?cap=007#inicio" target="_blank">http://graficos.conclase.net/curso/index.php?cap=007#inicio</a>  Tratamos estos algoritmos en un espacio de dos dimensiones, pero se pueden extender con relativa facilidad a tres dimensiones.</div><div><br></div><div class="gmail_extra">El problema es que el recorte de un polígono inicial puede resultar en un polígono de diferente topología; es decir, con diferente cantidad de vértices y de aristas. Puedes solucionar este problema de topología, realizando algo de "limpieza". Por ejemplo, busca vértices duplicados y corrige las aristas. Es posible que puedas hacer esto mientras recortes, pero tendrás que modificar el algoritmo escogido.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Luego, determina cuáles polígonos recortados son visibles. Típicamente aplicaríamos el criterio del encarado de cada triángulo hacia la cámara; o sea, si el vector normal de un triángulo apunta hacia la cámara. Esto implica que el producto escalar entre el vector normal del triángulo y el vector normal de la cámara, que por defecto será el vector sobre el eje Z: (0,0,1)  o posiblemente, (0,0,-1), queda comprendido entre -90° y +90°. Es posible que algunas caras sí apunten hacia la cámara, pero estén bloqueadas por otras caras más cercanas a la cámara.</div><div class="gmail_extra"><br></div><div class="gmail_extra">La solución a este problema es aplicar el algoritmo del búfer-Z (o búfer de profundidad) cuando conviertas la información geométrica a píxeles.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Espero que todo esto te oriente.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Steven</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-08 17:38 GMT-04:00 Miguel Ángel Torres Fernández-Píñar <span dir="ltr"><<a href="mailto:miguelangeltorresfp@gmail.com" target="_blank">miguelangeltorresfp@gmail.com</a>></span>:<span class=""><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">ok, genial Steven.<div><br></div><div>Con todo esto estoy tratando de escribir un código que rasterice figuras 3D en pantalla, pasándole a opengl buffers de píxels, y de momento me estoy pegando con el recorte, uf, super complejo para mi nivel.</div><div><br></div><div>De momento consigo recortar un cubo simple con todos los planos salvo el plano cercano y el lejano, jejeje.......una movida.....y me falla también al pasar de un cubo a una figura más compleja, con más vértices.</div><div><br></div><div>Alguien ha hecho algo de esto alguna vez ????</div><div><br></div><div>Saludos y como siempre muchísimas gracias.</div></div></blockquote></span></div></div></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br></div>