Je cherche un moyen de déterminer la rotation X/Y/Z optimale d'un ensemble de sommets pour le rendu (en utilisant les coordonnées X/Y, en ignorant Z) sur un canevas 2D . J'ai eu quelques idées, l'une étant la force brute pure impliquant l'exécution d'une boucle tridimensionnelle allant de 0..359 (soit par pas de 1 ou plus, en fonction des résultats/exigences de vitesse) sur le ensemble de sommets, mesurant la différence entre le min/max sur les deux axes X/Y, en stockant les paires de résultats/rotation les plus élevées et en utilisant la paire la plus efficace. La deuxième idée serait de déterminer les deux points avec la plus grande distance entre eux dans la distance euclidienne, calculer l'angle nécessaire pour faire tourner le «chemin» entre ces deux points pour pondre le long de l'axe X (encore une fois, nous sommes en ignorant l'axe Z, de sorte que la profondeur dans le résultat n'aurait pas d'importance) puis en répétant plusieurs fois. Le problème que je peux voir avec ceci est d'abord en le répétant que nous pouvons remplacer notre rotation précédente par une nouvelle rotation, et que la rotation originale/ultérieure peut ne pas nécessairement entraîner la plus grande surface 2D utilisée. Le deuxième problème est que si nous utilisons une seule itération, le même problème se produit - les deux points les plus éloignés peuvent ne pas avoir d'autres points alignés sur le même 'chemin', et nous n'obtiendrons probablement pas de rotation optimale pour un projet 2D . L'utilisation de la deuxième idée, peut-être en utilisant le premier dire 3 itérations, en stockant l'angle de rotation requis, et en faisant la moyenne sur les 3 rendrait un résultat plus précis, car il prend en compte non seulement une rotation mais 'paires'.Rotation optimale du modèle 3D pour la projection 2D
S'il vous plaît, déchirer ces idées à part, donner un aperçu de votre choix. Je suis intressé pour voir quelles solutions vous pourriez avoir, ou des algorithmes inconnus de moi que vous pourriez citer.
Vous avez demandé une solution optimale, mais la mesure à optimiser (ou les mesures) n'est pas claire. Pouvez-vous clarifier ? Vous vous référez également à «plus efficace» mais encore une fois, on ne sait pas comment vous mesureriez l'efficacité relative. –
Peut-être que je devrais changer ma question - je cherche la solution _any_. Aucun des deux que j'ai décrits ne semble être très efficace. Ce que je me demande est s'il y a une technique qui peut effectuer les tâches requises d'autres manières que celles décrites. En se référant à «optimal», la rotation résultante «optimale» signifierait la plus grande différence de coordonnées min/max x/y pour l'ensemble des sommets. – Seidr
Votre corps est-il convexe? Si ce n'est pas le cas, le problème est plus difficile. –