LineIntersection

Given two line segments, compute the intersection point.
264 download
Aggiornato 30 apr 2016

Visualizza la licenza

% [E, lambda, gamma, isConvex] = lineIntersection(A,B,C,D)
%
% Given a line segment AB and another line segment CD, compute the point E
% where the lines intersect.
%
% INPUTS:
% A = [2,n] = [Ax;Ay] = point in 2D space
% B = [2,n] = [Bx;By] = point in 2D space
% C = [2,n] = [Cx;Cy] = point in 2D space
% D = [2,n] = [Dx;Dy] = point in 2D space
%
% OUTPUTS:
% E = [2, n] = intersection of lines AB and CD
% lambda = [1,n]
% E = lambda*A + (1-lambda)*B
% gamma = [1,n]
% E = gamma*C + (1-gamma)*D
% isConvex = is intersection on both lines?
% isConvex = (0 <= lambda <= 1) && (0 <= gamma <= 1)
%
% DERIVATION:
% E1 = lambda*A + (1-lambda)*B
% E2 = gamma*C + (1-gamma)*D
% E1 == E2 --> linear system in [lambda; gamma] --> solve
%
% IMPLEMENTATION:
% F = B-D;
% M = [(B-A), (C-D)]
% Z = M\F;
% lambda = Z(1);
% gamma = Z(2);
%

Cita come

Matthew Kelly (2024). LineIntersection (https://www.mathworks.com/matlabcentral/fileexchange/56835-lineintersection), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2012a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Spatial Search in Help Center e MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
1.0.0.0