Summary: | Neste trabalho foi desenvolvido um programa (na linguagem de programação C++) com o intuito de otimizar a forma da Lente de uma luminária a LED, para vários tipos de objetivos (em iluminação) desejados. Fez-se o estudo considerando o modelo para a luz sob o ponto de vista da óptica geométrica, i.e., como um conjunto de raios, uma vez que é o mais usado em meios homogêneos (como as lentes). Começou-se por partir da análise do algoritmo de Computação Gráfica, Ray Tracing, para o entendimento geral da óptica do problema. Este algoritmo é bastante semelhante ao que foi implementado neste trabalho, havendo muita documentação disponível, tanto ao nível matemático/físico, como computacional (código C++). À semelhança do Ray Tracing foram usadas: equações de semi-rectas para cada raio luminoso; a Lei de Snell-Descartes, para o cálculo do raio transmitido; a Lei de reflexão, para o cálculo do raio refletido, etc. Neste trabalho fez-se o estudo a 2D (muitas variáveis têm a componente Z, mas não foi feito o cálculo matemático para 3D). Ao nível do algoritmo usado para otimizar o problema, estudou-se e implementou-se um Algoritmo Genético (AG). Optou-se por o AG uma vez que a solução do problema que se quer encontrar depende de fatores estocásticos/não determinísticos. Este é um processo iterativo em que a população vai evoluindo até encontrar a melhor solução possível. Variando diversos parâmetros, encontram-se lentes diferentes para vários tipos de função de avaliação. Este programa é bastante útil para a conceção duma lente freeform, uma vez que o desenho duma lente à mão (para cumprir certos objetivos rigorosos) é bastante difícil. Os resultados finais foram promissores, e de forma geral bons (para os parâmetros usados, que são dos mais simples), tendo em conta os objetivos traçados e desejados.
|