A beautiful yet underutilized sequence was published in 1935 by van der Corput, a Dutch mathematician [952]. It exhibits many ideal qualities for applications. At the same time, it is based on a simple idea. Unfortunately, it is only defined for the unit interval. The quest to extend many of its qualities to higher dimensional spaces motivates the formal quality measures and sampling techniques in the remainder of this section.
To explain the van der Corput sequence, let
, in
which
, which can be interpreted as
. Suppose that
we want to place
samples in
. An ideal choice is the set
, which evenly spaces the points at
intervals of length
. This means that no point in
is
further than
from the nearest sample. What if we want to make
into a sequence? What is the best ordering? What if we are not
even sure that
points are sufficient? Maybe
is too few or
even too many.
![]() |
The first two columns of Figure 5.2 show a naive
attempt at making into a sequence by sorting the points by
increasing value. The problem is that after
, half of
has
been neglected. It would be preferable to have a nice covering of
for any
. Van der Corput's clever idea was to reverse the
order of the bits, when the sequence is represented with binary
decimals. In the original sequence, the most significant bit toggles
only once, whereas the least significant bit toggles in every step.
By reversing the bits, the most significant bit toggles in every step,
which means that the sequence alternates between the lower and upper
halves of
. The third and fourth columns of Figure
5.2 show the original and reversed-order binary
representations. The resulting sequence dances around
in
a nice way, as shown in the last two columns of Figure
5.2. Let
denote the
th point of the
van der Corput sequence.
In contrast to the naive sequence, each lies far away from
. Furthermore, the first
points of the sequence, for
any
, provide reasonably uniform coverage of
. When
is a
power of
, the points are perfectly spaced. For other
, the
coverage is still good in the sense that the number of points that
appear in any interval of length
is roughly
. For example,
when
, every interval of length
contains roughly
points.
The length, , of the naive sequence is actually not important. If
instead
is used, the same
,
,
are
obtained. Observe in the reverse binary column of Figure
5.2 that this amounts to removing the last zero from
each binary decimal representation, which does not alter their values.
If
is used for the naive sequence, then the same
,
,
are obtained, and the sequence continues nicely
from
to
. To obtain the van der Corput sequence
from
to
, six-bit sequences are reversed
(corresponding to the case in which the naive sequence has
points). The process repeats to produce an infinite sequence that
does not require a fixed number of points to be specified a priori.
In addition to the nice uniformity properties for every
, the
infinite van der Corput sequence is also dense in
. This
implies that every open subset must contain at least one sample.
You have now seen ways to generate nice samples in a unit interval both randomly and deterministically. Sections 5.2.2-5.2.4 explain how to generate dense samples with nice properties in the complicated spaces that arise in motion planning.
Steven M LaValle 2020-08-14