4
$\begingroup$

How can I determine whether the 2 points $(a_x, a_y)$ and $(b_x, b_y)$ are on opposite sides of the line $(x_1,y_1)\to(x_2,y_2)$?

$\endgroup$
6
$\begingroup$

Explicitly, they are on opposite sides iff $$((y_1-y_2)(a_x-x_1)+(x_2-x_1)(a_y-y_1))((y_1-y_2)(b_x-x_1)+(x_2-x_1)(b_y-y_1)) < 0.$$

$\endgroup$
  • $\begingroup$ Appreciate the explicitness of your answer. Clearly I am no math geek :) Cheers! $\endgroup$ – Craig Day Jun 25 '12 at 7:42
12
$\begingroup$

Find the equation of the line. It should be of the form $ax + by + c = 0$. Given two points $(x_1, y_2)$ and $(x_2, y_2)$, plug these into that equation. They are on opposite side of the line if $ax_1 + by_1 + c < 0$ and $ax_2 + by_2 + c > 0$, or visa-versa.

$\endgroup$
5
$\begingroup$

$CD$ are on the opposite sides of $AB$ if and only if $\left(\overrightarrow{AB}\times\overrightarrow{AC}\right)\cdot\left(\overrightarrow{AB}\times\overrightarrow{AD}\right)<0$, where $\times$ is cross product and $\cdot$ is dot product.

$\endgroup$
  • 1
    $\begingroup$ How is the cross product defined for 2 dimensions? $\endgroup$ – marty cohen Dec 1 '15 at 0:44
  • $\begingroup$ @martycohen Defined for an arbitrary embedding $\mathbb R^2\hookrightarrow\mathbb R^3$. $\endgroup$ – Yai0Phah Dec 1 '15 at 9:35
0
$\begingroup$

Writing $A$ and $B$ for the points in question, and $P_1$ and $P_2$ for the points determining the line ...

Compute the "signed" areas of the $\triangle P_1 P_2 A$ and $\triangle P_1 P_2 B$ via the formula (equation 16 here) $$\frac{1}{2}\left|\begin{array}{ccc} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \end{array}\right|$$ with $(x_3,y_3)$ being $A$ or $B$. The points $A$ and $B$ will be on opposite sides of the line if the areas differ in sign, which indicates that the triangles are being traced-out in different directions (clockwise vs counterclockwise).

You can, of course, ignore the "$1/2$", as it has not affect the sign of the values. Be sure to keep the row-order consistent in the two computations, though.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.