How to tell if two points are separated by hyperplanes? Consider $n$ dimensional space and consider a set of hyperplanes $h_1, \dots h_k$, each one of which goes through the origin. Each hyperplane $h_i$ is defined by an $n$-dimensional vector $v_i$ which has one end at the origin and is normal to the hyperplane.  

Given two points $a$ and $b$, how can you determine if there is a
  continuous path from $a$ to $b$ which doesn't touch any of the $k$
  hyperplanes?

 A: Each hyperplane $h_i$ consists of the points $x$ such that $v_i^Tx = 0$. 
Suppose that for some $i$, we have $v_i^Ta > 0 > v_i^Tb$ or $v_i^Ta < 0 < v_i^Tb$, that is the points $a$ and $b$ are on opposite sides of the hyperplane $h_i$. Then, for any continuous path $x(t)$ that starts at $x(t_1) = a$ and $x(t_2) = b$, we will have $v_i^Tx(t) = 0$ for some $t \in (t_1,t_2)$. This is a direct consequence of the intermediate value theorem. Hence, there is no continuous path that doesn't intersect the hyperplane $h_i$. 
Now, consider the case where for every $i$, we have either ($v_i^Ta > 0$ and $v_i^Tb > 0$) or ($v_i^Ta < 0$ and $v_i^Tb < 0$), that is the points $a$ and $b$ are on the same side of every hyperplane $h_i$. Then, consider the path $x(t) = (1-t)a+tb$ for $t \in [0,1]$ (this is the straight line path between $a$ and $b$). If $v_i^Ta > 0$ and $v_i^Tb > 0$, then $v_i^Tx(t) = (1-t)v_i^Ta + tv_i^Tb > 0$ for all $t \in [0,1]$. If $v_i^Ta < 0$ and $v_i^Tb < 0$, then $v_i^Tx(t) = (1-t)v_i^Ta + tv_i^Tb < 0$ for all $t \in [0,1]$. Thus, if $a$ and $b$ are on the same side of every hyperplane, then the straight line segment between $a$ and $b$ does not intersect any hyperplane. 
Therefore, there is a continuous path from $a$ to $b$ that doesn't intersect any of the hyperplanes if and only if $\text{sign}(v_i^Ta) = \text{sign}(v_i^Tb)$ for all $i$, i.e. $a$ and $b$ are on the same side of every hyperplane.  
