Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #19233 > unrolled thread

AffineTransform interpolation

Started bybob smith <bob@coolfone.comze.com>
First post2012-10-10 13:12 -0700
Last post2012-10-10 20:21 -0700
Articles 17 — 13 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  AffineTransform interpolation bob smith <bob@coolfone.comze.com> - 2012-10-10 13:12 -0700
    Re: AffineTransform interpolation Roedy Green <see_website@mindprod.com.invalid> - 2012-10-10 13:23 -0700
    Re: AffineTransform interpolation Knute Johnson <nospam@knutejohnson.com> - 2012-10-10 13:46 -0700
    Re: AffineTransform interpolation Jeff Higgins <jeff@invalid.invalid> - 2012-10-10 17:31 -0400
    Re: AffineTransform interpolation Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-10 18:29 -0400
    Re: AffineTransform interpolation Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-10-10 16:55 -0700
      Re: AffineTransform interpolation Lew <lewbloch@gmail.com> - 2012-10-10 17:02 -0700
    Re: AffineTransform interpolation Knute Johnson <nospam@knutejohnson.com> - 2012-10-10 19:44 -0700
      Re: AffineTransform interpolation Gene Wirchenko <genew@ocis.net> - 2012-10-10 19:47 -0700
      Re: AffineTransform interpolation Arne Vajhøj <arne@vajhoej.dk> - 2012-10-10 22:55 -0400
        Re: AffineTransform interpolation Knute Johnson <nospam@knutejohnson.com> - 2012-10-11 08:23 -0700
          Re: AffineTransform interpolation "Aaron W. Hsu" <arcfide@sacrideo.us> - 2012-10-11 14:00 -0400
          Re: AffineTransform interpolation Arne Vajhøj <arne@vajhoej.dk> - 2012-10-11 18:02 -0400
            Re: AffineTransform interpolation Martin Gregorie <martin@address-in-sig.invalid> - 2012-10-12 00:17 +0000
              Re: AffineTransform interpolation Gene Wirchenko <genew@ocis.net> - 2012-10-11 20:03 -0700
              Re: AffineTransform interpolation Arved Sandstrom <asandstrom2@eastlink.ca> - 2012-10-17 20:01 -0300
      Re: AffineTransform interpolation markspace <-@.> - 2012-10-10 20:21 -0700

#19233 — AffineTransform interpolation

Frombob smith <bob@coolfone.comze.com>
Date2012-10-10 13:12 -0700
SubjectAffineTransform interpolation
Message-ID<4ee42124-f57e-4a7e-9d60-d0d1559f0625@googlegroups.com>
Is it generally possible to interpolate between two AffineTransform objects?

For instance, you may want to get the object that is midway between two AffineTransforms.

[toc] | [next] | [standalone]


#19234

FromRoedy Green <see_website@mindprod.com.invalid>
Date2012-10-10 13:23 -0700
Message-ID<k8mb7891kjc750iak1s5rhpb0qn5aor711@4ax.com>
In reply to#19233
On Wed, 10 Oct 2012 13:12:38 -0700 (PDT), bob smith
<bob@coolfone.comze.com> wrote, quoted or indirectly quoted someone
who said :

>
>For instance, you may want to get the object that is midway between two AffineTransforms.

I supposed you can create an Affine transform that uses the mean of
the parms of the two components. I think you would have to experiment.
-- 
Roedy Green Canadian Mind Products http://mindprod.com
The iPhone 5 is a low end Rolex. 

[toc] | [prev] | [next] | [standalone]


#19236

FromKnute Johnson <nospam@knutejohnson.com>
Date2012-10-10 13:46 -0700
Message-ID<k54mrk$fdi$1@dont-email.me>
In reply to#19233
On 10/10/2012 1:12 PM, bob smith wrote:
> Is it generally possible to interpolate between two AffineTransform objects?
>
> For instance, you may want to get the object that is midway between two AffineTransforms.
>

It's been a long time since I've done any matrix math but I don't think 
you can interpolate between transforms.  Since a transform is a 
multiplication does it even matter the order of transform if you do 
multiples?  You could rotate or translate half the distance.

I'm curious, what are you really trying to do?

-- 

Knute Johnson

[toc] | [prev] | [next] | [standalone]


#19237

FromJeff Higgins <jeff@invalid.invalid>
Date2012-10-10 17:31 -0400
Message-ID<k54p4d$u48$1@dont-email.me>
In reply to#19233
On 10/10/2012 04:12 PM, bob smith wrote:
> Is it generally possible to interpolate between two AffineTransform objects?
>
> For instance, you may want to get the object that is midway between two AffineTransforms.
>
There was some discussion in "Linear Combination of Transformations",
Marc Alexa, 2002 available via Google Books. It was above my head
then and remains so now. David Eberly may have written some on the 
subject. comp.graphics.algorithms has slowed to a crawl but some remain 
to answer inquiries.

[toc] | [prev] | [next] | [standalone]


#19240

FromEric Sosman <esosman@comcast-dot-net.invalid>
Date2012-10-10 18:29 -0400
Message-ID<k54st1$kv2$1@dont-email.me>
In reply to#19233
On 10/10/2012 4:12 PM, bob smith wrote:
> Is it generally possible to interpolate between two AffineTransform objects?
>
> For instance, you may want to get the object that is midway between two AffineTransforms.

     It's certainly possible to generate a transformation matrix
that is a weighted sum of two others:

	[Mavg] = r * [Ma] + (1-r) * [Mb]

     Alternatively, you could find a "geometric mean" as a matrix
whose square is the product of the two transformations:

	[Mavg] * [Mavg] = [Ma] * [Mb]

(Note that the "matrix square root" is not unique.  I don't know
how you'd decide which of many candidate root matrices to use, nor
how you might extend the idea to "weighted geometric means.")

     Whether either of these satisfies your notion of "interpolate"
is something only you can determine.

-- 
Eric Sosman
esosman@comcast-dot-net.invalid

[toc] | [prev] | [next] | [standalone]


#19245

FromPeter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com>
Date2012-10-10 16:55 -0700
Message-ID<rjjr5ckr0afd.cnm7pv67ce9r.dlg@40tude.net>
In reply to#19233
On Wed, 10 Oct 2012 13:12:38 -0700 (PDT), bob smith wrote:

> Is it generally possible to interpolate between two AffineTransform objects?
> 
> For instance, you may want to get the object that is midway between two AffineTransforms.

For interpolation of transforms, the usual technique is to use quaternions.
They allow similar operations as matrix transforms, but are better-suited
to interpolation.

AFAIK, Java does not have built-in quaternion support, but it's just math.
If you can't find a third-party library for that, you can read up on it and
write your own without too much difficulty.

Pete

[toc] | [prev] | [next] | [standalone]


#19246

FromLew <lewbloch@gmail.com>
Date2012-10-10 17:02 -0700
Message-ID<54ce114c-421e-4c70-b826-7427876c41b2@googlegroups.com>
In reply to#19245
Peter Duniho wrote:
> bob smith wrote:
>> Is it generally possible to interpolate between two AffineTransform objects?
> 
>> For instance, you may want to get the object that is midway between two AffineTransforms.
> 
> For interpolation of transforms, the usual technique is to use quaternions.
> They allow similar operations as matrix transforms, but are better-suited
> to interpolation.
> 
> AFAIK, Java does not have built-in quaternion support, but it's just math.
> If you can't find a third-party library for that, you can read up on it and
> write your own without too much difficulty.

https://www.google.com/search?q=java+quaternion+library
seems to have some promising links.

-- 
Lew

[toc] | [prev] | [next] | [standalone]


#19247

FromKnute Johnson <nospam@knutejohnson.com>
Date2012-10-10 19:44 -0700
Message-ID<k55bps$ps$1@dont-email.me>
In reply to#19233
On 10/10/2012 1:12 PM, bob smith wrote:
> Is it generally possible to interpolate between two AffineTransform objects?
>
> For instance, you may want to get the object that is midway between two AffineTransforms.
>

Anybody remember the name of the programming language from the 70s that 
had a bunch of built functions for things like matrix math?  I think it 
started with an A?  School had a PDP 8 or 11 and it ran on that.

-- 

Knute Johnson

[toc] | [prev] | [next] | [standalone]


#19248

FromGene Wirchenko <genew@ocis.net>
Date2012-10-10 19:47 -0700
Message-ID<dlcc7854cgqsuarq9e4ofpn5inq97tscne@4ax.com>
In reply to#19247
On Wed, 10 Oct 2012 19:44:11 -0700, Knute Johnson
<nospam@knutejohnson.com> wrote:

>On 10/10/2012 1:12 PM, bob smith wrote:
>> Is it generally possible to interpolate between two AffineTransform objects?
>>
>> For instance, you may want to get the object that is midway between two AffineTransforms.
>>
>
>Anybody remember the name of the programming language from the 70s that 
>had a bunch of built functions for things like matrix math?  I think it 
>started with an A?  School had a PDP 8 or 11 and it ran on that.

     BASIC?

     HP 2000F BASIC had matrix functions.  I only ever seriously used
it for array initialisation
          MAT A=ZER
would zero array A.  The matrix functions got dropped on any micro
BASICs I ever used.

Sincerely,

Gene Wirchenko

[toc] | [prev] | [next] | [standalone]


#19249

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-10-10 22:55 -0400
Message-ID<50763524$0$289$14726298@news.sunsite.dk>
In reply to#19247
On 10/10/2012 10:44 PM, Knute Johnson wrote:
> Anybody remember the name of the programming language from the 70s that
> had a bunch of built functions for things like matrix math?  I think it
> started with an A?  School had a PDP 8 or 11 and it ran on that.

APL?

Arne

[toc] | [prev] | [next] | [standalone]


#19255

FromKnute Johnson <nospam@knutejohnson.com>
Date2012-10-11 08:23 -0700
Message-ID<k56oac$bsf$1@dont-email.me>
In reply to#19249
On 10/10/2012 7:55 PM, Arne Vajhøj wrote:
> On 10/10/2012 10:44 PM, Knute Johnson wrote:
>> Anybody remember the name of the programming language from the 70s that
>> had a bunch of built functions for things like matrix math?  I think it
>> started with an A?  School had a PDP 8 or 11 and it ran on that.
>
> APL?
>
> Arne
>
>

That's it Arne.  It's been so long I just couldn't remember any more.  I 
wonder if it is still used?

-- 

Knute Johnson

[toc] | [prev] | [next] | [standalone]


#19256

From"Aaron W. Hsu" <arcfide@sacrideo.us>
Date2012-10-11 14:00 -0400
Message-ID<op.wl00bgoj0p3ku8@localhost>
In reply to#19255
On Thu, 11 Oct 2012 11:23:56 -0400, Knute Johnson  
<nospam@knutejohnson.com> wrote:

> On 10/10/2012 7:55 PM, Arne Vajhøj wrote:

>> APL?

> That's it Arne.  It's been so long I just couldn't remember any more.  I  
> wonder if it is still used?

Yes, it is still used, supported commercially, and has a number of  
derivatives and extensions. It's much improved since those early days, and  
people like me are doing active research with the language and on the  
language itself.

-- 
Aaron W. Hsu | arcfide@sacrideo.us | http://www.sacrideo.us
Programming is just another word for the Lost Art of Thinking.

[toc] | [prev] | [next] | [standalone]


#19259

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-10-11 18:02 -0400
Message-ID<507741ee$0$295$14726298@news.sunsite.dk>
In reply to#19255
On 10/11/2012 11:23 AM, Knute Johnson wrote:
> On 10/10/2012 7:55 PM, Arne Vajhøj wrote:
>> On 10/10/2012 10:44 PM, Knute Johnson wrote:
>>> Anybody remember the name of the programming language from the 70s that
>>> had a bunch of built functions for things like matrix math?  I think it
>>> started with an A?  School had a PDP 8 or 11 and it ran on that.
>>
>> APL?
>
> That's it Arne.  It's been so long I just couldn't remember any more.  I
> wonder if it is still used?

I think it is quite rare.

But it is still used.

I believe one of the more popular flavors/offspring is J:

http://www.jsoftware.com/

Arne

[toc] | [prev] | [next] | [standalone]


#19260

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2012-10-12 00:17 +0000
Message-ID<k57nj5$qrv$1@localhost.localdomain>
In reply to#19259
On Thu, 11 Oct 2012 18:02:18 -0400, Arne Vajhøj wrote:

> On 10/11/2012 11:23 AM, Knute Johnson wrote:
>> On 10/10/2012 7:55 PM, Arne Vajhøj wrote:
>>> On 10/10/2012 10:44 PM, Knute Johnson wrote:
>>>> Anybody remember the name of the programming language from the 70s
>>>> that had a bunch of built functions for things like matrix math?  I
>>>> think it started with an A?  School had a PDP 8 or 11 and it ran on
>>>> that.
>>>
>>> APL?
>>
>> That's it Arne.  It's been so long I just couldn't remember any more. 
>> I wonder if it is still used?
> 
> I think it is quite rare.
> 
> But it is still used.
>
It used to be described as the ultimate write-only language. I remember 
it being said that Ken Iverson wrote a GUI style text editor in 25 lines 
of APL, but was unable to understand it six months later.
  
> I believe one of the more popular flavors/offspring is J:
> 
... also by Iverson!


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#19261

FromGene Wirchenko <genew@ocis.net>
Date2012-10-11 20:03 -0700
Message-ID<k02f7856ous2vofg5gafg3pl1gqttugth7@4ax.com>
In reply to#19260
On Fri, 12 Oct 2012 00:17:41 +0000 (UTC), Martin Gregorie
<martin@address-in-sig.invalid> wrote:

>On Thu, 11 Oct 2012 18:02:18 -0400, Arne Vajhøj wrote:
>
>> On 10/11/2012 11:23 AM, Knute Johnson wrote:
>>> On 10/10/2012 7:55 PM, Arne Vajhøj wrote:

[snip]

>>>> APL?
>>>
>>> That's it Arne.  It's been so long I just couldn't remember any more. 
>>> I wonder if it is still used?

     APL was my first thought for language, but I had never heard of
it on the hardware you mentioned.

>> I think it is quite rare.
>> 
>> But it is still used.
>>
>It used to be described as the ultimate write-only language. I remember 
>it being said that Ken Iverson wrote a GUI style text editor in 25 lines 
>of APL, but was unable to understand it six months later.

     Yow!  That makes INTERCAL and Brainfuck mere pikers.

[snip]

Sincerely,

Gene Wirchenko

[toc] | [prev] | [next] | [standalone]


#19428

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2012-10-17 20:01 -0300
Message-ID<vNGfs.4883$Gf3.2534@newsfe03.iad>
In reply to#19260
On 10/11/2012 09:17 PM, Martin Gregorie wrote:
> On Thu, 11 Oct 2012 18:02:18 -0400, Arne Vajhøj wrote:
>
>> On 10/11/2012 11:23 AM, Knute Johnson wrote:
>>> On 10/10/2012 7:55 PM, Arne Vajhøj wrote:
>>>> On 10/10/2012 10:44 PM, Knute Johnson wrote:
>>>>> Anybody remember the name of the programming language from the 70s
>>>>> that had a bunch of built functions for things like matrix math?  I
>>>>> think it started with an A?  School had a PDP 8 or 11 and it ran on
>>>>> that.
>>>>
>>>> APL?
>>>
>>> That's it Arne.  It's been so long I just couldn't remember any more.
>>> I wonder if it is still used?
>>
>> I think it is quite rare.
>>
>> But it is still used.
>>
> It used to be described as the ultimate write-only language. I remember
> it being said that Ken Iverson wrote a GUI style text editor in 25 lines
> of APL, but was unable to understand it six months later.
>
>> I believe one of the more popular flavors/offspring is J:
>>
> ... also by Iverson!
>
>
As far as J (or K for that matter) is concerned, it doesn't take but 
some regular use of the language to master the symbols; the mnemonics 
are pretty decent, and the extra operations created by combination with 
. and : relate quite well.

*Because* the language is so concise you typically have much less code 
that you have to look at in order to figure out what's going on. Not 
necessarily so with a pass of execution spread out over umpteen classes 
and methods in Java or C#.

As wit any other language there is poor code written in J and good code 
written in J. Good variable names, and choosing explicit or implicit 
control structures as best suited, and in general not being too clever, 
lead to readable and maintainable J code.

AHS

[toc] | [prev] | [next] | [standalone]


#19252

Frommarkspace <-@.>
Date2012-10-10 20:21 -0700
Message-ID<k55e0k$cds$2@dont-email.me>
In reply to#19247
On 10/10/2012 7:44 PM, Knute Johnson wrote:
> On 10/10/2012 1:12 PM, bob smith wrote:
>> Is it generally possible to interpolate between two AffineTransform
>> objects?
>>
>> For instance, you may want to get the object that is midway between
>> two AffineTransforms.
>>
>
> Anybody remember the name of the programming language from the 70s that
> had a bunch of built functions for things like matrix math?  I think it
> started with an A?  School had a PDP 8 or 11 and it ran on that.
>


GraFORTH?

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web