Shifting an affine subspace towards a point #
This file introduces a "shift" transformation of affine subspace, where the subspace is translated
relatively to a point c. This is equivalent to AffineSubspace.map (AffineEquiv.constVAdd ..),
but hides the detail of arbitrarily choosing a point in the subspace.
Shifting is controlled by a parameter r, indicating how far the output space is to c. We set
r = 0 to mean the output space passes through c (See AffineSubspace.shift_zero),
while r = 1 means not moving the input space at all (See AffineSubspace.shift_one).
With this convention, this transformation is also equivalent to AffineSubspace.map (homothety c r)
when r is a unit.
Main declarations #
AffineSubspace.shiftdefines the shift transformation.AffineSubspace.shift_eqshows the shift transformation is equivalent to translation.AffineSubspace.shift_eq_map_homothetyshows the shift transformation is equivalent to homothety.
AffineSubspace.shift s c r is an affine subspace parallel to s, where an arbitrary point on
s is moved towards c with linear interpolation by r. When r = 0, that point is moved onto
c. When r = 1, that point stays at the original position. A different choice of the point will
not affect the output (See AffineSubspace.shift_eq).
We define AffineSubspace.shift ⊥ c r = ⊥ (See AffineSubspace.shift_bot).
Equations
- s.shift c r = if h : Nonempty ↥s then AffineSubspace.map (↑(AffineEquiv.constVAdd k P ((1 - r) • (c -ᵥ ↑h.some)))) s else ⊥
Instances For
AffineSubspace.shift s c r can be represented by moving a point in the subspace
towards c.
Consider a point A with barycentric coordinates associated to a collection of points P.
If the coordinate associated to one of the points Pᵢ is r, then the point A is on the span
of P \ {Pᵢ} shifted towards Pᵢ with parameter 1 - r.
The iff version of affineCombination_mem_shift for affine independent points.
For a unit parameter, shifting is the same as mapping by homothety.
The base of a simplex shifted with parameter 0 intersects the closed interior only at the vertex.
The base of a simplex shifted with parameter outside $[0, 1]$ does not intersect the closed interior.
A parallel cross-section of a simplex is the image of the base under a homothety.