Monografias.com > Física
Descargar Imprimir Comentar Ver trabajos relacionados

Sistema de partículas. Aplicación a los gráficos en tiempo real




Enviado por Pablo Turmero



    Monografias.com

    Sistema de Partículas
    Un sistema de partículas es un conjunto de pequeños objetos que están en movimiento usando algún algoritmo
    Modelar fuego, humo, explosiones, lluvia, nieve, estrellas…
    No es una forma de renderizar, sino de animar los objetos que renderizamos.

    Monografias.com

    Sistema de Partículas
    La idea es controlar la creación, movimiento, cambio y eliminación de partículas durante el tiempo.
    Tenemos un numero n máximo de partículas, cada una se crea en un instante de tiempo t, evoluciona a lo largo del tiempo según valores propios o del conjunto de partículas

    Monografias.com

    Lluvia
    CreaciónPara cada partícula Crear en posición (z, (x, y)) aleatoria Generar velocidad (vz, (vx, vy))
    SimulaciónPara cada partícula activa z = z – vz Si toca suelo y continua lloviendo z = zmax generar (x, y) (vz, (vx, vy))

    Monografias.com

    Lluvia
    RenderizaciónPara cada partícula Dibujar linea (x, y, z) a (x+vx, y+vy, z+vz)
    FinalizaciónCuando no ha de continuar lloviendo yPara cada partícula desactivada es cierto

    Monografias.com

    class CRain : CObject3D {public: CRain(); CRain(int numParticles); ~CRain(); void Create(int numParticles); void Destroy(); int GetNumParticles(); void Simulate(float fIncTime); virtual void Render(); virtual void RenderShadow(){}; bool IsActive(); void Active(bool bActivate=true); void SetDimensions(float fX, float fY, float fZ); void GetDimensions(float&fX, float&fY, float&fZ);protected: float m_fDimx, m_fDimy, m_fDimz; bool m_bActivate; int m_nParticles bool m_bCreated; CParticleRain* m_pParticles; };

    Monografias.com

    Consideraciones
    El número de partículas no debe ser excesivo para no saturar la CPU
    Usar arrays de tamaño fijo y controlar el número de partículas “vivas”
    No solo la posición es objeto de simulación, se puede simular el tamaño, el color
    La simulación ha de ser realista pero de bajo coste computacional (SIMD)

    Monografias.com

    Ejemplo: Demo.zip

    Monografias.com

    Bibliografía
    A. Watt, F. Policarpo “3D Games: Real-time Rendering and Software Techonology” Ed. Acm-Press
    T. Möller, E. Haines “Real-time Rendering” Ed. A K Peters
    K. Hawkins, D. Astle, A. LaMothe “OpenGL Game Programming” Ed. Prima Tech

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter