Csinálok egy 3D henger ki a sokszög

szavazat
0

Van egy sokszög, amelynek szeretnék átalakítani, hogy egy hengeres 3D objektum egy illusztráció:

x <- structure(list(x = c(7.99, 6.25, -1.77, -1.8, -0.48, 3.93, 7.99
), y = c(2.84, 2.31, 2.43, 2.98, 3.19, 3.26, 2.84)), row.names = c(NA, 
7L), class = data.frame)

plot(x$x, x$y, type = n)
polygon(x$x, x$y, col = blue)
points(x$x, x$y)

írja

Nem tudok a fejem, hogyan kell hozzáadni z-tengely értékeit a 2. és 5. példa:

library(rgl)
lines3d(x = rep(x$x, 2), y = rep(x$y, 2), z = rep(c(2, 5), each = nrow(x)))

írja

Azt szeretném, hogy az arcok színes és csatlakoztatva. Olyasmi, mint a henger a Wikipedia illusztrációk , de természetesen nem forduló véget ér, de a poligonok helyett. tringles3dvagy polygon3dfunkciók valószínűleg mit kéne használni, ha használják a RGL csomagot, de nem értem, hogyan szerkeszthetjük én data.frame. Nem kell, hogy ezt a RGL. Ez csak az R csomag, amely úgy tűnt, leginkább megvalósítható ezt a feladatot. Hogyan kell átszervezni az adataimat ábrázolni a 3D henger?

A kérdést 03/12/2019 00:00
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Be kell használni extrude3d, hogy hozzon létre egy „extrudálás” a sokszög. Például, xmeghatározott az a kérdés,

x[-1,] %>% 
  extrude3d(thickness = 3, material = list(col = rainbow(14)),
            meshColor = "faces") %>%
  translate3d(x = 0, y = 0, z = 2) %>%
  shade3d()

termel ezt a képet (miután néhány kézi forgatás):

screenshot

Ez használ x[-1,], mert ismételt első vertex végén: azt akarja, egyedülálló csúcsot.

A színezés elég vicces: felhívni a hatszög mindkét végén, rglhúz 4 háromszögek, és mindegyik kezelik külön arc céljára színezés. Ha azt szeretnénk, egyszínű ott, ne feledje, hogy a végek dolgozzák első: így használat valami hasonló

material = list(col = rainbow(8)[c(1,1,1,1,2,2,2,2:8)])

helyette.

A másik vicces érv extrude3dis thickness: a poliéder között húzódik z=0, és z=thickness. Mivel akart z2-5, a thickness3, és az eredmény kell fordítani akár 2 egység részt.

Van még cylinder3d, ami arra használják csőszerű szerkezetek, de extrude3degyszerűbb használni, ha csak szeretné sokszög jelenne meg két helyen derékszögben oldalán.

Válaszolt 03/12/2019 01:18
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more