chriswarbo-net: 8058caed835f700728bab8d58ef267f404772d6c
1: ---
2: title: Extents (work in progress)
3: ---
4:
5: <small>Part of [my units pages](/projects/units)</small>
6:
7: TODO: This is closely related to the idea of [Torsors](torsors.html), and the
8: difference between affine points being vectors.
9:
10: - This is the idea of a bounded *region*
11: - It can be defined by its boundary, e.g. start and end points in 1D
12: - It is distinct from an *interval* in two ways:
13: - It is *relative*, e.g. more like a 1D vector
14: - It is *signed*, again more like a 1D vector
15: - Useful to distinguish position (e.g. on a number line) from
16: difference-in-position
17: - Good precursr for vectors:
18: - In 1D, vectors *are* extents
19: - In higher-dimensions, vectors also have a *direction* (maybe relatable to
20: projective points-at-infinity)
21: - Higher-dimensional extents include signed area, signed volume, etc.
22: - In the 1D case it gives an unambiguous notion of subtraction for positive
23: spaces like Nat: the difference between two Nats is an extent, not a Nat
24: - This removes the difficulty of e.g. 1 - 2 = -2: the sign of the result
25: tells us which direction to move, not 'where we end up'
26: - We still get problems if we try asking which Nat is some extent away from
27: another, e.g. taking the difference between 10 and 3 (-7) and asking what
28: is an equivalent difference away from 2 (there is no -5 in Nat); yet this
29: feels like a clearer case of 'not making sense'
30:
31: Numbers and geometry are foundational to mathematics, and how we explain and
32: understand various phenomena. We can relate these concepts in two important, but
33: distinct, ways: as *positions* or as *extents*.
34:
35: ## Position versus extent ##
36:
37: Consider the useful picture of a *number line*:
38:
39: ```
40: ┌──┬──┬──┬──┬──┬──┬─⋯
41: 0 1 2 3 4 5 6
42: ```
43:
44: This shows numbers as *positions* quite directly: the number four 'is' the
45: position (or *point*) labelled `4`.
46:
47: The *extents* in this picture are a bit more abstract: we can find them by
48: 'cutting' the line at the relevant label; e.g. cutting at the label `4` gives
49: the following:
50:
51: ```
52: ┌──┬──┬──┬──┐
53: 0 1 2 3 4
54: ```
55:
56: Whilst this is a perfectly good *length*, the idea of 'extent' that I'm after
57: needs two more things...
58:
59: ## Extents are relative ##
60:
61: We will consider *the line* to be our extent, not the points or labels. Hence
62: all of the following are *the same* extent:
63:
64: ```
65: ┌──┬──┬──┬──┐
66: 0 1 2 3 4
67:
68: ┌──┬──┬──┬──┐
69: 1 2 3 4 5
70:
71: ┌──┬──┬──┬──┐
72: 32 33 34 35 36
73: ```
74:
75: Hence we can drop the labels, to get a line like `┌──┬──┬──┬──┐`
Generated by git2html.