hypertidy / anglr

Mesh creation and topology for spatial data (and not just geographic)
https://hypertidy.github.io/anglr/
83 stars 10 forks source link

constrained triangulation on XYZ (needs z-capture-copy) #117

Open mdsumner opened 4 years ago

mdsumner commented 4 years ago

FINALLY, this is the resolution to what @MilesMcBain was trying - I think.

Also, https://github.com/hypertidy/anglr/issues/56

The solution is mapped out in DEL0.PATH0 in the block for degenerate paths (points, multipoints). The vertices are made distinct in XYZ, triangulation of edges is done in XY with Z handed to RTriangle via $PA.

Apologies for the noise @MilesMcBain , pretty sure I can achieve this now. :)

mdsumner commented 4 years ago

also #43

mdsumner commented 4 years ago

Working in 89f1a5

rr <- raster::raster(volcano, xmn  = 0, xmx = ncol(volcano), ymn = 0, ymx = nrow(volcano))
p <- PATH0(raster::rasterToContour(rr))
p$vertex$z_ <- raster::extract(rr, p$vertex[1:2], method = "bilinear")

dl <- DEL0(p, max_area = .5)
dl$object$color_ <- colourvalues::color_values(as.numeric(dl$object$level))

plot3d(dl, color = "grey")
plot3d(p, add = TRUE, lwd = 6, line_antialias = TRUE)
auto_3d()

image