TECHNOLOGIE: la résolution de contraintes
La base de tout programme de CAO paramétrique est son solveur de contraintes géométriques. Le solveur commence avec des propriétés géométriques du dessin, comme une longueur de ligne ou un angle ou une tangence. Sur la base de ces propriétés, il calcule une représentation simple des lignes, des points et des courbes de l'esquisse.
Pour un exemple trivial, on peut spécifier qu'un point se trouve à 10 mm de l'origine et de 5 mm de l'axe des x. On spécifie également que la ligne de l'origine à ce point forme un angle de 65 ° avec l'axe z. Ce point s'avère avoir (x, y, z) = (8,66, 2,67, 4,23), après la résolution de trois équations à trois inconnues. Un véritable schéma peut impliquer des centaines d'inconnues.
La base de tout programme de CAO paramétrique est son solveur de contraintes géométriques. Le solveur commence avec des propriétés géométriques du dessin, comme une longueur de ligne ou un angle ou une tangence. Sur la base de ces propriétés, il calcule une représentation simple des lignes, des points et des courbes de l'esquisse.
Pour un exemple trivial, on peut spécifier qu'un point se trouve à 10 mm de l'origine et de 5 mm de l'axe des x. On spécifie également que la ligne de l'origine à ce point forme un angle de 65 ° avec l'axe z. Ce point s'avère avoir (x, y, z) = (8,66, 2,67, 4,23), après la résolution de trois équations à trois inconnues. Un véritable schéma peut impliquer des centaines d'inconnues.
Dans SolveSpace, les contraintes sont représentées comme des équations dans un système algébrique symbolique. En général, ces équations sont résolues numériquement, par la méthode de Newton modifiée. Quelques cas particuliers sont traités, pour une équation qui peut être résolue par l'avant-substitution, et les équations qui sont résolues seules.
Si le dessin n'est pas complètement contraint, alors la Jacobienne est résolue dans un sens des moindres carrés, avec chaque équation écrite de manière à rendre la quantité utile métrique réduite au minimum. Cela tend à donner des résultats "moins surprenants" lorsque vous faites glisser des points dans un schéma non contraint, par rapport aux approches qui utilisent des cotes faibles pour maintenir le schéma toujours totalement contraint.
Un échec à converger est presque toujours les résultats de réels problèmes avec les contraintes spécifiées. Par exemple, un schéma qui décrit une liaison échouera à converger lorsque le véritable lien les lierait. Si plusieurs solutions existent, alors la position initiale du schéma détermine celle qui est choisie. Le résultat naturel (selon le bassin d'attraction de la méthode numérique) est généralement un choix raisonnable, bien que certains cas soient traités spécialement.
En général, les contraintes s'appliquent en 3D. Une contrainte peut également s'appliquer projetée dans un plan de travail. Par exemple, une contrainte sur la distance entre deux points peut effectivement s'appliquer à la distance entre les projections de ces deux points dans le plan spécifié. Les contraintes d'Angle, point coïncident, et point sur la courbe sont même disponibles dans les formes prévues.
Le solveur utilisé dans SolveSpace est disponible séparément comme une bibliothèque.
Si le dessin n'est pas complètement contraint, alors la Jacobienne est résolue dans un sens des moindres carrés, avec chaque équation écrite de manière à rendre la quantité utile métrique réduite au minimum. Cela tend à donner des résultats "moins surprenants" lorsque vous faites glisser des points dans un schéma non contraint, par rapport aux approches qui utilisent des cotes faibles pour maintenir le schéma toujours totalement contraint.
Un échec à converger est presque toujours les résultats de réels problèmes avec les contraintes spécifiées. Par exemple, un schéma qui décrit une liaison échouera à converger lorsque le véritable lien les lierait. Si plusieurs solutions existent, alors la position initiale du schéma détermine celle qui est choisie. Le résultat naturel (selon le bassin d'attraction de la méthode numérique) est généralement un choix raisonnable, bien que certains cas soient traités spécialement.
En général, les contraintes s'appliquent en 3D. Une contrainte peut également s'appliquer projetée dans un plan de travail. Par exemple, une contrainte sur la distance entre deux points peut effectivement s'appliquer à la distance entre les projections de ces deux points dans le plan spécifié. Les contraintes d'Angle, point coïncident, et point sur la courbe sont même disponibles dans les formes prévues.
Le solveur utilisé dans SolveSpace est disponible séparément comme une bibliothèque.