Differences between revisions 14 and 15

SHAPE.TXT

Description

This text file is the shape model that SPC uses. SHAPE.TXT is output by densify.

The shape is in the ICQ format, which is basically a 6-sided cube. Q size (resolution) values are between 8 and 512 in increments of factors of 2: 8, 16, 32, 64, 128, 256, 512.

densify generates this file, usually by taking an existing shape model, increasing the scale of the vertices by a factor of two and calculating the height of the average maplet the passes through that vector. The program dumber will downscale the shape model to a lower resolution.

ICQ Format Description

The global topography models (GTM) are presented here in an implicitly connected quadrilateral (ICQ) format. The vertices are labeled as though they were grid points on the faces of a cube

```                        0 --------- I --------- Q
0  .  .  .  .  .  .  .  .  .
|  .  .  .  .  .  .  .  .  .
|  .  .  .  .  .  .  .  .  .
|  .  .  .  .  .  .  .  .  .
J  .  .  .  . F.  .  .  .  .
|  .  .  .  .  .  .  .  .  .
|  .  .  .  .  .  .  .  .  .
|  .  .  .  .  .  .  .  .  .
Q  .  .  .  .  .  .  .  .  .                  ```

so that each of the six faces (F) contains (Q+1)^2 vertices v(I,J,F) (I=0,Q; J=0,Q) and Q^2 facets f(I,J,F) (I=0,Q-1; J=0,Q-1).

The facet f(I,J,F) implicitly has the vertices v(I,J,F), v(I,J+1,F), v(I+1,J+1,F), v(I+1,J,F).

If the cube is unfolded, the six faces are arranged as

```                                           -----------
|         |
|    1    |
|         |
-----------------------------------------
|         |         |         |         |
|    5    |    4    |    3    |    2    |
|         |         |         |         |
-----------------------------------------
|         |
|    6    |
|         |
-----------
```

At each of the 12 edges of the cube, faces share common vertices so that, for example, the last row of face 1 has the same vertices as the first row of face 2. The common edge vertices are, with I=(0,Q),

```                v(I,Q,6)=v(Q-I,Q,4)
v(I,0,6)=v(I,Q,2)
v(I,0,5)=v(Q,Q-I,1)
v(I,0,4)=v(Q-i,0,1)
v(I,0,3)=v(0,I,1)
v(I,0,2)=v(I,Q,1)
v(q,I,6)=v(I,Q,5)
v(q,I,5)=v(0,I,4)
v(q,I,4)=v(0,I,3)
v(q,I,3)=v(0,I,2)
v(0,I,6)=v(Q-I,Q,3)
v(0,I,5)=v(Q,I,2)               ```

and the eight corners share vertices from three faces:

```                v(0,0,1) = v(0,0,3) = v(Q,0,4)
v(0,Q,1) = v(0,0,2) = v(Q,0,3)
v(Q,0,1) = v(0,0,4) = v(Q,0,5)
v(Q,Q,1) = v(0,0,5) = v(Q,0,2)
v(0,0,6) = v(0,Q,2) = v(Q,Q,3)
v(0,Q,6) = v(0,Q,3) = v(Q,Q,4)
v(Q,0,6) = v(0,Q,5) = v(Q,Q,2)
v(Q,Q,6) = v(0,Q,4) = v(Q,Q,5)         ```

Thus of the 6(Q+1)2 labeled vertices, only 6Q2+2 are independent.

File Structure

The file structure is quite simple. The first line contains the value of Q, and is followed by 6(Q+1)^2 lines containing the vertices. A piece of Fortran code for reading the file would look like:

```                READ(10,*) Q
DO F=1,6
DO J=0,Q
DO I=0,Q
ENDDO
ENDDO
ENDDO                                                         ```

Here the vertices are represented by three-vectors. In some cases extra components are added representing albedo, color, surface gravity, or other surface characteristics. Since the labeling scheme implicitly contains the connectivity, no facet table is necessary.

The quadrilateral facets in the model are not necessarily flat, since there is no guarantee that the four vertices are coplanar. The facet normals are defined by the cross product of their diagonals. This approximation presents no real difficulty because the spacings of the vertices are very small compared to the size of the body. The standard form (Q=512) has 1.57 million vertices.

Although it is not necessary, it is convenient to take Q to be a power of 2. Because of this choice, it is easy to 'dumb down' a model by increasing the spacing by factors of 2. Vertices of the form v(2I,2J,F) are retained and the others discarded. Because of the quadrilateral facet structure, the models can also be 'densified' through bilinear interpolation.

Example

Here is a sample SHAPE.TXT file:

```         128
-218.72182    -8.78589   136.89489
-217.94953    -6.10207   138.09736
-217.59664    -3.46244   139.74751
-216.83911    -0.75086   140.98874
-216.04842     1.95086   142.19411
-215.34667     4.53459   143.49143
-214.06968     7.13078   144.16124
-212.35048     9.69145   144.34511
-210.62577    12.23122   144.54863
-209.47201    14.69014   145.33889
-208.85169    17.21845   146.67393
-208.58685    19.86090   148.37467
.....```

Q Value

 Q Vertices 4 151 8 487 16 1735 32 6534 64 25351 128 99846 256 396294 512 1579014

The output values are:

Line 1 - Q (resolution). This gives the number of nodes for i and j. Multiple Q by 6 coordinate vector spaces to fill out the entire region.

• Q*Q*6 is the total number of nodes, and line entries in this file.

• A Q of 512 is the largest that we represent. It contains 1.5 million vertices and is 56 MB uncompressed.

Lines 2 and following - The location of a vertex in i, j, k space (Cartesian coordinates).

(Compiled by KD)

=== References ====

• Gaskell, R.W., O. Barnouin-Jha, and D. Scheeres, Modeling Eros
• with Stereophotoclinometry, Abstract #1333, 38th LPSC,