C# Class R3.Geometry.CoxeterImages

Show file Open project: roice3/Honeycombs Class Usage Examples

Private Properties

Property Type Description
ApplyTransformation Vector3D
ApplyTransformationToSphere Vector3D
AvgColor System.Drawing.Color
BandModel Vector3D
CalcColor System.Drawing.Color
ColorFunc System.Drawing.Color
DistToBorder double
DrawMirrors void
NearBoundary bool
PlaneModelToBall Vector3D
ReflectAcrossMirror bool
ReflectAcrossMirrors bool
ReflectToFundamental bool
Sigmoid double
Small bool
WhiteBoundary R3.Geometry.Sphere[]

Public Methods

Method Description
AlteredFacetForTrueApparent2DTilings ( Sphere simplex ) : Sphere

This will return an altered facet to create true apparent 2D tilings (proper bananas) on the boundary. Notes: The input simplex must be in the ball model. The first mirror of the simplex (the one that mirrors across cells) is the one we end up altering.

AutoCalcScale ( Settings settings ) : RecursionStat[]
EquidistantOffset ( Geometry g, Segment seg, double offset ) : Circle

Same as above, but works with all geometries.

EquidistantOffset ( Segment seg, double offset ) : Circle3D

This is a 2D function for now. Given an input geodesic in the plane, returns an equidistant circle. Offset would be the offset at the origin.

GenImage ( Settings settings, double t = 0.0 ) : void

Generate an image.

GeodesicOffset ( Sphere s, double offset, bool ball = true ) : Sphere

Private Methods

Method Description
ApplyTransformation ( Vector3D v, double t = 0.0 ) : Vector3D

Using this to move the view around in interesting ways.

ApplyTransformationToSphere ( Vector3D v, double t ) : Vector3D
AvgColor ( List colors ) : Color
BandModel ( Vector3D v ) : Vector3D
CalcColor ( Settings settings, Vector3D &v, int &cellFlips ) : Color
ColorFunc ( Sphere boundary, Vector3D v, int reflections, double colorScaling, bool invert = false ) : Color
DistToBorder ( Settings settings, int i, int j ) : double
DrawMirrors ( Bitmap image, Settings settings ) : void
NearBoundary ( Settings settings, int i, int j ) : bool
PlaneModelToBall ( Vector3D v, double t = 0.0 ) : Vector3D

This allows us to change the model we have on the plane. We usually want UHS, but for Pov-Ray mapping these images to a sphere, we need to have it be an equirectangular projection NOTE: The bounds should be set to 1.0 for this to work! v.X and v.Y must be in-between -1 and 1. (also, don't rotate simplex mirrors, for POV-Ray anyway)

ReflectAcrossMirror ( Sphere mirrors, Vector3D &v, int idx, int &flips ) : bool
ReflectAcrossMirrors ( Sphere mirrors, Vector3D &v, int indices, int &flips, int &iterationCount ) : bool
ReflectToFundamental ( Settings settings, Vector3D &v, int &cellFlips, int &totalFlips ) : bool

Somewhat based on http://commons.wikimedia.org/wiki/User:Tamfang/programs

Sigmoid ( double input ) : double

http://www.wolframalpha.com/input/?i=1%2F+%281%2Be%5E%28-10*%28x-0.5%29%29%29

Small ( Settings settings, List points, int i, int j, int cellFlips ) : bool
WhiteBoundary ( Settings settings ) : R3.Geometry.Sphere[]

Grabs the portion of the fundamental region we want to remain white.

Method Details

AlteredFacetForTrueApparent2DTilings() public static method

This will return an altered facet to create true apparent 2D tilings (proper bananas) on the boundary. Notes: The input simplex must be in the ball model. The first mirror of the simplex (the one that mirrors across cells) is the one we end up altering.
public static AlteredFacetForTrueApparent2DTilings ( Sphere simplex ) : Sphere
simplex Sphere
return Sphere

AutoCalcScale() public method

public AutoCalcScale ( Settings settings ) : RecursionStat[]
settings Settings
return RecursionStat[]

EquidistantOffset() public static method

Same as above, but works with all geometries.
public static EquidistantOffset ( Geometry g, Segment seg, double offset ) : Circle
g Geometry
seg Segment
offset double
return Circle

EquidistantOffset() public static method

This is a 2D function for now. Given an input geodesic in the plane, returns an equidistant circle. Offset would be the offset at the origin.
public static EquidistantOffset ( Segment seg, double offset ) : Circle3D
seg Segment
offset double
return Circle3D

GenImage() public method

Generate an image.
public GenImage ( Settings settings, double t = 0.0 ) : void
settings Settings
t double An optional time parameter, for use in animations. /// This value should be between 0 and 1, inclusive.
return void

GeodesicOffset() public static method

public static GeodesicOffset ( Sphere s, double offset, bool ball = true ) : Sphere
s Sphere
offset double
ball bool
return Sphere