MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

You are given two line segments. Do they cross?

Consider one segment as (x1,y1) to (x2,y2), the other segment as (x3,y3) to (x4,y4). You are given a = [x1 y1; x2 y2]; b = [x3 y3; x4 y4]. Return tf=true if a and b intersect or tf=false if a and b do not touch.

All lines will intersect cleanly at exactly one non-endpoint. That is, they will not nest, overlap, or "kiss" at the endpoints.

Examples

a = [0,0; 1,1]; b = [0,1; 1,0]; tf = true

a = [0,0; 1,0]; b = [0,1; 1,1]; tf = false

27 correct solutions
12 incorrect solutions

Last solution submitted on Apr 23, 2015

1 Comment

Celestino
on 11 Mar 2014

For
a = [0,0; 2,2]; b = [1,1; 3,3];
a = [0,0; 2,2]; b = [2,2; 3,3];

2 Comments