(gldefun line-segment-leftof-distance ((ls line-segment) (p vector)) (let ( (dx (deltax ls)) (dy (deltay ls))) ( ( dx * ( (y p) - (p1y ls) ) - dy * ( (x p) - (p1x ls) ) ) / (sqrt dx ^ 2 + dy ^ 2) ) )) (gldefun t3 ((l ls1) (p consv)) (leftof-distance (line-segment l) p)) (LAMBDA (L P) (LET ((DX (* (THIRD L) (COS (FOURTH L)))) (DY (* (THIRD L) (SIN (FOURTH L))))) (/ (- (* DX (- (CDR P) (SECOND L))) (* DY (- (FIRST P) (- (FIFTH L) (* (THIRD L) (COS (FOURTH L))))))) (SQRT (+ (EXPT DX 2) (EXPT DY 2)))))) float lsdist (l, p) CLS1 l; CVECTOR p; { float dx, dy; dx = l-> size * cos(l-> angle); dy = l-> size * sin(l-> angle); return (dx * (p-> y - l-> low) - dy * (p-> x - (l-> right - l-> size * cos(l-> angle)))) / sqrt(square(dx) + square(dy)); }
Contents    Page-10    Prev    Next    Page+10    Index