isec_pointline

Help Contents geomland Intersection isec_pointline
isec_pointpoint isec_linepoint

geomland.isec_pointline :p :l


Point-Line intersection

Definition:

to geomland.isec_pointline :p :l
	; 1:   point=p(x,y)   line=l(x1,y1,x2,y2)
	; 2:   dx = l.x2-l.x1
	; 3:   dy = l.y2-l.y1
	; 4:   (p.x-l.x1)/(l.x2-l.x1) = (p.y-l.y1)/(l.y2-l.y1)
	; 5:   (p.x-l.x1)/dx = (p.y-l.y1)/dy
	; 6:   (p.x-l.x1)*dy = (p.y-l.y1)*dx
	if (:p.x-:l.initial.x)*(dy :l) = (:p.y-:l.initial.y)*(dx :l)
	[ output (set :p) ]
	[ output set ]
end

Example:

Reference:

isec_pointpoint isec_linepoint