Só uma bobagem que eu achei hoje aqui. Suponha que você quer achar cos(x+d) para algum d pequeno. O meu instinto foi usar a derivada:
d/dx (cos x) = lim d->0 (cos (x+d) - cos(x)) / d = - sin x
logo
cos x+d = cos x - d.sin x
Mas também sai o mesmo resultado pela fórmula de soma:
cos(x+d)=cos x cos d - sin x sin d
Para d pequeno, sin d = d, cos d = 1, logo
cos x+d = cos x - d sin x
Isso generaliza de alguma maneira útil?
Eu não sei o que você quer dizer por "generalizar"... até onde eu sei, você calcula a derivada exatamente usando a fórmula da soma.
ResponderExcluirOlha a seção 21.3 do fxtbook: http://www.jjj.de/fxt/; ela tem a ver um pouco com essa idéia. Outra roubadinha que tem a ver é http://en.wikipedia.org/wiki/CORDIC.
Agora eu não tenho um link, mas dá pra fazer qualquer rotação de imagem menor que 90 graus com dois cisalhamentos -- um no eixo x seguido de outro no eixo y; é claro que isso é muito menos importante num mundo de placas 3D, mas ainda assim...
Dois ou três cisalhamentos?
ResponderExcluirEu acho que são dois, mas você precisa de um scaling no final pra consertar. Considere uma rotação de 45 graus: você faz um cisalhamento na horizontal pra alinhar dois vértices opostos e depois faz um cisalhamento em y pra alinhar os outros dois, mas isso deforma a imagem, e você precisa espremer a imagem no eixo x por 1/sqrt(2) e dilatar no eixo y por sqrt(2).
ResponderExcluirEu acho que talvez eu esteja lembrando errado a parte dos cisalhamentos serem nos eixos x e y? Eu vou pensar...