The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
This vignette shows how to apply crook deformations to LiDAR-derived stem point clouds using {crookR} (deformation-only).
library(crookR)
data("example_stem")
str(example_stem)
#> Classes 'data.table' and 'data.frame': 708145 obs. of 3 variables:
#> $ X: num 0.28 0.28 0.28 0.28 0.28 ...
#> $ Y: num 0.28 0.28 0.28 0.28 0.28 ...
#> $ Z: num 0.01 0.01 0.02 0.02 0.02 ...
#> - attr(*, ".internal.selfref")=<externalptr>
head(example_stem)
#> X Y Z
#> <num> <num> <num>
#> 1: 0.28 0.28 0.01
#> 2: 0.28 0.28 0.01
#> 3: 0.28 0.28 0.02
#> 4: 0.28 0.28 0.02
#> 5: 0.28 0.28 0.02
#> 6: 0.26 0.26 0.00A smooth lateral deviation of amplitude krok_deviation is applied over a vertical range of length krok_length, starting at krok_start.
stem_1dir <- crook_deform(
x = example_stem,
krok_length = 0.5,
krok_start = 4.0,
krok_type = "1dir",
krok_deviation = 0.08, # try 0.05..0.12 for milder/stronger bends
az = 0, # bend along +X
spar = 0.8
)
# Quick plan-view check
op <- par(mfrow = c(1,2), mar = c(3,3,2,1))
plot(example_stem$X, example_stem$Z, pch=16, cex=0.3, xlab="X (m)", ylab="Z (m)", main="Original")
plot(stem_1dir$X, stem_1dir$Z, pch=16, cex=0.3, xlab="X (m)", ylab="Z (m)", main="Crooked 1dir (az = 0°)")The deviation changes direction at a fraction inflektion_X of the length (0 < inflektion_X < 1). inflektion_ext scales the amplitude after the inflection.
stem_2dir <- crook_deform(
x = example_stem,
krok_length = 0.5,
krok_start = 4.0,
krok_type = "2dir",
krok_deviation = 0.1,
inflektion_X = 1/3, # inflection at ~33% of the deformed length
inflektion_ext = 1/2, # second leg amplitude relative to first
az = 0,
spar = 0.8
)
op <- par(mfrow = c(1,2), mar = c(3,3,2,1))
plot(example_stem$X, example_stem$Z, pch=16, cex=0.3, xlab="X (m)", ylab="Z (m)", main="Original")
plot(stem_2dir$X, stem_2dir$Z, pch=16, cex=0.3, xlab="X (m)", ylab="Z (m)", main="Crooked 2dir (ip = 0.33)")These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.