Responder dúvida

Seja o primeiro a responder

Como rotacionar coordenadas de um objeto?

Matemática EM Ponto Avançado
Tenho um objeto (um plano no exemplo) com coordenadas X, Y e Z, quero saber como calculo uma rotação de A graus nesse objeto, se puderem me ajudar eu agradeceria,. EXEMPLO, PLANO: ponto x y z p1 = point(20, 20, 00); p2 = point(25, 20, 00); p3 = point(25, 25, 00); p4 = point(20, 20, 00); Estou usando o uma formula para rotacionar que encontrei nesse link: http://www.lcad.icmc.usp.br/~rosane/CG/TransfGeomAndersonIcaro.pdf No meu caso, tentando rotacionar no eixo Z, ficaria assim: x = (Px * cos(rotate_rad)) - (Py * sin(rotate_rad)); y = (Px * sin(rotate_rad)) + (Py * cos(rotate_rad)); Onde rotate_rad seria meu angulo convertido em radiano, por exemplo 5º: 5 / 360 * 2 * PI O meu problema é que ao rotacionar em 5º e depois mais 5º e mais 5º, e assim por diante, o objeto está com a escala sendo diminuída, poderiam me indicar uma solução, na qual a escala se permanecesse a mesma? P.S.: no link há uma formula por matriz, mas não entendi como ela funciona, pois é para programação, logo uma formula seria mais fácil que uma matriz. P.S.: se possível, que a formula indicasse em qual ponto rotacionar, pois nesse caso estava rotacionando no x,y e z em 0, queria poder personalizar isso, por exemplo: rotacionar no eixo Z, tomando como base Z = 1, Y = 0.5 e X = 0.
Foto de Leonardo S.
Leonardo perguntou há 8 anos