DGtal 1.4.0
|
#include <DGtal/geometry/curves/FrechetShortcut.h>
Static Public Member Functions | |
static bool | isBetween (double i, double a, double b, double n) |
static int | circle_circle_intersection (double x0, double y0, double r0, double x1, double y1, double r1, double *xi, double *yi, double *xi_prime, double *yi_prime) |
static int | circleTangentPoints (double x, double y, double x1, double y1, double r1, double *xi, double *yi, double *xi_prime, double *yi_prime) |
static double | computeAngle (double x0, double y0, double x1, double y1) |
static double | angleVectVect (Vector u, Vector v) |
static int | computeChainCode (Point p, Point q) |
static int | computeOctant (Point p, Point q) |
static int | rot (int d, int quad) |
static Vector | chainCode2Vect (int d) |
Definition at line 354 of file FrechetShortcut.h.
|
inlinestatic |
Angle between two vectors
u | and |
v | two vectors |
Definition at line 578 of file FrechetShortcut.h.
References DGtal::IntegerComputer< TInteger >::dotProduct().
|
inlinestatic |
Converts a chain code into a vector
d | an int |
Definition at line 689 of file FrechetShortcut.h.
|
inlinestatic |
Determine the points where two circles in a common plane intersect Parameters: three doubles per circle (center, radius), pointers to the two intersection points
Definition at line 400 of file FrechetShortcut.h.
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Tools::circleTangentPoints().
|
inlinestatic |
Given a point X and a circle of center X1, compute the two points Xi and Xi' of the circle the tangent of which go through X. Since the triangle XXiX1 is a right triangle on Xi, the middle point M between X and X1 is equidistant to X, X1 and Xi. Thus, Xi belongs to the intersection of the circle (X1,r1) and the circle of center M and radius ||XX1||/2.
[in] | x | the first coordinate of X. |
[in] | y | the second coordinate of X. |
[in] | x1 | the first coordinate of the circle center X1. |
[in] | y1 | the second coordinate of the circle center X1. |
[in] | r1 | the circle radius. |
[out] | xi | pointer to the first coordinate of the first intersection point. |
[out] | yi | pointer to the second coordinate of the first intersection point. |
[out] | xi_prime | pointer to the first coordinate of the second intersection point. |
[out] | yi_prime | pointer to the second coordinate of the second intersection point. |
Definition at line 515 of file FrechetShortcut.h.
References DGtal::FrechetShortcut< TIterator, TInteger >::Tools::circle_circle_intersection().
|
inlinestatic |
Compute the angle of the line passing through two points. Angle in [0,2pi]
x0 | x0 |
y0 | y0 |
x1 | x1 |
y1 | y1 |
Definition at line 540 of file FrechetShortcut.h.
|
inlinestatic |
Computes the chain code between two 8-connected pixels
p | and |
q | two points |
Definition at line 589 of file FrechetShortcut.h.
|
inlinestatic |
Computes the octant of the direction pq
p | and |
q | two points |
Definition at line 627 of file FrechetShortcut.h.
|
inlinestatic |
Determines if i is between a and b in the oriented toric space modulo n
i | i |
a | a |
b | b |
n | n |
Definition at line 365 of file FrechetShortcut.h.
|
inlinestatic |
Rotate the chain code d to put it in the frame where the octant 'quad' is treated as the first octant.
d | a chain code |
quad | the octant |
Definition at line 679 of file FrechetShortcut.h.