Question

Supposons que vous êtes donné un cercle avec la ligne AB contenant son centre O, de telle sorte que A et B sont sur le cercle (OA = OB = rayon). Une tangente t est tracé sur le point A, et Je calculer le mappage de certains points (a, b, c, d ...) du cercle des points sur la tangente (at, bt, ct, dt, ...) de telle sorte que le Aa à distance (la distance le long du cercle) est la même que la distance Aat (la distance le long de la tangente) (et de même pour les distances AB, AC, AD). Mais, ici, certaines contraintes sont à considérer: les points du cercle (entre (a, b, c, d)) qui sont d'un côté du cercle de A à B doit être placé sur un côté de la tangente (la plus proche), et ceux de l'autre côté de la forme de cercle A à B doit être placé sur l'autre côté. En gros, le cercle devrait être divisé en B, puis mis en correspondance avec la tangente. J'espère que cette explication est suffisante.

Il convient de noter que j'ai des informations sur les coordonnées de A, B, O, a, b, c, d. Je devais calculer (à, bt, ct, dt). Pour résoudre ce problème, j'ai deux approches, mais je ne sais pas comment je pourrais vous assurer qu'ils fonctionnent toujours correctement.

1) Je calcule l'équation de la tangente au point A. Ensuite, pour chaque point (a, b, c, d) Je calcule la distance de A (le long du cercle), et l'utilisation de ces distances pour calculer (à, bt, ct, dt ...) le long de la tangente. Ce que je ne sais pas ici est de savoir comment calculer les distances A partir de (a, b, c, d). Le problème est la détermination « du bon côté », ce qui signifie comment dois-je déterminer si le point doit être mis en correspondance sur un côté de la tangente ou l'autre. Quelle serait la façon de le déterminer.

2) Je calcule l'équation de la tangente au point A. Ensuite, pour chaque point (a, b, c, d) Je calcule la distance de A (le long du cercle), et l'utilisation de ces distances pour calculer (à, bt, ct, dt ...) le long de la tangente. Pour déterminer le « bon côté » d'un point donné, je peux utiliser la projection de ce point à la tangente. Mais, même avec cela, comment je sais »quel côté est qui? Peut-être il y a des moyens beaucoup plus simples à faire.

Toute suggestion sur la façon de le faire est la bienvenue. Dans le cas où je ne suis pas assez précis, je vais élaborer.

Était-ce utile?

La solution

Pour déterminer « côté » du cercle que vous êtes, vous avez besoin essentiellement de déterminer de quel côté de la ligne AB vous êtes. Pour la réponse à cette question, voir par exemple déterminer de quel côté d'une ligne d'un point se trouve .

Autres conseils

Une meilleure suggestion serait de calculer une transformation de coordonnées qui cartographier le cercle en un cercle unité au centre à l'origine, de sorte que A aura des coordonnées (1, 0) (et B, respectivement, (-1, 0) ). La transformation doit être dilatation avec rotation. Maintenant, la distance sur Aa est juste l'angle d'attaque angle mesuré en radians. Ainsi, vous pouvez facilement calculer à, il est (1, atan2 (y, x) ) où ( x, y) sont les coordonnées d'un.

Maintenant, la seule chose dont vous avez besoin est de revenir au système de coordonnées d'origine, en appliquant la transformation inverse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top