Coder Social home page Coder Social logo

antiprism_python's Introduction

README

antiprism_python

antiprism_python is a collection of geometry modelling programs written in Python3, and associated with the Antiprism project. The Antiprism programs may be used to view, process or analyse these models.

Some of these programs were written to solve a specific problem, some to solve a general problem, some were written as prototypes. The programs vary in quality, completeness and usefulness. They are all shared under the MIT licence.

Install

Install the whole package with pip3 (or pip if that installs as Python3), either from the PyPI repository:

pip3 install antiprism_python

Or directly from the Git repository:

pip3 install git+git://github.com/antiprism/antiprism_python

Alternatively, download the programs you are interested in and copy anti_lib.py into the same directory.

Programs

To see the help for a program, run it with -h.

  • barrel.py
    Create a cyclic polyhedron with one or two bands of equatorial squares, oriented like diamonds.
  • eq_antherm.py
    Create an antihermaphrodite with equilateral triangles
  • geodesic.py
    Create coordinates for a higher frequency, plane-faced or spherical, icosahedron, octahedron or tetrahedron.
  • gold_bowtie.py
    Create a polyhedron with axial symmetry involving a golden trapezium bow-tie
  • lat_grid.py
    Make a variety of lattices and grids using integer coordinates.
  • lamella.py
    Create a lamella domes. Also, makes square barrel models and multiply-gyroelongated antihermaphrodite models.
  • njitterbug.py
    Create a jitterbug model for a general polygon base. The transformation includes, if constructible, models corresponding to the antiprism, snub-antiprisms and gyrobicupola for that base.
  • njohnson.py
    Create a Johnson-based model, from J88, J89, J90, with a general polygon base.
  • packer.py
    Pack balls in a sphere. The pack is seeded with two or more balls, then subsequent balls are added one at a time in three point contact in positions chosen by the packing method.
  • pentabelt.py
    Make a model with axial symmetry based on a belt of staggered pentagons
  • proj_dome.py
    Make a Jacoby-style dome, as described in http://www.google.com/patents/US7900405 . Project a tiling of unit-edged triangles, squares or crossed squares (unit edges), at a specified height, onto a unit hemisphere, by gnomonic, stereographic or general point projection.
  • ring_place.py
    Place maximum radius rings of contacting balls around points on a sphere. Input is a list of coordinates, one set per line.
  • rotegrity_models.py
    Create cyclic rotegrity models, with 1 or 2 layers of rotegrity units
  • sph_circles.py
    Distribute points on horizontal circles on a sphere (like a disco ball). The sphere is split into equal width bands. Balls with a diameter of this width are distributed equally around each band. The number of balls is either as many points as will fit in the band, or a specified number.
  • sph_saff.py
    Distribute num_points (default 20) on a sphere using the algorithm from "Distributing many points on a sphere" by E.B. Saff and A.B.J. Kuijlaars, Mathematical Intelligencer 19.1 (1997) 5--11.
  • sph_spiral.py
    Distribute points in a spiral on a sphere.
  • spiro.py
    Create a spirograph pattern.
  • str_art.py
    Create simple epicycloid string art patterns.
  • temcor_dome.py
    Make a Temcor-style dome, using the method described in https://groups.google.com/d/msg/geodesichelp/hJ3V9Nfp3kE/nikgoBPSFfwJ . The base model is a pyramid with a unit edge base polygon at a specified height above the origin. The axis to rotate the plane about passes through the origin and is in the direction of the base polygon mid-edge to the pyramid apex.
  • tri_tiling.py
    Create a polyhedron which tiles the sphere with congruent triangles.
  • twister.py
    Twist two polygons placed on symmetry axes and joined by a vertex
  • twister_rhomb.py
    Twist polygons, of the same type, placed on certain fixed axes and joined by vertices.
  • twister_test.py
    Twist two polygons placed on axes at a specified angle and joined by a vertex.

Complementary Programs

Related Python programs in external projects

  • antitile
    Generates geodesic models by various methods.
  • view_off.py
    An OFF file viewer with export to PNG and SVG.

antiprism_python's People

Contributors

antiprism avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.