A = (1,0,0);B = (0,1,0);C = (0,0,0);D= (1,1,0);AB = Line(AB)p = randPoint(C,D);// сравниваем (0,0,0) и p по одну сторону прямой AB лежат или по разные.if(dist(p, AB) * dist(C, AB) <= 0 ) { return p;} else { return semetrick(p, AB);}
C++ (Qt)#define MAPINT(x, y, nx, ny) \{ \ qreal fx = x; \ qreal fy = y; \ nx = qRound(_m11*fx + _m21*fy + _dx); \ ny = qRound(_m12*fx + _m22*fy + _dy); \}