Function that plots and calculates intersection of lines
1 view (last 30 days)
Show older comments
I have to create a function that gets a matrix as an input that represent lines and each row contains 4 numbers (x1 y1 x2 y2).
The function has to plot the lines, calculate and mark the intersection point of the lines.
The function starts like this:
function [LL] = intersects(lines)
%plot and calculate lines and intesection
LL = [ ]; %Contains the intersection point
2 Comments
Geoff Hayes
on 29 Nov 2019
This seems like homework so please show what you have tried so far. You will (probably) need to determine the equation for each line and then solve for the intersection for each pair of lines.
Answers (1)
Dhananjay Kumar
on 3 Dec 2019
Edited: Dhananjay Kumar
on 3 Dec 2019
You can do it manually through basic mathematical principles.
y-y1 = m(x-x1) => mx-y = mx1-y1 . Now this is in the form of ax+by = c.
(Here m = (y2-y1)/(x2-x1) )
Make another matrix A and a column vector b from the given input matrix.
Each row of A is [m ,-1] and corresponding element in b would be mx1-y1.
Now loop through each row and find the intersection points with all the other rows(which is not current row) inside another loop. (To solve for a pair of rows make 2x2 matrix A_temp and a 2x1 b_temp matrix and use mldivide ) Keep putting those intersection points in a matrix. Return the matrix
0 Comments
See Also
Categories
Find more on Data Distribution Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!