CDIS icon indicating copy to clipboard operation
CDIS copied to clipboard

Projet numérique lignes de niveau

Open boisgera opened this issue 5 years ago • 3 comments

Idées évolutions :

  • suivre ligne de niveau de bout en bout (mais test "self-intersection" est tricky à faire bien et pas trop coûteux ... utiliser des bounding-boxes pour dégrossir ? Et un algo plus fin/coûteux pour confirmer/infirmer une self-intersection ?)

  • trouver une amorce d'un niveau donné proche d'un point arbitraire : descendre/remonter le gradient. Et ou ne pas spécifier les niveaux mais sampler les niveaux sur une droite de référence avec espacement constant ?

  • effort minimisation du nombre de points et interpolation "smart" avec les tgts (polynomial) pour avoir un rendu assez smooth

  • calcul / optimisation par rapport au nombre d'appel de la fonction ?

boisgera avatar Nov 18 '19 11:11 boisgera

Autres idées / compléments :

  • th des fcts implicite justifie (hors annulation du gradient) de ne pas tester self-intersection en détail pour arrêt mais intersection avec le segment initial uniquement ; du coup ça devient gérable algorithmiquement, avec algo itératif et intersection des boxes ?

  • pb intéressant dans l'interpolation des points : on connait les gradients, mais quand on considére la courbe paramétrée qui interpole, pas la valeur de la dérivée, juste la direction. Trouver une heuristique raisonnable (ampltude égale à 1.0 des deux cotés ; moduler selon l'angle ; benchmarker par rapport à courbes de référence dans cas simples, comme le cercle quand les vecteurs sont à 90 degrés du delta ?) ?

  • on peut pour propager les points avant interpolation faire une étape de gradient, puis corriger d'un coup tout un fragment de courbe par Newton (vectoriel, potentiellement dimension élevé !) au lieu de corriger au fur et à mesure (corriger "au fur et à mesure" devient un cas particulier). On peut envisager d'évaluer l'évolution de l'erreur pour savoir quand corriger et/ou des techniques itératives pour inverser le système (qui est sparse) de façon plus maline qu'avec linalg.solve (trop avancé / compliqué ?). Pour minimiser les évaluations de la fonction, on peut aussi tester Newton modifié, qui ne nécessite pas de recalcul de valeurs de f.

boisgera avatar Jan 24 '20 10:01 boisgera

Egalement, relier problématique de précision des calculs à la "perfection graphique" qui suppose de mener le calcul "au pixel près". Cela suppose de faire une hypothèse de display full-screen du graphe (pas de zoom !) et de connaître (ou de postuler) une résolution.

boisgera avatar Jan 25 '20 07:01 boisgera

Penser à inclure une question s'assurant que l'erreur faite au fur et à mesure de la production de points ne "dérive" pas (ou alors faire une étape avec dérive, puis examiner le problème).

boisgera avatar Mar 28 '20 11:03 boisgera