Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2003:
[Freeciv-Dev] Re: (PR#3936) introducing native coordinates
Home

[Freeciv-Dev] Re: (PR#3936) introducing native coordinates

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#3936) introducing native coordinates
From: Jason Dorje Short <vze49r5w@xxxxxxxxxxx>
Date: Thu, 10 Apr 2003 14:37:15 -0500
Reply-to: jdorje@xxxxxxxxxxxxxxxxxxxxx

Raimar Falke wrote:
On Wed, Apr 09, 2003 at 06:30:12AM -0500, Jason Dorje Short wrote:

That is quite possible. I'm still trying to understand.


Another try. See the two attached pictures. So there is a compact form
and a rotated form. Both are identical for non-iso maps. In addition
there is the view form which it hard to draw so I use ascii here.

I think you're just getting more confused - and certainly you are confusing me.

Try using the same nomenclature that we are using. There are three forms - the map form, the natural form, and the native form. Additionally there is the iso-view form and the non-iso view form (which may correspond to one of the above forms, but only by lucky coincidence). You may want to read back over the original patch.

View form (iso tileset):

    a b c d e f g h i
1   # # # # # # # # #       Since it isn't clear I specify that the
2    # # # # # # # # #      tile right below b1 is called b2 and not a2.
3   # # # # # # # # #
4    # # # # # # # # #
5   # # # # # # # # #

This is the iso-view form. It also happens to be the natural form for an iso map.

View form (non-iso tileset):
  Similar to grid_rot.png.

The view form is irrelevant for the semantics of the functions since
it depends on the view (iso tileset or non-iso one)?! It looks like
this is untrue: you specify the semantics of the function based on the
iso tileset view form since otherwise the semantic of
square_map_iterate doesn't changes (it is the same for compact and
rotated form). Yes/no?

I don't know what this means.

So square_map_iterate(d3) is

    a b c d e f g h i
1   # # # o # # # # #
2    # # o o # # # # #
3   # # o + o # # # #
4    # # o o # # # # #
5   # # # o # # # # #

Yes.  But it is easier to think of it in map coordinates:
   21 a
  43 # b
  5 ### c
   ##### d
    ##ooo e
     #ooo# f
      ooo## g
       ##### i
        #####
         ####
          ##

which means that, in map coordinates, the semantics are unchanged from the original.

which is in the compact form

    a b c d e f g h i
1   # # # o # # # # #
2   # # o o # # # # #
3   # # o + o # # # #
4   # # o o # # # # #
5   # # # o # # # # #

That is [c2, c3, c4, d1, d2, d4, d5, e3]. Yes/no?

In native coordinates, yes. That's why we don't use native coordinates for local operations :-).

Just for completeness: if we define this semantics of the operations
at the compact or the rotated for the answer would be:

square_map_iterate(d3)
    a b c d e f g h i
1   # # # # # # # # #
2   # # o o o # # # #
3   # # o + o # # # #
4   # # o o o # # # #
5   # # # # # # # # #

That is [c2, c3, c4, d2, d4, e2, e3, e4].

If you define square_nat_iterate, i.e., define the semantics in terms of native coordinates this is what you would get. Note that this block would be quite useless, it would give you a shape like

     o
    ooo         o o o
   o+o    <=>  o + o
   oo           o o o

which would have a different shape than square_nat_iterate(d2):

                 oo
  o o o         o+o
   o + o  <=>  ooo
  o o o         o

I'm hoping that we get slowly get to the core of the things.

Try to work with the existing terms rather than defining entirely new ones. The concept of "compact" and "rotated" may vary depending on the topology, and is not complete. "natural", "native", and "map", on the other hand, were pretty thoroughly defined.

jason



[Prev in Thread] Current Thread [Next in Thread]