20070524

Reflexions serioses





Ahir em vaig dedicar a optimitzar a fons el codi, i.e. en comptes de treballar amb llistes(list a b c) vaig passar a treballar amb vectors(vector a b c). Les llistes són pràctiques quan no saps ben bé què fer, però són poc eficients, ja que són llistes encadenades: per arribar a saber l'element 3, cal mirar qui són l'1 i el 2, en canvi amb un vector hi pots anar directe. Primer vaig treure la part de reflexions per simplificar, i vaig vectoritzar-ho tot. Un cop fet, vaig intentar posar-hi les reflexions altre cop... I encara que funcionava, es veia estrany (realment, com a les imatges velles, molt estrany). Perquè?

Això em preguntava jo, i aquest mati he anat trobant diversos errors. Alguns culpa meva (sobretot que alguns vectors els agafava del revés a l'anada i del dret a la tornada, una tonteria), però el més greu i que feia passar coses estranyes era culpa del codi en què em vaig basar. Una part del codi havia de retornar el primer tall d'una recta amb una esfera, i el tornava... sempre que les condicions fossin les de l'exemple on era. Després d'adonar-me que el problema era aquí he pogut afegir la recursióEl programa llança un raig que rebota, i és un raig que el programa calcula i rebota... i obtenir la primera imatge.

A la tarda, quan se suposa que hauria d'haver estat fent feina, he continuat i és la segona imatge, amb plans infinits... vaja setmaneta, no he fet RES des de dilluns!
Written by Ruben Berenguel