Learn R Programming

⚠️There's a newer version (0.5.4) of this package.Take me there.

Rpolyhedra

Polyhedra database scraped from public available sources using R6 objects and 'rgl' visualizing capabilities.

ReleaseUsageDevelopment

How to get started

install.packages("Rpolyhedra")

How to get started (Development version)

Install the R package using the following commands on the R console:

install.packages(c("futile.logger", "rgl", "stringr", "R6", "testthat", "devtools"))
devtools::install_github("qbotics/Rpolyhedra")
library(Rpolyhedra)

A simple example of 5 regular polyhedra

To get started execute the following commands:

polyhedra.2.draw <- getAvailablePolyhedra(source = "netlib")[1:5]
n <- length(polyhedra.2.draw)
polyhedron.colors <- rainbow(n)
polyhedron.scale <- 5

open3d()
par3d(FOV = 1)
rgl.bg( sphere =FALSE, fogtype = "none", color=c("black"))
rgl.viewpoint(theta = 0,phi=0,zoom=0.8,fov=1)
i <- 1
for (polyhedron.name in polyhedra.2.draw) {
  polyhedron <- getPolyhedron(source = "netlib", polyhedron.name)
  current.angle <- i/n * 2 * pi
  shape.rgl <- polyhedron$getRGLModel(1, c(polyhedron.scale * sin(current.angle),
                                           polyhedron.scale * cos(current.angle),
                                           0))
  shade3d(shape.rgl, color = polyhedron.colors[i])
  i <- i + 1
}

sources

netlib

Includes 142 polyhedra definitions. The PHD format was created to describe the geometric polyhedron definitions derived mathematically by Andrew Hume and by the Kaleido program of Zvi Har'El.

PHD files were generated using poly2 library (no longer mantained). Althought the code is available, specific programming skills are required to run it.

PDH files can be found in extdata/www.netlib.org/polyhedra/index.html

Dmccooey

Includes 767 polyhedra definitions. The polyhedra database built by David Mccooey has an open format which has been scraped to feed RPolyhedra database

dmccooney files can be found in extdata/dmccooey.com/polyhedra/

Troubleshooting

devtools

Ubuntu

apt-get install libcurl4-openssl-dev

Windows

run end user CRAN version

OSX brew

brew install openssl

After, in R:

install.packages("devtools")

rgl

Ubuntu

sudo apt-get install r-cran-rgl

Copy Link

Version

Install

install.packages('Rpolyhedra')

Monthly Downloads

561

Version

0.2.4

License

MIT + file LICENSE

Maintainer

Alejandro Baranek

Last Published

March 21st, 2018

Functions in Rpolyhedra (0.2.4)

PolyhedronState.class

Polyhedron State
PolyhedronStateNetlibScraper.class

Polyhedron State Netlib Scraper
PolyhedronStateDefined.class

Polyhedron State Defined
compatiblePolyhedraRDS

compatiblePolyhedraRDS()
PolyhedronTestTask.class

PolyhedronTestTask
Polyhedron.class

Polyhedron
PolyhedronTestTaskEdgesConsistency.class

PolyhedronTestTaskEdgesConsistency
PolyhedronScraperConfigurationNetlib.class

PolyhedronScraperConfigurationNetlib
PolyhedronDatabase.class

PolyhedronDatabase
PolyhedronTestTaskScrape.class

PolyhedronTestTaskScrape
polyhedronToXML

polyhedronToXML()
getPolyhedraRDSPath

Gets the path of Polyhedra RDS database file
PolyhedronScraperConfiguration.class

PolyhedronScraperConfiguration
PolyhedronStateDmccoeyScraper.class

Polyhedron State Dmccoey Scraper
scrapePolyhedraSources

scrapePolyhedraSources()
getPolyhedron

getPolyhedron()
getAvailablePolyhedra

getAvailablePolyhedra()
PolyhedronScraperConfigurationDmccoey.class

PolyhedronScraperConfigurationDmccoey
getAvailableSources

getAvailableSources()
Rpolyhedra

Rpolyhedra
validatePolyhedronXML

validatePolyhedronXML()
ScraperLedger.class

ScraperLedger
convertDFToXML

convertDFToXML()
getDataDir

Gets the path of package data.
getGitCommit

getGitCommit get the last git commit sha
maxWithoutNA

maxWithoutNA Function that returns NA if all elements are NA, and the max value not NA, if not.
norm

norm calculates norm of a vector