Matriz cartesiana
En este desafío, crea una matriz que simule cómo se coloca una serie de puntos en una parte del plano cartesiano.
Se te proporcionan dos objetos como parámetros:
dimcontiene las dimensiones de la matriz regular que se va a construir:- La propiedad
hes la altura, o el número total de filas. - La propiedad
wes el ancho, o el número total de columnas.
- La propiedad
cntcontiene las coordenadas del centro del plano cartesiano:- La propiedad
res la fila (indexada desde 0). - La propiedad
ces la columna (indexada desde 0).
- La propiedad
Debes implementar una función que devuelva una matriz (con el tamaño correspondiente a dim), donde cada "celda" sea un arreglo que contenga las coordenadas [x, y] relativas al punto central proporcionado (considerando así las celdas como puntos en el plano cartesiano).
Ejemplos
cartesian_matrix({"h": 3, "w": 4}, {"r": 1, "c": 1}) ➞ [
[[-1, 1], [0, 1], [1, 1], [2, 1]],
[[-1, 0], [0, 0], [1, 0], [2, 0]],
[[-1, -1], [0, -1], [1, -1], [2, -1]]
]
cartesian_matrix({"h": 4, "w": 3}, {"r": 0, "c": 1}) ➞ [
[[-1, 0], [0, 0], [1, 0]],
[[-1, -1], [0, -1], [1, -1]],
[[-1, -2], [0, -2], [1, -2]],
[[-1, -3], [0, -3], [1, -3]]
]
cartesian_matrix({"h": 2, "w": 4}, {"r": 0, "c": 0}) ➞ [
[[0, 0], [1, 0], [2, 0], [3, 0]],
[[0, -1], [1, -1], [2, -1], [3, -1]]
]Notas
- Las coordenadas deben devolverse en el orden
[x-axis, y-axis]. - Las coordenadas del punto central (u origen) siempre son
[0, 0]. El origen siempre estará incluido en la matriz. - Los puntos situados a la derecha o arriba del origen tienen valores positivos (p. ej.,
[1, 2]significa1celda a la derecha y2celdas hacia arriba del origen). - Los puntos situados a la izquierda o abajo del origen tienen valores negativos (p. ej.,
[-2, -1]significa2celdas hacia la izquierda y1celda hacia abajo del origen).