From: [Permission pending] To: rusin@math.niu.edu (Dave Rusin) Date: Thu, 5 Sep 1996 22:41:39 -0500 Subject: Re: Question: Coordinates of equidistant points on spiral l > >Consider a spiral like curve starting on the x-axis at -a and spooling > >clockwise around the origin such that the first intersection with the > >y-axis is at a+a/4, the next intersection with the x axis is at > >-a-2a/4, the next one with the y-axis is at -a-3a/4, and then with the > >x-axis at -2a and so on such that the distance between two adjacent > >layers is always a. > >I am looking for expressions for the coordinates of points on that > >curve that would be seperated by distance d, starting with the first > >one which is (-a,0). > >In other words, what are the coordinates of the n-th point? (a function > >of n,d and a) > > Do you mean only the points which are also on the axes? Evidently you > have their distance from the origin increasing by the formula > a + n*(a/4). If you want to have them pass each of the coordinate rays > in turn, you'd need to write, say, > "The n-th point is (a+n(a/4),0) if n = 0 mod 4, it's > (0,a+n(a/4)) if n=1 mod 4, ..." > If you want to get fancy you could note that the matrix A = > ( 0 1 ) > (-1 0 ) > has powers which repeat after every multiple of 4, and indeed the first > column of A^(n) gives the coordinate of the unit vector pointing in > the direction you want at the n-th step. Thus you could describe the > vector as (a + n*(a/4) ) * A^n v where v is the column vector > ( 1 ) > ( 0 ). > > dave Thanks Dave for your reply. By the way, yours is the only one I got. I may not have been clear in my explanation (I express myself much more clearly in my mother tongue which is French). The points I am looking for do not necessarily lie on the axis, except for the first one which is (-a,o). The other ones lie on the spiral and are separated by a certain fixed distance d, measured on the curve (that is the difficulty I guess). If the distance d is small enough, there could very well be many points on the spiral before we even reach the y-axis. Thanks for your time. [Permission pending] ============================================================================== Date: Fri, 6 Sep 96 01:09:54 CDT From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Question: Coordinates of equidistant points on spiral l I see; I misunderstood. You will have to specify what, exactly, is the behaviour of the curve apart from the axes. I would guess you want a curve given in polar coordinates by an equation of the form r = m*theta + b for some m and b. (Your list of points crossing the axes increased r by a whenever theta increased by 2pi, and had r=a when theta=0, so I guess you had in mind the curve r = (a / 2pi)* theta + a.) One can parameterize such a curve by letting theta increase linearly in time; then the position at time t is found by theta = t r = m t + b x = r cos(theta) = (mt+b) cos(t) t = r sin(theta) = (mt+b) sin(t). The formula for the length of a curve parameterized by (x(t), y(t)) is the integral of sqrt( (x')^2 + (y')^2 ). In your case, x' = m cos(t) - (mt+b) sin(t) y' = m sin(t) + (mt+b) cos(t) so (x')^2 + (y')^2 = m^2 + (mt+b)^2 = m^2 t^2 + 2mb t + (m^2 + b^2). Here's Maple's response: |\^/| Maple V Release 3 (N I U) ._|\| |/|_. Copyright (c) 1981-1994 by Waterloo Maple Software and the \ MAPLE / University of Waterloo. All rights reserved. Maple and Maple V <____ ____> are registered trademarks of Waterloo Maple Software. | Type ? for help. > int(sqrt(m^2 + (m*t+b)^2),t); 2 2 2 2 2 1/2 (2 m t + 2 m b) (m + m t + 2 m t b + b ) 1/4 ----------------------------------------------- 2 m 2 2 1/2 2 2 2 2 1/2 m ln((m ) (t + b/m) + (m + m t + 2 m t b + b ) ) + 1/2 --------------------------------------------------------- 2 1/2 (m ) Evaluate this expression (call it E(t), say) at two different values of t and subtract; that will give you the distance along the curve between the two corresponding points. If instead you know one of the points (t=t1, say) and the distance to be travelled (say d ) then what you want is the other point, that is, you want the value of t making E(t) = E(t1) + d. This is a single equation to solve in the variable t, but it is transcendental (it involves ln ), so you can't expect an explicit formula. Nonetheless, you can solve it numerically quite easily (e.g. Newton's method) if you have numerical values of t1, d, m, and b. J'espere que cette reponse est meilleur. Votre anglais est certainment presque parfait en comparison avec mes abilites avec la langue francaise, comme on peut voir. Mais je le peut lisez, si vous preferez ecrivez en francais; je vous reponderez en anglais, et nous communiquerons sans problemes. Malheureusement, il faut que je suis (*) la source a'assistance pour ma jeune fille quit etudierait la francais pour la premiere fois cette annee. (*) Je ne sais pas la forme subjunctif. suis? serais? sois? dave