I fear I haven't much time right now to analyse this long code, so I will just give some general remarks, perhaps coming back later.
Note: this forum isn't well suited to show long code, you might take advantage of snippet sites like http://pastebin.com offering syntax highlighting out of the box and easy copy/paste without loss of formatting.
Do you have any issue on this code or is it working as expected and you only need some coding advices?
On the plus side, the use of final constants, looks like well parametrized, with minimal use of magic numbers in code.
It is well commented.
On the minus side, the Portuguese variable and method names is a bit on the way for people not knowing the language, and is a bit inconsistent with the English comments.
Not sure if it helps in any way, but Processing has TWO_PI and HALF_PI constants.
I like to point out that routines like dentroJanela can be simplified as:
boolean dentroJanela(int x, int y) {
return !(x < 0 || y < 0 || x > LARG || y > ALTU);
}
OR
boolean dentroJanela(int x, int y) {
return x >= 0 && y >= 0 && x <= LARG && y <= ALTU;
}
At least, unlike some people, you didn't put the return true in a else...
Similar remark for mouseReleased()
void mouseReleased() {
//Stops or resumes the leaves animation when the mouse is clicked
pararAnimacao = !pararAnimacao;
}
is a classic pattern.
That's all I found with a quick scan of the code.