2017-06-24 11 views
-1

J'ai une spirale d'Archimède déterminée par les équations paramétriques x = r t * cos(t) et y = r t * sin(t).Placer des points équidistants le long d'une spirale d'Archimède à partir d'équations paramétriques

J'ai besoin de placer n points équidistants le long de la spirale. La définition exacte d'équidistant n'a pas trop d'importance - elle doit seulement être approximative. En utilisant seulement les paramètres r, t et n, comment calculer les coordonnées de chaque point équidistant?

Tout algorithme suffira, mais je finirai par le traduire en JavaScript. Merci beaucoup pour votre temps.

Merci!

+0

qu'entendez-vous par équidistante? distance égale le long de la spirale, ou dans le plan «xy»? Et quelle gamme de la spirale voulez-vous diviser? Puisque 't' n'est pas défini, il pourrait être infini. Et vous ne pouvez pas traiter l'infinité dans un contexte fini. Veuillez réessayer et mettre à jour votre question. – Thomas

+0

Toutes les variables seront définies par le programme. Je suis à la recherche d'une solution générale. Je me sens comme "n points équidistants autour d'une spirale" devrait être assez explicite – snazzybouche

+0

Alors que diriez-vous de 'pour (var i = 0; i Thomas

Répondre

0

Vous souhaitez placer des points équidistants correspondant à la longueur de l'arc. longueur de l'arc de spirale d'Archimède (formula 4) est assez complexe

s(t) = 1/(2*a) * (t * Sqrt(1 + t*t) + ln(t + Sqrt(1+t*t))) 

et pour une position exacte pourrait utiliser des méthodes numériques, calculer des valeurs de t pour équidistant s1, s2, s3 ... progression arithmétique. C'est possible cependant.

Première approximation possible - calculer les valeurs s (t) pour une séquence de t, puis obtenir des intervalles pour les valeurs s nécessaires et appliquer une interpolation linéaire.

Deuxième moyen - utiliser Clackson scroll formula approximation, cette approche semble very simple (peut-être inexacte pour les valeurs petites t)

t = 2 * Pi * Sqrt(2 * s/a) 

cochés: résultat tout à fait fiable

enter image description here

+0

Ca me va, je vais faire un test et faire un rapport. À votre santé! – snazzybouche

+0

Dans vos formules, votre 'a' est-il le même que mon' r'? – snazzybouche

+0

Oui, c'est pareil, coefficient d'échelle – MBo