An instance of data type Line_d is an oriented line in -dimensional Euclidean space.
| |
the representation type.
| |
| |
the ring type.
| |
| |
the field type.
| |
| |
the linear algebra layer.
|
| |
introduces a variable l of
type Line_d<Kernel>.
| |
| |
introduces a
line through p and q and oriented from p to
q. Precondition: and are distinct and have the same dimension.
| |
| |
introduces
a line through p with direction dir. Precondition: p.dimension()==dir.dimension(), dir is not degenerate.
| |
| |
introduces a variable
l of type Line_d<Kernel> and initializes it to the line through
s.source() and s.target() with direction from
s.source() to s.target(). Precondition: is not degenerate.
| |
| |
introduces a variable l of
type Line_d<Kernel> and initializes it to the line through
r.point(1) and r.point(2).
|
|
| returns the dimension of the ambient space. |
|
| returns an arbitrary point on l. It holds that point(i) == point(j), iff i==j. Furthermore, l is directed from point(i) to point(j), for all i < j. |
|
| returns the line (point(2),point(1)) of opposite direction. |
| ||
| returns the direction of l. | |
|
| |
returns . Precondition: l.dimension()==t.dimension(). | ||
|
| |
returns
l+v, i.e., l translated by vector . Precondition: l.dimension()==v.dimension(). | ||
|
| |
returns the
point of intersection of l with the hyperplane that is
orthogonal to l and that contains p. Precondition: l.dimension()==p.dimension(). | ||
|
| |
returns true if lies
on l and false otherwise. Precondition: l.dimension()==p.dimension(). |
|
| |
Test for equality as unoriented lines. Precondition: l1.dimension()==l2.dimension(). | ||
|
| |
returns true if l1 and l2 are parallel as unoriented
lines and false otherwise. Precondition: l1.dimension()==l2.dimension(). |
Lines are implemented by a pair of points as an item type. All operations like creation, initialization, tests, direction calculation, input and output on a line take time . dimension(), coordinate and point access, and identity test take constant time. The operations for intersection calculation also take time . The space requirement is .