vectores una suma recorrer programacion matriz matrices matematicas llenar imprimir filas columnas c# arrays multidimensional-array xna

c# - suma - Cómo seleccionar puntos solo en los bordes de una matriz 2d



vectores y matrices en programacion (2)

Puede hacer una matriz con todas las indices de borde como (0,10) y ponerlas todas en una matriz, ahora puede simplemente seleccionar una o más de ellas.

Así que tengo un mapa de alturas float[,] , y como parte de mi algoritmo de generación de ríos, quiero seleccionar dos puntos siempre que sean parte de uno de los bordes de la matriz. Esto parece una tarea simple, pero parece que no puedo encontrar una solución que no involucre demasiadas declaraciones if. ¿Hay alguna manera de seleccionar desde los bordes de una matriz 2d? (IE, x = 0 o x = max , o y = 0 o y = max )


Solo por novedad, aquí hay una manera de hacerlo que no implica almacenar todos los índices, o cualquier bloque if ():

static void randPoint(int width, int height, out int x, out int y, Random r) { int[] dim = {width,height}; int[] res = new int[2]; res[0] = r.Next(0, 2) * (width - 1); res[1] = r.Next(0, 2) * (height - 1); int hv = r.Next(0, 2); res[hv] = r.Next(0,dim[hv]); x = res[0]; y = res[1]; }