PyGeo: a dynamic geometry toolkit

LineSlider

point that can be picked and moved, with movement constrained to given line

constructors:
LineSlider (line <ratio=numeric> )
Slider (line <ratio=numeric> )

inherits

_Point

Methods defined in LineSlider

f __init__(self, line) ...

f init(self) ...

f setext(self) ...

f findSelf(self) ...

f reset(self) ...

Methods defined in _FreePosition

f _add_dependant(self, e) ...

called when the intilization and registration of an object determines it to be dependant of an instance derived from _FreePosoition

Methods defined in _Point

f __eq__(self, other) ...

tests for equality between points

Methods defined in Position3

f set(self, other) ...

set defining attributes of point to a given point

f polar(self) ...

return the polar coordinates of the point

f distance(self, other) ...

the distance between the point and a second point

f distanceSquared(self, other) ...

the square of the distance between the point and a second point

f homogenous(self) ...

a flat array representing the homogenous coordinates of the point

f transform(self, mat, point) ...

return the given point as 'self' transformed by a given a 4x4 transformation matrix

f onPlane(self, plane) ...

is point on a given plane?

f coPlanar(self, p1, p2, p3) ...

is point coplanar with 3 given points?

f coLinear(self, p1, p2) ...

is point colinear with 2 given points ?

f onLine(self, line) ...

is point on given line?

f toInterpolated(self, p1, p2, r) ...

set the position on a line connecting to given points, based on the interpolation by a given ratio of the distance between the given points

f to_3d(self, harray) ...

set position as the projection from given homogenous coordinates

f toXY(self, point) ...

set position as the origin centered projection of the given point to the plane parallel with the XY plane at unit distance

f fromXY(self, equat, point) ...

set position as the origin centered projection of the given point to the plane represented by the given 4 element array

f toLine(self, p1, p2) ...

move to foot of perpendicular from initial position of self to line connecting p1 & p2 arguments

f toPlane(self, plane) ...

move to foot of perpendicular from initial position of self to plane argument

f toCircle(self, circle) ...

move to point on the given circle's circumference closest to the foot of perpendicular from initial position of self to the circle's plane

f toSphere(self, sphere) ...

move to closest point on surface of sphere argument

f toCentroid(self, p1, p2, p3) ...

move to the centroid of the triangle defined by the 3 point arguments

f toOrthoCenter(self, p1, p2, p3) ...

move to the orthocenter of the triangle defined by the 3 point arguments

f toInCenter(self, p1, p2, p3) ...

move to the center of the circle inscribed in the triangle defined by the 3 point arguments

f toExCenter(self, p1, p2, p3) ...

move to the excenter of the circle exscribed in the triangle defined by the 3 point arguments, and tangent to the side opposite the first point argument

f toOpposite(self, object, point) ...

set postion as antipodal to the given point relative to the given object, i.e. circle or sphere

f toInterSection(self, p11, p12, p21, p22, test=True) ...

set position as the intersection of the line connecting the 1st and 2nd point arguments with that connecting the 3rd and 4th point arugments. Default is to test if lines are slew

f toPlaneIntersection(self, plane, p1, p2, test=False) ...

set to position of intersection of given plane with the line connecting the point arguments. Default is not to test if line is on plane

f toPlaneReflection(self, u, d) ...

move to the reflection of the current position in the plane defined by the 3 element vector representing the planes unit normal and a numeric value representing the plane's distance from the origin

f toSphereCenter(self, p1, p2, p3, p4) ...

set position as the center of the sphere defined by the 4 given points

f toCircumCenter(self, p1, p2, p3) ...

set position as the center of the circle on the 3 given points

f toBisector(self, p1, p2, p3) ...

set position the (interior) bisector of the angle at the 1st point argument formed with the the 2nd and 3rd point arguments

f toExtBisector(self, p1, p2, p3) ...

set position the exterior bisector of the angle at the 1st point argument formed with the the 2nd and 3rd point arguments

f toInvertPoint(self, circle, p1) ...

set position as the inversion of the given point in the given circle, on the circle's plane

f toCrossPoint(self, p1, p2, p3, p4, p1a, p2a, p3a) ...

set position as the crosspoint (equating cross ratios) of the last 3 (ordered) points with the first 4 (ordered) points

f toCircumPoint(self, circle, rad) ...

rotate the current position (assumed to be on the circle's circumference) by the given angle, in radians

f toHarmonic(self, p1, p2, p3) ...

set position as the harmonic with of the 3rd point argument with reespect to the 1st and 2nd point arguments

Methods defined in vector

f __rmul__(...)

f cross(...)

The cross product of this vector and another.

f __abs__(...)

Return the length of this vector.

f __pos__(...)

Returns the vector itself.

f proj(...)

The vector projection of this vector onto another.

f __len__(...)

f __mul__(...)

f __isub__(...)

f comp(...)

The scalar projection of this vector onto another.

f __idiv__(...)

f norm(...)

The unit vector of this vector.

f diff_angle(...)

The angle between this vector and another, in radians.

f astuple(...)

Convert this vector to a tuple. Same as tuple(vector), but much faster.

f __add__(...)

f rotate(...)

Rotate this vector about the specified axis through the specified angle, in radians

f __imul__(...)

f clear(...)

Zero the state of this vector. Potentially useful for reusing a temporary variable.

f __iadd__(...)

f __div__(...)

f __neg__(...)

f __sub__(...)

f dot(...)

The dot product of this vector and another.

Methods defined in Element

f __iter__(self) ...

make all objects iterable, returning "self" in the simplest instance

f update(self) ...

method that is called on change events, calling reoutines to find current position based on dependecies, current visibility status, etc.

f rmatrix(self) ...

each object has a 4x4 matrix associated with it, representing the object's axis of rotation and translation from the origin. Needed for the implementation of the Projection class. Set to the identity matrix by default.

f _allreal(self) ...

test whether any Elements on which there is a dependency have become 'null', i.e. not calculatable - .e.g, imaginary when working within real space

f setshow(self) ...

check for change in visibiliy status and toggle visibility as necessary, reset change flag to 0 on effectuating change in visiblity

f _togglenull(self) ...

toggle the 'null' flag, indicating whether the current postion of the object's position is visible - e.g. is real when working in real space

f _setnull(self, to_null=True) ...

set object and the objects dependant on it to 'null' when its position cannot be made visible- e.g. imaginary when working in real space.

f reset_trace(self) ...

method to be overridden to erase loci of objects that are traceable

f reset_trace_curves(self) ...

method to be overridden to erase curves traced by point objects

Methods defined in drawPoint

f _redraw(self) ...

send current position in scene to render object, and render in accordance with style sttribute

f do_trace(self) ...

If, on update, traced point has moved within limits defined by 'mintrace' and 'maxtrace' append its new position to the trace curve

f draw(self) ...

For consistency in iterating Element's rendering objects, all elements rendering information is in a list called self.rend. In the case of Points, it is either a single element list, containing a cvisual sphere object, or a 2 element list with each element an oriented cvisual pyramid object, which together form a diamond shape representing the point

f povout(self, buf) ...

export the scene's points to PovRay SDL

Attributes

a x

<property object at 0x015D1828>

a mag2

<property object at 0x015D18C8>

a __opts__

['color',
 'initcolor',
 'trace',
 'level',
 'texture',
 'extend',
 'povout',
 'label',
 'append',
 'export',
 'pointsize',
 'tracewidth',
 'tracecolor',
 'maxtrace',
 'mintrace',
 'fontsize',
 'fontcolor',
 'fontXofffset',
 'fontYofffset',
 'style',
 'ratio']

a __doc_hints__

{'args': ['line <ratio=numeric>'],
 'default': 'midpoint (i.e. ratio=.5)',
 'factory': 'Slider'}

a z

<property object at 0x015D1878>

a mag

<property object at 0x015D18A0>

a y

<property object at 0x015D1850>

See the source for more information.