Documentaciónrotar(M, alfa)
Nombre
rotar - Rota una matriz por un angulo arbitrario.
Sinopsis
out = matrices.rotar(M, alfa)
Descripcion
Rota una matriz numerica M por un angulo alfa expresado en grados y devuelve una nueva matriz con el resultado.
Esta version usa interpolacion nearest-neighbor (vecino mas cercano), priorizando simplicidad y velocidad por encima de la calidad visual.
Comportamiento
- Interpreta
alfaen grados. - Calcula un nuevo tamano para que la matriz rotada entre completa.
- Retorna una
MATRIZnueva; las celdas sin mapeo valido quedan en0.
Funciones API relacionadas
matrices.rotar90_horario()matrices.rotar90_antihorario()matrices.rotar180()matrices.transpuesta()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| M | MATRIZ | Matriz a ser rotada. |
| alfa | NUMERICO | Angulo de rotacion en grados; en formulas se representa como . |
Valor de retorno
MATRIZ - Nueva matriz R con M rotada por .
Detalles:
- El tamano de R se calcula para que entre la matriz rotada completa.
- Por eso normalmente cambia el ancho/alto respecto a M.
- Los pixeles que no mapean a una coordenada valida en M quedan en 0.
Ejemplo
ejemplo.blox
INCLUIR "matrices.api"
FUNCION PRINCIPAL
INICIO
MATRIZ matriz[2][3], R[][]
matriz = [[1, 2, 3],
[4, 5, 6]]
matrices.imprimir(matriz)
// Rotación de una matriz M por un ángulo arbitrario (en grados).
// Se usa interpolación nearest-neighbor.
// Devuelve una nueva matriz rotada.
// Puede mejorarse el algoritmo para angulos arbitrarios como 17.2 grados
//
R = matrices.rotar(matriz, 45)
matrices.imprimir(R)
FINAL