![]() |
![]() |
![]() |
WritRecogn Reference Manual | ![]() |
---|---|---|---|---|
#define FLOAT_TO_INT (f) #define DOUBLE_TO_INT (d) Coordinate2D; Coordinate3D; typedef MathVector2D; typedef MathVector3D; MathBox2D; typedef BoundingBox2D; typedef BoundingBox; Coordinate2D* newCoordinate2D (gint x, gint y); Coordinate3D* newCoordinate3D (gint x, gint y, gint z); void coordinate2D_copy (Coordinate2D *dest, Coordinate2D *src); void coordinate3D_copy (Coordinate3D *dest, Coordinate3D *src); void coordinate2D_set (Coordinate2D *coord, gint x, gint y); void coordinate3D_set (Coordinate3D *coord, gint x, gint y, gint z); MathVector2D* coordinate2D_to_mathVector2D (MathVector2D *vec, Coordinate2D *start, Coordinate2D *end); MathVector3D* coordinate3D_to_mathVector3D (MathVector3D *vec, Coordinate3D *start, Coordinate3D *end); gchar* coordinate2D_to_string (Coordinate2D *coord); gchar* coordinate3D_to_string (Coordinate3D *coord); gdouble coordinate2D_cosine (Coordinate2D *coord1, Coordinate2D *angleCoord, Coordinate2D *coord2); gdouble coordinate3D_cosine (Coordinate3D *coord1, Coordinate3D *angleCoord, Coordinate3D *coord2); Coordinate2D* coordinate2D_midpoint (Coordinate2D *result, Coordinate2D *c1, Coordinate2D *c2); Coordinate3D* coordinate3D_midpoint (Coordinate3D *result, Coordinate3D *c1, Coordinate3D *c2); gdouble triangle2D_area_given_Coordinate2D (Coordinate2D *c1, Coordinate2D *c2, Coordinate2D *c3); gdouble triangle2D_area_given_points (gint p1_x, gint p1_y, gint p2_x, gint p2_y, gint p3_x, gint p3_y); gdouble distance2D_between_point_and_line (Coordinate2D *p, Coordinate2D *l1, Coordinate2D *l2); gdouble distance2D_between_points (Coordinate2D *l1, Coordinate2D *l2); MathVector3D* mathVector2D_to_mathVector3D (MathVector3D *vec, MathVector2D *src); MathVector2D* mathVector2D_plus (MathVector2D *result, MathVector2D *v1, MathVector2D *v2); MathVector3D* mathVector3D_plus (MathVector3D *result, MathVector3D *v1, MathVector3D *v2); MathVector2D* mathVector2D_minus (MathVector2D *result, MathVector2D *v1, MathVector2D *v2); MathVector3D* mathVector3D_minus (MathVector3D *result, MathVector3D *v1, MathVector3D *v2); MathVector2D* mathVector2D_scale (MathVector2D *result, MathVector2D *v, gdouble scale); MathVector3D* mathVector3D_scale (MathVector3D *result, MathVector3D *v, gdouble scale); MathVector2D* mathVector2D_project (MathVector2D *result, MathVector2D *v1, MathVector2D *v2); MathVector3D* mathVector3D_project (MathVector3D *result, MathVector3D *v1, MathVector3D *v2); gboolean mathVector2D_is_counterclockwise (MathVector2D *src, MathVector2D *target); gdouble mathVector2D_sine (MathVector2D *v1, MathVector2D *v2); gdouble mathVector3D_sine (MathVector3D *v1, MathVector3D *v2); gdouble mathVector2D_cosine (MathVector2D *v1, MathVector2D *v2); gdouble mathVector3D_cosine (MathVector3D *v1, MathVector3D *v2); gdouble mathVector2D_includedAngle (MathVector2D *v1, MathVector2D *v2); gint mathVector2D_dotProduct (MathVector2D *v1, MathVector2D *v2); gint mathVector3D_dotProduct (MathVector3D *v1, MathVector3D *v2); gdouble mathVector3D_includedAngle (MathVector3D *v1, MathVector3D *v2); MathVector3D* vector_crossProduct (MathVector3D *result, MathVector3D *v1, MathVector3D *v2); MathVector3D* vectorPoint_crossProduct (MathVector3D *result, Coordinate3D *v1_start, Coordinate3D *v1_end, Coordinate3D *v2_start, Coordinate3D *v2_end); gdouble mathVector3D_EuclideanNorm (MathVector3D *vec); gdouble mathVector2D_EuclideanNorm (MathVector2D *vec); void mathBox2D_set (MathBox2D *box, gint left, gint top, gint right, gint bottom); void mathBox2D_copy (MathBox2D *dest, MathBox2D *src); gchar* mathBox2D_to_string (MathBox2D *box); MathBox2D* mathBox2D_from_string (MathBox2D *box, const gchar *str); MathBox2D* mathBox2D_union (MathBox2D *resultBox, MathBox2D *box1, MathBox2D *box2);
void coordinate3D_set (Coordinate3D *coord, gint x, gint y, gint z);
|
|
|
|
|
|
|
MathVector2D* coordinate2D_to_mathVector2D (MathVector2D *vec, Coordinate2D *start, Coordinate2D *end);
|
|
|
|
|
|
Returns : |
MathVector3D* coordinate3D_to_mathVector3D (MathVector3D *vec, Coordinate3D *start, Coordinate3D *end);
|
|
|
|
|
|
Returns : |
gdouble coordinate2D_cosine (Coordinate2D *coord1, Coordinate2D *angleCoord, Coordinate2D *coord2);
|
|
|
|
|
|
Returns : |
gdouble coordinate3D_cosine (Coordinate3D *coord1, Coordinate3D *angleCoord, Coordinate3D *coord2);
|
|
|
|
|
|
Returns : |
Coordinate2D* coordinate2D_midpoint (Coordinate2D *result, Coordinate2D *c1, Coordinate2D *c2);
|
|
|
|
|
|
Returns : |
Coordinate3D* coordinate3D_midpoint (Coordinate3D *result, Coordinate3D *c1, Coordinate3D *c2);
|
|
|
|
|
|
Returns : |
gdouble triangle2D_area_given_Coordinate2D (Coordinate2D *c1, Coordinate2D *c2, Coordinate2D *c3);
|
|
|
|
|
|
Returns : |
gdouble triangle2D_area_given_points (gint p1_x, gint p1_y, gint p2_x, gint p2_y, gint p3_x, gint p3_y);
|
|
|
|
|
|
|
|
|
|
|
|
Returns : |
gdouble distance2D_between_point_and_line (Coordinate2D *p, Coordinate2D *l1, Coordinate2D *l2);
|
|
|
|
|
|
Returns : |
gdouble distance2D_between_points (Coordinate2D *l1, Coordinate2D *l2);
|
|
|
|
Returns : |
MathVector3D* mathVector2D_to_mathVector3D (MathVector3D *vec, MathVector2D *src);
|
|
|
|
Returns : |
MathVector2D* mathVector2D_plus (MathVector2D *result, MathVector2D *v1, MathVector2D *v2);
|
|
|
|
|
|
Returns : |
MathVector3D* mathVector3D_plus (MathVector3D *result, MathVector3D *v1, MathVector3D *v2);
|
|
|
|
|
|
Returns : |
MathVector2D* mathVector2D_minus (MathVector2D *result, MathVector2D *v1, MathVector2D *v2);
|
|
|
|
|
|
Returns : |
MathVector3D* mathVector3D_minus (MathVector3D *result, MathVector3D *v1, MathVector3D *v2);
|
|
|
|
|
|
Returns : |
MathVector2D* mathVector2D_scale (MathVector2D *result, MathVector2D *v, gdouble scale);
|
|
|
|
|
|
Returns : |
MathVector3D* mathVector3D_scale (MathVector3D *result, MathVector3D *v, gdouble scale);
|
|
|
|
|
|
Returns : |
MathVector2D* mathVector2D_project (MathVector2D *result, MathVector2D *v1, MathVector2D *v2);
|
|
|
|
|
|
Returns : |
MathVector3D* mathVector3D_project (MathVector3D *result, MathVector3D *v1, MathVector3D *v2);
|
|
|
|
|
|
Returns : |
gboolean mathVector2D_is_counterclockwise (MathVector2D *src, MathVector2D *target);
|
|
|
|
Returns : |
gdouble mathVector2D_sine (MathVector2D *v1, MathVector2D *v2);
|
|
|
|
Returns : |
gdouble mathVector3D_sine (MathVector3D *v1, MathVector3D *v2);
|
|
|
|
Returns : |
gdouble mathVector2D_cosine (MathVector2D *v1, MathVector2D *v2);
|
|
|
|
Returns : |
gdouble mathVector3D_cosine (MathVector3D *v1, MathVector3D *v2);
|
|
|
|
Returns : |
gdouble mathVector2D_includedAngle (MathVector2D *v1, MathVector2D *v2);
Get the included angle between two vectors. The included angle is positive if v2 is counterclockwise from v1, while the included angle is negative if v2 is clockwise from v1,
The description above is for mathematical coordination which is shown in ordinary mathematic literatures and textbooks. In such coordination, point (1,1) is at the upper right of origin.
However, computer uses different coordination for display. Point (1.1) us at lower right of origin. In this case, positive results indicate v2 is clockwise from v1, while negative result indicate v2 is counterclockwise from v1,
|
vector 1. |
|
vector 2. |
Returns : |
the signed included angle. |
gint mathVector2D_dotProduct (MathVector2D *v1, MathVector2D *v2);
|
|
|
|
Returns : |
gint mathVector3D_dotProduct (MathVector3D *v1, MathVector3D *v2);
|
|
|
|
Returns : |
gdouble mathVector3D_includedAngle (MathVector3D *v1, MathVector3D *v2);
|
|
|
|
Returns : |
MathVector3D* vector_crossProduct (MathVector3D *result, MathVector3D *v1, MathVector3D *v2);
|
|
|
|
|
|
Returns : |
MathVector3D* vectorPoint_crossProduct (MathVector3D *result, Coordinate3D *v1_start, Coordinate3D *v1_end, Coordinate3D *v2_start, Coordinate3D *v2_end);
|
|
|
|
|
|
|
|
|
|
Returns : |
gdouble mathVector3D_EuclideanNorm (MathVector3D *vec);
|
|
Returns : |
gdouble mathVector2D_EuclideanNorm (MathVector2D *vec);
|
|
Returns : |
void mathBox2D_set (MathBox2D *box, gint left, gint top, gint right, gint bottom);
|
|
|
|
|
|
|
|
|
MathBox2D* mathBox2D_from_string (MathBox2D *box, const gchar *str);
|
|
|
|
Returns : |