
Un lado 1/5 menor que otro manteniendo el área.
Publicado por Jordi (135 intervenciones) el 22/04/2017 00:45:44
Bueno, llevo unos días por este foro y me he dado cuanta de que hay algunos que van realmente flojillos de matematicas, y a la hora de hacer algoritmos o funciones de cualquier tipo se bloquean y no saben como montarlo. Por eso aporto mi granito de arena con un método que sirve para que al crear una red que tenga X y Y de algun objeto (en mi caso JPanels) Y sea mediante una funcion, 1/5 menor que el otro lateral, de lo que sin el algoritmo sería un cuadrado (9 objetos, x sería 3 e y 3. O para 100 x sería 10 e y 10 [raíz cuadrada]) Yo lo he usado para hacer un juego de parejas donde el usuario introduce la cantidad de cartas que quiere que haya en el tablero y este método hace que en Y haya menos cartas que en X para que quede mejor presentado.
Espero que os sirva.
Salu2.
1
2
3
4
5
6
7
8
9
public int algoritmoGetX(int arg0){
double a = arg0;//Cantidad del objeto que quiere repartirse.
double y = Math.round(Math.sqrt(a) - (Math.sqrt(a) / 5));//Aquí pongo que Y sea 1/5 menor.
double x = Math.ceil(a / y);
return (int)x;//Devuelve el valor de X
}
1
2
3
4
5
6
7
8
9
public int algoritmoGetY(int arg0){
double a = arg0;
double y = Math.round(Math.sqrt(a) - (Math.sqrt(a) / 5));
double x = Math.ceil(a / y);
return (int)Y;//Lo mismo pero para obtener Y.
}
Espero que os sirva.
Salu2.
Valora esta pregunta


1