- What are meshes and topology?
- Relationship of meshes to raster/vector data?
Key ideas!
(indexing of data-structures, not database-indexing)
Topology emerges as an index into geometry.
## this is pure 3-space geometry, no connections (geometry <- cbind(x = c(0, 0.5, 1), y = c(0, 0.5, 1), z = c(0, 0, 0.8)))
## x y z ## [1,] 0.0 0.0 0.0 ## [2,] 0.5 0.5 0.0 ## [3,] 1.0 1.0 0.8
# line of 2-segments has 1-dimensional topology (2-index) (topology1 <- cbind(.v0 = c(1, 2), .v1 = c(2, 3)))
## .v0 .v1 ## [1,] 1 2 ## [2,] 2 3
## this is pure 3-space geometry, no connections geometry
## x y z ## [1,] 0.0 0.0 0.0 ## [2,] 0.5 0.5 0.0 ## [3,] 1.0 1.0 0.8
# triangle has 2-dimensional topology (3-index) (topology2 <- cbind(.v0 = 1, .v1 = 2, .v2 = 3))
## .v0 .v1 .v2 ## [1,] 1 2 3
Traditional spatial data tends to confuse topology and geometry.
Polygons are topologically equivalent to lines.
How to triangulate a polygon?
Traditional spatial data tends to confuse topology and geometry.
Polygons are topologically equivalent to lines.
How to triangulate a polygon? (YIKES)
Raster and vector aren’t so different.
I want to jump the chasm from geospatial to computer graphics and VR.
What is a raster?
A layer of neighbouring rectangles? A regular grid of points?
A series of grouped paths?
In 3D, need to fill our polygons properly as data.
The fill we see in traditional 2D graphics is a trick!!.
To fill our polygon we need triangles.
A raster and vector mesh use the same concepts.
st_is_valid(x[2, ]) == FALSE
## # A tibble: 6 x 2 ## .vx0 .vx1 ## <int> <int> ## 1 9 11 ## 2 11 13 ## 3 13 15 ## 4 15 14 ## 5 14 15 ## 6 15 9
Yakkin: @mdsumner
Github: github.com/mdsumner
Dreams: github.com/hypertidy
Australian Antarctic Division antarctica.gov.au
Antarctic Climate and Ecosystems CRC acecrc.org.au