openglider.vector package

Module contents

class openglider.vector.HashedList(data=None, name=None)[source]

Bases: object

copy()[source]
data[source]
class openglider.vector.Polygon2D(data=None, name=None)[source]

Bases: openglider.vector.Vectorlist2D

centerpoint[source]

Return the average point of the polygon.

close()[source]

Close the endings of the polygon using a cut.

contains_point(point)[source]

Check if a Polygon contains a point or not. reference: http://en.wikipedia.org/wiki/Point_in_polygon

Returns:boolean
isclosed[source]
class openglider.vector.Vectorlist(data=None, name=None)[source]

Bases: openglider.vector.HashedList

extend(start, length)[source]
get(start, stop)[source]
get_length(first=0, second=None)[source]

Get the (normative) Length of a Part of the Vectorlist.

point(x)[source]

List.point(x) is the same as List[x]

class openglider.vector.Vectorlist2D(data=None, name=None)[source]

Bases: openglider.vector.Vectorlist

add_stuff(amount)[source]

Shift the whole line for a given amount (->Sewing allowance)

check()[source]

Check for mistakes in the array, such as for the moment: self-cuttings,..

cut(p1, p2, startpoint=0, break_if_found=True, cut_only_positive=False, cut_only_in_between=False)[source]

Cut with two points given, returns (point, position_in_list, k [*(p2-p1)])

normvectors[source]

Return Normvectors to the List-Line, heading rhs

recalc()[source]
rotate(angle, startpoint=None)[source]

Rotate around a (non)given startpoint counter-clockwise

shift(vector)[source]
openglider.vector.arrtype(arg)[source]

return type of a vector list: 2d-point (1), list of 2d-points (2), 3d-point (3), list of 3d-points (4)

openglider.vector.cut(p1, p2, p3, p4)[source]

2D-Linear Cut; Solves the linear system: p1+k*(p2-p1)==p3+l*(p4-p3)

Returns:(point(x, y), k, l)
openglider.vector.depth(arg)[source]
openglider.vector.norm(vector)[source]

Norm-Function for n-dimensional vectors

openglider.vector.norm_squared(vector)[source]

Norm_squared

openglider.vector.normalize(vector)[source]

Normalize n-dimensional vectors

openglider.vector.rangefrom(maxl, startpoint=0)[source]

yield iterative, similar to range() but surrounding a certain startpoint

openglider.vector.rotation_2d(angle)[source]

Return a 2D-Rotation-Matrix

openglider.vector.rotation_3d(angle, axis=None)[source]

3D-Rotation Matrix for (angle[rad],[axis(x,y,z)])