Traslación
Sea d = (dx ,dy) el vector de distancias, y T(d) la matriz de traslación, en coordenadas homogéneas la traslación de un punto p en 2D se puede expresar como el producto matricial p' =p*T(d), es decir:
Rotación
Sea r(β) la matriz de rotación sobre el origen, en coordenadas homogéneas la rotación de un punto p alrededor del origen en 2D se puede expresar como el producto matricial p', = p*r(β), es decir:
Rotación de punto pivote
Para aplicar la rotación a un objeto que se encuentra fuera del origen, es necesario que primero el objeto sea trasladado al origen, después se aplica rotación, y se regresa el objeto al punto pivote.
Escalamiento
Sea s = (Sx, Sy) el vector de factores de escalamiento, y SS la matriz de escalamiento, en coordenadas homogéneas los cambios de escala de un punto p en 2D se puede expresar como el producto matricial p'= p*Ss, es decir:
Si el origen de coordenadas no se encuentra en el interior del objeto, se produce un desplazamiento. Para evitarlo, se usa un punto fijo y se escala a partir de él.
- Se traslada el objeto de modo que el punto fijo coincida con el origen de las coordenadas.
- Después se escala el objeto con respecto del origen de las coordenadas.
- Se utiliza la traslación inversa del paso 1para regresar el objeto a su posición original.
Donde el punto fijo (xc , yc) podría ser el centro del objeto, uno de sus vértices, o también un punto arbitrario.
Comentarios
Publicar un comentario