At 23:03 +0200 2000_12_17, Brennan Young wrote:
>Jakob Hede Madsen <[EMAIL PROTECTED]> wrote
OK, so you model hunting around the sense of smell, whereas I was
thinking more in terms of the visual sense, which creates slightly
different metaphors.
If we are standing in a room, and "you" can see "me", then what is that?
Somewhere in the environment (world object) there is one or more
light sources (lightManager and light objects) these emits light
(photonManager and photonObjects) these scurry around in some
coordinate system and does collision checking with all (visible)
objects in the world, they collide with me and bounce back, being
altered by the collision. Some of the photons then hit your eye
(charactermanager.character("brennan").eye[1]). When enough
information has reached your eye the patternRecognition subComponnent
of your brain (tBrennan.brain.thalamus) recognizes the pattern of "me"
and I have been seen by you. Your brain creates an object which
represents the virtual concept of "me" in your brain. at a higher
level you perceive "me" as an avatar-object in your pool of
conceptual avatars constituting your idea of the surroundings.
In the real world there is even no worldManager to ask about the
positions of other objects, so even a model where you ask the world
about the position about another object could be accused of not
modelling the reality precisely enough.
From the high level concepts of "me" and "you" the low level
implementation of photons and reflections are not really relevant.
From the moment you have "seen" me, you track the "me" as a concept
of an entity, not as a bunch of photons. So why not just latch onto
the implementational entity representing the concept of "me", that is
the the object "Jakob" and then ask "me" about my position.
So there might be situations, where I have a position but you should
not know it, that might be because I am at he other side of a wall,
or I have eaten the blue pill.
The blue pill case is the simplest, since I know I ate the pill, I
simply claim invisibility and return VOID when asked about my
location. Notice that I have the ability to decide what to return
because I'm being asked with a method rather than someone just
plucking straight into my data.
It might be that I have a method #mGetPosition, that always just
reveals me, so that the worldManager can have unlimited god-vision,
but I could also have a #mGetVisualPos method, that allowed me to
modify the answer based on my visibility.
The wall case i tougher. The world knows all the elements including
wall, you and me. so maybe it is the most robust solution to let you
ask the world about my position. Then the world can also ask you
about your own position and then decide whether you can see me or not.
But that could also be accomplished by you asking me about my
visualPosition, sending your own reference as a parameter, so that I
could determine if you could see me or not.
Since we can't practically model the real world, we choose our model
so that it meets our requirements. The precision with which it
represents reality, is not the measure of its purity ass OOP. It's
ability to serve our needs in a cleanly structured way is the measure.
Well, well, maybe we should have someone younger and more sexy than
Jane Fonda as the leading female character... ;-)
Jakob.
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi To post messages to the list,
email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo. Thanks!]