Let $M=(m_{i,j})$ be a Cartan matrix, with rows and columns indexed by a finite set $I$. Let $W=\langle x_i,i\in I|(x_ix_j)^{m_{i,j}}=1\rangle$ be the associated Coxeter group.
We can define a symmetric bilinear form $(-,-)$ on an $\vert I\vert$-dimensional real vector space $V$ with basis $\{e_i:i\in I\}$ by $(e_i,e_j)=-\cos\left(\frac{\pi}{m_{i,j}}\right)$, and we can make $V$ into a representation of $W$ by defining $x_i\cdot v=v-2(e_i,v)e_i$ (i.e. reflection at $e_i$).
It is proved in Humphreys' "Reflection Groups and Coxeter groups" that this representation is faithful, and moreover, $(-,-)$ is positive definite if and only if $W$ is finite, which allows us to explicitly recover all classical finite linear reflection groups as Coxeter groups.
It is also true that $(-,-)$ is positive semidefinite (i.e. $(v,v)\geq 0$ for all $v\in V$) if and only if $W$ is isomorphic to a classical affine reflection group (i.e. a discrete group generated by reflections through a set of affine hyperplanes in Euclidean space). But Humphreys proves this by classifying all Dynkin diagrams of Coxeter groups with positive semidefinite bilinear form, and stating that each of these corresponds to an affine reflection group.
My question is, is there a more explicit realisation of this equivalence between positive semidefinite Coxeter groups and affine reflection groups, perhaps some canonical representation of such groups via affine reflections? I considered that it would involve taking the quotient space $V/V^{\perp}$, which is a Euclidean space of dimension $\vert I\vert-1$, and deriving an action of $W$ on this space using affine reflections. But I've not been able to make this work. Does anyone know a reference for where I can find out about this?