Download Quasi.py - U.I.U.C. Math

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Sociocracy wikipedia , lookup

Computational chemistry wikipedia , lookup

Corecursion wikipedia , lookup

Computational phylogenetics wikipedia , lookup

Strähle construction wikipedia , lookup

Newton's method wikipedia , lookup

Computational electromagnetics wikipedia , lookup

Computational fluid dynamics wikipedia , lookup

Root-finding algorithm wikipedia , lookup

False position method wikipedia , lookup

Transcript
Quasi.py
An Investigation into
Tessellating Three Space with
Quasicrystals
Quasiperiodic Tiling
 Discovered by
Penrose in 1974
 Used only two
shapes: fat and
skinny rhombi
 Original rule for
generation was do
not arrange such
that two rhombi
form one big
rhombus
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Quasiperiodic Tiling
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Quasiperiodic Tiling
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
 Discovered
simultaeously by
Penrose and
Ammann
 New method for
generating 2D
quasicrystals
 Crystals should be
placed such that
bars become
continuous lines
 Not foolproof
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Ammann Bars
Ammann Bars
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
DeBruijn’s Two Methods
In 1980 Nicolaas DeBruijn came
up with two foolproof methods for
generating quasicrystals
These methods have applications
in both two and three dimensions
Projection method
Dual method
Projection Method
Start with a lattice of higher
dimensional cubes (5D for a 2D tiling,
6D for a 3D tiling)
Slice this lattice with a plane with slope
equal to the golden ratio (1:(1+√5)/2)
Construct a new plane perpendicular to
first plane
Project points onto new plane to see if
they fit inside the gate
If they fit, join the vertices with line
segments of equal length
Ramifications of Projection
Method
Quasicrystals occur in nature (AlMn crystals, Zn-Cr crystals)
If the projection method describes
how these crystals form, then that
provides evidence of existence for
higher spatial dimensions.
Dual Method
Start with a star of vectors normal to
the faces of a dodecahedron
Draw planes normal to those vectors at
unit distances away from the origin
At points where three planes intersect,
transport corresponding vectors and
perform the vector addition, drawing a
rhombohedron, either fat or skinny
Drawing enough rhombohedra reveals a
quasiperiodic pattern
This is the method I employed in my
program
On to the program!
Program Goals
Take six vectors and use them to
calculate the positions of
quasicrystals
Correctly chose which
quasicrystals should be drawn and
which are not worthy
calculatePosition()
Takes three vectors and a material node
as arguments
For each vector it generates an
equation of a normal plane
Calculates point of intersection, if it
exists, using cramer’s rule
Passes the vectors, the point of
intersection, and the material node to
the appropriate drawing function
drawQuasiCrystal()
Takes a point, three vectors, and a
material node as arguments
Creates a points node, several
index nodes, and drawable nodes
that are line strips to draw a wire
frame quasicrystal
Issues with quasi.py
Crystal selection sucks
It would be nice to draw the
rhombohedra one at a time
It would be nice to draw some
rhombohedra as solid
Screenshots
Screenshots
Screenshots