You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Se trata de eliminar nodos redundantes en las vías. Por ejemplo:
A ------ B --------C
El nodo B es redundante. Nótese que en algunos casos podemos considerar el nodo redundante aunque perdamos precisión. Hay que pensar también en los objetos redondeados.
The text was updated successfully, but these errors were encountered:
Durante el proceso de simplificación de vías, uno de los pasos es juntar en un mismo way todos los ways unitarios (con dos nodos) que sea posible.
Al terminar dicho paso recorreríamos el way eliminando los nodos intermedios innecesarios calculando los ángulos que formen cualesquiera 3 nodos consecutivos. Esto se hace vía la función atan2 [2] teniendo en cuenta [1]. Esto es
lo que tenemos que calcular es:
if (Math.abs(atan2(x1-x2,y1-y2)-atan2(x1-x3,y1-y3))<epsilon)
Si el ángulo es menor en valor absoluto que un cierto número de grados, nos cepillamos el nodo intermedio y listo.
if (Math.abs(atan2(x1-x2,y1-y2)-atan2(x1-x3,y1-y3))>3.1)
elimina todos los nodos que tengan menos de 3 grados
if (Math.abs(atan2(x1-x2,y1-y2)-atan2(x1-x3,y1-y3))>3)
elimina los que tengan menos de 10 grados
Se trata de eliminar nodos redundantes en las vías. Por ejemplo:
A ------ B --------C
El nodo B es redundante. Nótese que en algunos casos podemos considerar el nodo redundante aunque perdamos precisión. Hay que pensar también en los objetos redondeados.
The text was updated successfully, but these errors were encountered: