Looks good!  --Kip
On Mar 14, 2016 9:45 PM, "Donald Kelly" <[email protected]> wrote:

> I can express a point direction approach as well as the 2 point approach
>
> rotheta=: ([: r. [) * ]
> pt=:_1j0
> dir=:1j1
> ctr=:_1j1
>
>
>
> ( ctr,0)+ (1r4p1) rotheta (pt-ctr),dir
>
>
> _0.292893j0.292893 0j1.41421
>
>
> which is, I believe , your desired point/direc tion approach.
> My previous appr oach gave 2 points on the lin e which can give you the A
> and B
> and t can be extracted. ( original magnitude of t unchange d but direction
> giving dy/dx is changed)
>
>
>
> Old math te acher f orgiven
>
> EE prof emeritus (latin for "has been") whose approach to math is as a tool
>
> and less pro ficient in J , also ask s for forgiveness
>
>
>
> Don
>
>
> ----- Original Message -----
>
> From: "Kip Murray" <[email protected]>
> To: [email protected]
> Sent: Saturday, March 12, 2016 6:37:28 AM
> Subject: Re: [Jprogramming] A plane rotation
>
> What you are doing is very nice.
>
> I call mine a point direction approach. A point on a straight line is
> described by
>
> S + t * D
>
> Where t is a real number, and S And D are points in a vector space, the
> starting point and the direction point.
>
> Another approach valid in any vector space is the two-point approach where
> a point on the straight line through two points A and B is described by
>
> ((1-t)*A) + t*B
>
> -- this point is " t of the way from A towards B ", for example when t is
> 1r2 you have the midpoint between A and B, and if t is 2 then B is the
> midpoint between A and ((1-t)*A) + t*B , and if t is _1 . . . You are
> establishing a coordinate system on line AB in which A has coordinate 0 and
> B has coordinate 1.
>
> Forgive an old math teacher,
> Kip Murray
>
> On Friday, March 11, 2016, Donald Kelly <[email protected]> wrote:
>
> > We are trying to do the same thing- where you concentrate on a point-
> > slope approach, I tend to a rotation of points -and there can be many-
> > points on a shape or a curve. With this latest example I use the
> following.
> >
> >
> > rotheta=:([:r.[)*]
> > pts=:_1j0 0j1 1j2
> > ctr=:_1j1
> >
> > ] s=:ctr+ (1r4p1) rotheta pts-ctr
> > _0.292893j0.292893 _0.292893j1.70711 _0.292893j3.12132
> >
> >
> > which are the the rotated positions of the original points -a vertical
> > line at x=_0.292893 (_1+%:0.5)
> >
> > as you have . The distance between adjacent points is % :2 as in the ori
> > ginal points .
> >
> >
> >
> > My earlier posted rotheta was m eant to give input and output in (x,y)
> > form and didn't work for this example.
> > I realize why you de alt with 3 points although t his wa sn't needed.
> >
> >
> > As far as the verbs themselves are considered- as simple as possible is
> > the target.
> >
> >
> > Don
> >
> > ----- Original Message -----
> >
> > From: "Kip Murray" <[email protected] <javascript:;>>
> > To: [email protected] <javascript:;>
> > Sent: Wednesday, March 9, 2016 8:26:09 PM
> > Subject: Re: [Jprogramming] A plane rotation
> >
> > Verbs ff , gg , and (gg mab) below represent straight lines. If one of
> > them is evaluated at a real number t the result is a point on the
> > represented line. I calculated three points on each represented line as a
> > kind of substitute for graphing the line, and to let you see how the
> > y-coordinates (imaginary parts) were related to the x-coordinates (real
> > parts). For me the "results" are the verbs themselves, not the points
> > calculated from them! Here is another example
> >
> > hh =: _1j0 1j1 line NB. line with start _1j0 , direction 1j1
> > hh"0 [ 0 1 2 NB. three points on the line
> > _1j0 0j1 1j2
> > jj =: hh rot 1r4p1 _1j1 NB. rotate line 1r4p1 radians about _1j1
> > jj"0 [ _1 0 1 NB. three points show result is vertical line x = _1 +
> > %: 0.5
> > _0.2928932188j_1.121320344 _0.2928932188j0.2928932188
> > _0.2928932188j1.707106781
> >
> > --Kip Murray
> >
> > On Wednesday, March 9, 2016, Don Kelly <[email protected] <javascript:;>>
> > wrote:
> >
> > > A question- you give you define the line and the center of rotation but
> > > the results are 3 points on the line. shouldn't the results be shown in
> > > terms of 2 points on the rotated line? While usually the line is
> > expressed
> > > as y=a+bx (a and b real) which is easy if the the rotation center is on
> > > the line at x =0.
> > > new end =. (r.theta) +end as start is not changed.
> > > A bigger challenge is to have a rotation center that is not on the
> > > original line and given points that do not fit the typical y=a+bx
> > > Example: line ends at 2j3j5 and 3j4 to be rotated about 1j2
> > > this involves a rotation of two vectors (1j1 and3j4 ) as seen from 1j2
> > > about "0" and then a translation of 1j2
> > >
> > > rotheta=:[: +. ([: r. [) * [: +.^:_1 ]
> > >
> > > 1j2+ (_1r4p1) rotheta 1j1 2j2
> > >
> > > 2.41421j2 3.82843j2 which is the location of the
> > > points after rotation
> > > This can then be put into a y=a+bx form with a =2 and b=1.414..
> > >
> > >
> > > Don
> > >
> > >
> > > On 2/20/2016 2:14 PM, Kip Murray wrote:
> > >
> > >> Here after a struggle are my linrot results.
> > >>
> > >> NB. rotate a line in the plane about a point in the plane
> > >>
> > >> NB. here points are complex numbers
> > >>
> > >> NB. below start and direction are complex numbers, could be vectors
> > >>
> > >> NB. (start,direction) line t is start + t * direction
> > >>
> > >> line =: 1 : '({. m) + ({: m) * ]'
> > >>
> > >> mab =: 1 : '( (u 0) , (% 9&o.) (u 1) - u 0 ) line' NB. point slope
> > >> version of u
> > >>
> > >> NB. below u rot (theta,center) rotates results of u by theta radians
> > >> about the center
> > >> NB. it is assumed the results of u and the center are complex numbers
> > >>
> > >> rot =: 2 : '[: r.&({. n)&.(({: n) -~ ]) u'
> > >>
> > >> ff =: 0j1 1j1 line NB. line starts at 0j1 goes in direction of
> > >> 1j1
> > >>
> > >> ff"0 [ 0 1 2 NB. Notice y = x + 1
> > >> 0j1 1j2 2j3
> > >>
> > >> gg =: ff rot _1r4p1 0j1 NB. rotates ff results 45 degees clockwise
> > >> about 0j1
> > >>
> > >> gg"0 [ 0 1 2 NB. horizontal (y's are all 1)
> > >> 0j1 1.414213562j1 2.828427125j1
> > >>
> > >> (gg mab)"0 [ 0 1 2. NB. results x j. y from point slope y = 1 +
> > >> 0*(x - 0)
> > >> 0j1 1j1 2j1
> > >>
> > >> --Kip
> > >>
> > >> On Thursday, February 18, 2016, Louis de Forcrand <[email protected]
> > <javascript:;>>
> > >> wrote:
> > >>
> > >> To continue with the rotation challenges, write a verb that rotates a
> > >>> linear
> > >>> polynomial (coeffs in x) by 0 {:: y with a centre of 1 {:: y:
> > >>>
> > >>> 1 2 linrot 1p1 ; 0 1
> > >>> 1 2
> > >>> 1 2 linrot 1r2p1 ; 0 1
> > >>> 1 _0.5
> > >>> 1 2 linrot 1p1;1 1
> > >>> _3 2
> > >>>
> > >>> My take:
> > >>> linrot=: ({: %. 1 ,. {.)@rotposmat
> > >>> rotposmat=: centre + j./@posmat |:@:+.@:* r.@angle
> > >>> centre=: 1&({::)@]
> > >>> posmat=: (] ,: p.)&0 1@[ - centre
> > >>> angle=: 0&({::)@]
> > >>>
> > >>> It uses matrix division on a rotated set of two points from the
> > original
> > >>> polynomial. Not very elegant, but I’m pretty sure it works.
> > >>>
> > >>> Best regards,
> > >>> Louis
> > >>>
> > >>> On 17 Feb 2016, at 06:40, Kip Murray <[email protected]
> > <javascript:;>
> > >>>>
> > >>> <javascript:;>> wrote:
> > >>>
> > >>>> Not bad. I didn't know about r. . For clean I use
> > >>>>
> > >>>> clean =: (* *!.1e_14@|)"0&.+.
> > >>>>
> > >>>> --Kip
> > >>>>
> > >>>> On Tuesday, February 16, 2016, Raul Miller <[email protected]
> > <javascript:;>
> > >>>>
> > >>> <javascript:;> <mailto:[email protected] <javascript:;>
> > <javascript:;>>> wrote:
> > >>>
> > >>>> Well...
> > >>>>>
> > >>>>> rottheta=: (rot~ r.)~
> > >>>>> 1r2p1 rottheta 3 4
> > >>>>> _4 3
> > >>>>> 1r4p1 rottheta _1 1
> > >>>>> _1.41421 1.11022e_16
> > >>>>>
> > >>>>> I remember there being a concise phrase to clean irrelevant bits
> near
> > >>>>> zero in a complex number, but I can't remember what I need to
> search
> > >>>>> on to find it, and my foggy memory of how to write it is failing me
> > at
> > >>>>> the moment.
> > >>>>>
> > >>>>> Still, this gets you close.
> > >>>>>
> > >>>>> --
> > >>>>> Raul
> > >>>>>
> > >>>>>
> > >>>>> On Tue, Feb 16, 2016 at 11:50 PM, Kip Murray <
> [email protected]
> > <javascript:;>
> > >>>>>
> > >>>> <javascript:;>
> > >>>
> > >>>> <javascript:;>> wrote:
> > >>>>>
> > >>>>>> I'm retired with time to "fool around". Finding an old rot90 verb
> > >>>>>> that
> > >>>>>> used multiplication by a 2 by 2 matrix, I sought a more direct way
> > >>>>>>
> > >>>>> using
> > >>>
> > >>>> complex numbers and found one of the solutions that was posted. I
> also
> > >>>>>> learned a lot from the other solutions posted, thanks everyone!
> > >>>>>>
> > >>>>>> New puzzle: find a complex analysis way to do a rotation given its
> > >>>>>>
> > >>>>> angle
> > >>>
> > >>>> in
> > >>>>>
> > >>>>>> radians, examples:
> > >>>>>>
> > >>>>>> 1r2p1 rottheta 3 4
> > >>>>>> _4 3
> > >>>>>>
> > >>>>>> 1r4p1 rottheta _1 1
> > >>>>>> _1.414213562 0
> > >>>>>>
> > >>>>>> --Kip
> > >>>>>>
> > >>>>>> I'm also a former math professor!
> > >>>>>>
> > >>>>>> On Tuesday, February 16, 2016, David Lambert <
> [email protected]
> > <javascript:;>
> > >>>>>>
> > >>>>> <javascript:;>
> > >>>
> > >>>> <javascript:;>> wrote:
> > >>>>>
> > >>>>>> what's your agenda, are you writing a book? Isn't there a
> > homogeneous
> > >>>>>>> coordinate system/transformation lab?
> > >>>>>>>
> > >>>>>>> On 02/16/2016 06:16 PM, [email protected]
> > <javascript:;>
> > >>>>>>>>
> > >>>>>>> <javascript:;>
> > >>>
> > >>>> <javascript:;> wrote:
> > >>>>>
> > >>>>>> Date: Tue, 16 Feb 2016 15:18:43 -0600
> > >>>>>>>>> From: Kip Murray<[email protected] <javascript:;>
> > <javascript:;>
> > >>>>>>>>>
> > >>>>>>>> <javascript:;>>
> > >>>
> > >>>> To:"[email protected] <javascript:;> <javascript:;>
> > <javascript:;>" <
> > >>>>>>>>>
> > >>>>>>>> [email protected] <javascript:;> <javascript:;>
> > <javascript:;>>
> > >>>>>
> > >>>>>> Subject: [Jprogramming] A plane rotation
> > >>>>>>>>> Message-ID:
> > >>>>>>>>> <
> > >>>>>>>>>
> > >>>>>>>>
> > caofworgvydb1nmjwxkb0wosyfnlubxcdz20sv11uksfcfay...@mail.gmail.com
> > <javascript:;>
> > >>>>>
> > >>>> <javascript:;>
> > >>>
> > >>>> <javascript:;>>
> > >>>>>
> > >>>>>> Content-Type: text/plain; charset=UTF-8
> > >>>>>>>>>
> > >>>>>>>>> Fairly easy: write a verb that rotates a point in the plane by
> > the
> > >>>>>>>>>
> > >>>>>>>> angle
> > >>>>>
> > >>>>>> of
> > >>>>>>>>> a given complex number. For example
> > >>>>>>>>>
> > >>>>>>>>> 1j1 rot 1 1 NB. Rotate 1 1 counterclockwise 45 degrees
> > >>>>>>>>> 0 1.414213562
> > >>>>>>>>>
> > >>>>>>>>> Background information: when you multiply two complex numbers
> the
> > >>>>>>>>> magnitudes are multiplied and the angles are added.
> > >>>>>>>>>
> > >>>>>>>>> --Kip Murray
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>
> > ----------------------------------------------------------------------
> > >>>>>>> For information about J forums see
> > >>>>>>>
> > >>>>>> http://www.jsoftware.com/forums.htm
> > >>>
> > >>>>
> > >>>>>>
> > >>>>>> --
> > >>>>>> Sent from Gmail Mobile
> > >>>>>>
> > ----------------------------------------------------------------------
> > >>>>>> For information about J forums see
> > >>>>>> http://www.jsoftware.com/forums.htm
> > >>>>>>
> > >>>>>
> > ----------------------------------------------------------------------
> > >>>>> For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > >>>>>
> > >>>>
> > >>>>
> > >>>> --
> > >>>> Sent from Gmail Mobile
> > >>>>
> ----------------------------------------------------------------------
> > >>>> For information about J forums see
> > http://www.jsoftware.com/forums.htm
> > >>>> <
> > >>>>
> > >>> http://www.jsoftware.com/forums.htm>
> > >>>
> ----------------------------------------------------------------------
> > >>> For information about J forums see
> http://www.jsoftware.com/forums.htm
> > >>>
> > >>
> > >>
> > >>
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> >
> >
> > --
> > Sent from Gmail Mobile
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
> --
> Sent from Gmail Mobile
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to