El problema
¡Hola! Estoy creando una aplicación gráfica. Ahora estoy creando las líneas de cuadrícula para la calculadora gráfica.
Para lograr hacer zoom, tengo dos variables; scale_x para el eje X y scale_y para el eje Y. Cuando hago zoom, las líneas de cuadrícula tienen que cambiar de acuerdo con la escala.
Estoy tratando de lograr algo como las líneas de cuadrícula de https://www.geogebra.org/calculator .
Sus líneas de cuadrícula siempre se espacian con un número que es a*10^b donde a∈{1,2,5} yb es simplemente en qué "paso" estás. Intenta alejarte y mira las líneas de la cuadrícula.
Lo que obtuve
Actualmente estoy espaciando las líneas de la cuadrícula en relación con el sistema de coordenadas de la cuadrícula, NO el ancho y el alto de la pantalla.
var distance_x = 100 / (2**Math.floor((getBaseLog(2, scale_x)))); var distance_y = 100 / (2**Math.floor((getBaseLog(2, scale_y))));Este fragmento de código espacia bien las líneas de cuadrícula, pero solo con 2^algo.
Ni siquiera estoy seguro de por qué esto funciona, pero necesito que funcione como líneas de cuadrícula de GeoGebra.
¿Alguien tiene una idea?