Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Jerome Peace
Hi Matthew,

Thanks for your interest.

The assertions comes from the comments I added to some
(pseudo) code I wrote. And as this is still in the
user story stage I blew one.

"more than one morph may share a location."
Would have made more sense (to an outsider**) if I had
said:
"more than one submorph may share a location."
 
The hierarchy tree would be a morph layer then a
location layer then the submorph layer etc.
each morph and location (I am beginning to prefer the
word place) can appear only once in the hierarchy and
there can be no loops.

Morphs themselves would not have intrinsic location
just extent. Morphs wouldn't be anywhere until you put
them some place.

The other part of your question is answered by saying
that locations are local.
The owner of a location is a morph. The location is
given in coords appropriate to its owners coordinate
system.
The location is a place that can contain other morphs
(each with their own coord systems)
There is a decoupling between morphs and the location
a morph is at.

This would allow you to do interesting things. Which I
am still working out in my head.

What I was describing (probably poorly) was an aha
moment. This may or may not pan out.
Or it may pan out but not be worth the effort to
implement.

It certainly isn't meant to stand up to much scrutiny
right at the moment.
Indeed it isn't even at the level of a user story.
(Which would describe what is desired)

The user story is:
I wish squeak didn't have all these bugs due to
transformation morphs. And
I wish squeak had polygon morphs and rectangle morphs
that worked the same way when tilted or stretched.
Particularly with respect to their embeded submorphs.

There is a notion (in my head) that Morphic skipped a
step by using rectanges as a basis for morphs without
having a simple place morph based on a point.

Based on work I've done on polygons and my (somewhat
poor) understanding of what Juan is trying to
accomplish I've come to an idea I think will prove
important. Now comes the interesting part to see if I
can make it work and find a way to make code and a
morphic of it.
Or to satisfy my curiosity and decide its not worth
more effort.






***
>[Morphic] Do morphs have locations or do locations
have morphs?
>
>Matthew Fulmer tapplek at gmail.com
>Fri Jun 22 01:50:15 UTC 2007
>
>
>
>On Thu, Jun 21, 2007 at 01:36:09PM -0700, Jerome
Peace wrote:

>> assertions
>>
>> " each location in at most one morph"
>
>This assertion appears to conflict with
>
>> "a location is a sublocation of its owner"
>
>and
>
>> "more than one morph may share a location."
>
>if one is using world-relative locations. Is this not
the case?

Nope see above.

>What is a location? Parent morph + relative 2d
location?

Hmm. The way I want to do it morphs don't have a
location. They are at a location (that belongs to the
next morph up the line.) The locations that a morph
contains are relative to the morphs reference
location.

So you could move the location inside its refence
morph and everything at that place would move with it.
Or you could  "beam" a morph from a location to
another location (maybe at a different level) and that
would also move everything belonging to the morph.

Righ† now we do something like that by flexing a
morph.
And then we unflex them when we are done. This hairs
up the works. Thats because morphs are coupled to
their location by ivars. If you break that coupling
you gain something. The question is will it be enough
to overcome the overhead of adding extra layers to the
tree. This might come out either way.

My instinct tells me I will at least learn something
interesting by persuing this idea. There is a
potential "big win" in terms of simplicity.

Smalltalk afterall started as genius on the half page.
It deserves to have "simplicity with great power
attached to it" reflected throughout its design.





>
>Also, what is in a Parent morph? location + rotation
+ >shear + scale?

I'm not sure yet. This is one of those things that
won't settle down (and behave like a good idea) until
I  play with it some more. The important thing at the
beginning is to be wrong in interesting ways; try a
lot; and learn things.  


>or is there some more general transform system that
>could handle funky stuff like jiggly morphs,

Ha, what's a jiggly morph?

or allow morphs to be 2.5d? That would be nice.

Morphs are already 2.5d sort of kind of maybe?

My original project was to implement a kissakae system
in squeak.
Morphic was close to there but not quite.

Yours in curiosity and service, --Jerome Peace

**I knew perfectly well what I meant to say, even if I
didn't say it. ;-)





      ____________________________________________________________________________________
Shape Yahoo! in your own image.  Join our Network Research Panel today!   http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7 


_______________________________________________
Morphic mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic
Reply | Threaded
Open this post in threaded view
|

Re: Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Juan Vuletich-4
Hi Jerome,

It seems we came to the same ideas independently!

I also had an "aha" moment when I realized that extent and coordinate
system were intrinsic to the morph, but location was in fact external to
it. Currently, in Morphic 3, location is an ivar in a Morph. But I
didn't like it when I added it. Maybe it is best to do as you say, to
relate morphs and locations in the tree.

I am really convinced these ideas deserve a lot of experimenting and
more thought. Don't discard them. The effort is worth!

Matthew, could you elaborate a bit on "jiggly morphs" and 2.5 D? Aren't
we in 2.5D?

Cheers,
Juan Vuletich

Jerome Peace escribió:

> Hi Matthew,
>
> Thanks for your interest.
>
> The assertions comes from the comments I added to some
> (pseudo) code I wrote. And as this is still in the
> user story stage I blew one.
>
> "more than one morph may share a location."
> Would have made more sense (to an outsider**) if I had
> said:
> "more than one submorph may share a location."
>  
> The hierarchy tree would be a morph layer then a
> location layer then the submorph layer etc.
> each morph and location (I am beginning to prefer the
> word place) can appear only once in the hierarchy and
> there can be no loops.
>
> Morphs themselves would not have intrinsic location
> just extent. Morphs wouldn't be anywhere until you put
> them some place.
>
> The other part of your question is answered by saying
> that locations are local.
> The owner of a location is a morph. The location is
> given in coords appropriate to its owners coordinate
> system.
> The location is a place that can contain other morphs
> (each with their own coord systems)
> There is a decoupling between morphs and the location
> a morph is at.
>
> This would allow you to do interesting things. Which I
> am still working out in my head.
>
> What I was describing (probably poorly) was an aha
> moment. This may or may not pan out.
> Or it may pan out but not be worth the effort to
> implement.
>
> It certainly isn't meant to stand up to much scrutiny
> right at the moment.
> Indeed it isn't even at the level of a user story.
> (Which would describe what is desired)
>
> The user story is:
> I wish squeak didn't have all these bugs due to
> transformation morphs. And
> I wish squeak had polygon morphs and rectangle morphs
> that worked the same way when tilted or stretched.
> Particularly with respect to their embeded submorphs.
>
> There is a notion (in my head) that Morphic skipped a
> step by using rectanges as a basis for morphs without
> having a simple place morph based on a point.
>
> Based on work I've done on polygons and my (somewhat
> poor) understanding of what Juan is trying to
> accomplish I've come to an idea I think will prove
> important. Now comes the interesting part to see if I
> can make it work and find a way to make code and a
> morphic of it.
> Or to satisfy my curiosity and decide its not worth
> more effort.
>
>
>
>
>
>
> ***
>  
>> [Morphic] Do morphs have locations or do locations
>>    
> have morphs?
>  
>> Matthew Fulmer tapplek at gmail.com
>> Fri Jun 22 01:50:15 UTC 2007
>>
>>
>>
>> On Thu, Jun 21, 2007 at 01:36:09PM -0700, Jerome
>>    
> Peace wrote:
>  
>>> assertions
>>>
>>> " each location in at most one morph"
>>>      
>> This assertion appears to conflict with
>>
>>    
>>> "a location is a sublocation of its owner"
>>>      
>> and
>>
>>    
>>> "more than one morph may share a location."
>>>      
>> if one is using world-relative locations. Is this not
>>    
> the case?
>
> Nope see above.
>
>  
>> What is a location? Parent morph + relative 2d
>>    
> location?
>
> Hmm. The way I want to do it morphs don't have a
> location. They are at a location (that belongs to the
> next morph up the line.) The locations that a morph
> contains are relative to the morphs reference
> location.
>
> So you could move the location inside its refence
> morph and everything at that place would move with it.
> Or you could  "beam" a morph from a location to
> another location (maybe at a different level) and that
> would also move everything belonging to the morph.
>
> Righ† now we do something like that by flexing a
> morph.
> And then we unflex them when we are done. This hairs
> up the works. Thats because morphs are coupled to
> their location by ivars. If you break that coupling
> you gain something. The question is will it be enough
> to overcome the overhead of adding extra layers to the
> tree. This might come out either way.
>
> My instinct tells me I will at least learn something
> interesting by persuing this idea. There is a
> potential "big win" in terms of simplicity.
>
> Smalltalk afterall started as genius on the half page.
> It deserves to have "simplicity with great power
> attached to it" reflected throughout its design.
>
>
>
>
>
>  
>> Also, what is in a Parent morph? location + rotation
>>    
> + >shear + scale?
>
> I'm not sure yet. This is one of those things that
> won't settle down (and behave like a good idea) until
> I  play with it some more. The important thing at the
> beginning is to be wrong in interesting ways; try a
> lot; and learn things.  
>
>
>  
>> or is there some more general transform system that
>> could handle funky stuff like jiggly morphs,
>>    
>
> Ha, what's a jiggly morph?
>
> or allow morphs to be 2.5d? That would be nice.
>
> Morphs are already 2.5d sort of kind of maybe?
>
> My original project was to implement a kissakae system
> in squeak.
> Morphic was close to there but not quite.
>
> Yours in curiosity and service, --Jerome Peace
>
> **I knew perfectly well what I meant to say, even if I
> didn't say it. ;-)
>
>
>
>
>
>       ____________________________________________________________________________________
> Shape Yahoo! in your own image.  Join our Network Research Panel today!   http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7 
>
>
> _______________________________________________
> Morphic mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic
>
>  

_______________________________________________
Morphic mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic
Reply | Threaded
Open this post in threaded view
|

Re: Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Tapple Gao
On Sat, Jun 23, 2007 at 09:29:38AM -0300, Juan Vuletich wrote:
> Matthew, could you elaborate a bit on "jiggly morphs" and 2.5 D? Aren't
> we in 2.5D?

For "jiggly morphs", I am thinking of the quite visially
appealing non-linear transformations used in Beryl:
http://en.wikipedia.org/wiki/Beryl_%28window_manager%29
Of the videos on the subject, this one demonstrates the effect
the most succintly: (warning! sound!)
http://www.youtube.com/watch?v=1FeXVUz5nD4&NR=1
Most of that would be possible with a modied coordinate system,
but some of it would require a warped GL surface.

For 2.5d, I am thinking of something like Merlin, where Morphs
are 2-d entities, but exist as camera-facing sprites in a 3-d
world (dormant project; no good screenshots)
http://www.lsi.usp.br/~jecel/gui.html
or, croquet, where 2-d entities have location and orientation in
a 3-d island:
http://www.opencroquet.org/index.php/Screenshots

--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808
_______________________________________________
Morphic mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic
Reply | Threaded
Open this post in threaded view
|

Re: Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Juan Vuletich-4
Hi Matthew,

Matthew Fulmer escribió:

> On Sat, Jun 23, 2007 at 09:29:38AM -0300, Juan Vuletich wrote:
>  
>> Matthew, could you elaborate a bit on "jiggly morphs" and 2.5 D? Aren't
>> we in 2.5D?
>>    
>
> For "jiggly morphs", I am thinking of the quite visially
> appealing non-linear transformations used in Beryl:
> http://en.wikipedia.org/wiki/Beryl_%28window_manager%29
> Of the videos on the subject, this one demonstrates the effect
> the most succintly: (warning! sound!)
> http://www.youtube.com/watch?v=1FeXVUz5nD4&NR=1
> Most of that would be possible with a modied coordinate system,
> but some of it would require a warped GL surface.
>
>  
This kind of stuff could be done in Morphic 3. But performance won't be
good until we go to OpenGL or such.
> For 2.5d, I am thinking of something like Merlin, where Morphs
> are 2-d entities, but exist as camera-facing sprites in a 3-d
> world (dormant project; no good screenshots)
> http://www.lsi.usp.br/~jecel/gui.html
>  
This is cool. But Morphic 3 is just 2d with zOrder. (This is usually
called 2.5d). So, It won't be possible.
> or, croquet, where 2-d entities have location and orientation in
> a 3-d island:
> http://www.opencroquet.org/index.php/Screenshots
>
>  

Yes, but for a full 3d environment, we have croquet, don't we?


Cheers,
Juan Vuletich
_______________________________________________
Morphic mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic