Brick product (InstanceTopic, 3)
From Hi.gher. Space
(→Definition: Improve notation) |
(specializations) |
||
Line 9: | Line 9: | ||
== Definition == | == Definition == | ||
+ | For each point ''x'' = (''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''</sub>) in P, the brick symmetry guarantees that (-''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''</sub>) is also in P. This means the line segment between these two points has length 2''x''<sub>1</sub>. In fact, for any 1 ≤ ''i'' ≤ ''n'', a line segment can be constructed between (''x''<sub>1</sub>, ..., ''x''<sub>''i''</sub>, ..., ''x''<sub>''n''</sub>) and (''x''<sub>1</sub>, ..., -''x''<sub>''i''</sub>, ..., ''x''<sub>''n''</sub>) with both endpoints in P, by definition of brick symmetry of P, each with length 2''x''<sub>''i''</sub>. Collect these lengths into an array ''l''(''x'') = (''l''<sub>1</sub>, ''l''<sub>2</sub>, ..., ''l''<sub>''n''</sub>) = (2''x''<sub>1</sub>, 2''x''<sub>2</sub>, ..., 2''x''<sub>''n''</sub>). | ||
- | + | Now, for each point ''x'', we form the [[Cartesian product]] A<sub>1</sub>|''l''<sub>1</sub> × A<sub>2</sub>|''l''<sub>2</sub> × ... × A<sub>''n''</sub>|''l''<sub>''n''</sub>, where the notation A<sub>''i''</sub>|''l''<sub>''i''</sub> means the operand A<sub>''i''</sub> scaled by the length ''l''<sub>''i''</sub>. | |
- | + | Then Q = P{A<sub>1</sub>, A<sub>2</sub>, ..., A<sub>''n''</sub>} is the union over all ''x'' in P of the surfaces of the Cartesian products A<sub>1</sub>|''l''<sub>1</sub> × A<sub>2</sub>|''l''<sub>2</sub> × ... × A<sub>''n''</sub>|''l''<sub>''n''</sub>. | |
- | + | ||
- | Then Q = P{A<sub>1</sub>, A<sub>2</sub>, ..., A<sub>''n''</sub>} is the union over all ''x'' in P of the surfaces of the Cartesian products | + | |
As a concise expression: | As a concise expression: | ||
<blockquote style='font-size: 200%;'> | <blockquote style='font-size: 200%;'> | ||
- | Q = ⋃{ <span style='font-size: 80%;'>surface( <span style='font-size: 80%;'>∏{ <span style='font-size: 80%;'> | + | Q = ⋃{ <span style='font-size: 80%;'>surface( <span style='font-size: 80%;'>∏{ <span style='font-size: 80%;'>A<sub>''i''</sub>|2''x''<sub>''i''</sub></span> | <span style='font-size: 80%;'>1 ≤ ''i'' ≤ ''n''</span> }</span> )</span> | <span style='font-size: 80%;'>''x'' ∈ P</span> } |
</blockquote> | </blockquote> | ||
where ⋃ represents the union of all members of a set, ∏ represents the Cartesian product of all members of a set, and surface(X) is a function mapping X to its preceding [[frame]], i.e. reduces the net space of X by one while keeping the bounding space the same. | where ⋃ represents the union of all members of a set, ∏ represents the Cartesian product of all members of a set, and surface(X) is a function mapping X to its preceding [[frame]], i.e. reduces the net space of X by one while keeping the bounding space the same. | ||
+ | |||
+ | == Specializations == | ||
+ | *When P is the [[point]], the operation is trivial, takes no operands, and the result by the definition above is an empty set; some uses may prefer to define Point{} = Point. | ||
+ | *When P is the [[digon]], the operation is simply scales its operand by the digon's length. If the length of the digon is 1, the operation becomes the identity operation. | ||
+ | *When P is a [[hypercube]] of side length 1, the operation is the Cartesian product. | ||
+ | *When P is a [[cross polytope]] of diameter 1, the operation is the [[tegum product]]. | ||
+ | *When P is a [[hypersphere]] of diameter 1, the operation is the [[crind product]]. | ||
+ | *When all A<sub>''i''</sub> are equal, the operation produces a [[powertope]] (A<sub>''i''</sub><sup>P</sup>, read "the P of A<sub>''i''</sub>"). | ||
+ | **When each A<sub>''i''</sub> is also equal to P, the operation produces a ''tetrate'' (the P-al ''n''-tetrate). |
Revision as of 16:28, 4 January 2012
The brick product is a very generalized operation, written as Q = P{A1, A2, ..., An}. P is called the operator and Ai are called the operands. Their values must satisfy the following constraints:
- P must be a brick.
- The dimensionality of P must equal n.
The resultant shape Q will have the following properties:
- The dimensionality of Q will be the sum of the dimensionalities of Ai.
- Q will be a brick if and only if all Ai are bricks.
- Q will be convex if and only if both P and all Ai are convex.
Definition
For each point x = (x1, x2, ..., xn) in P, the brick symmetry guarantees that (-x1, x2, ..., xn) is also in P. This means the line segment between these two points has length 2x1. In fact, for any 1 ≤ i ≤ n, a line segment can be constructed between (x1, ..., xi, ..., xn) and (x1, ..., -xi, ..., xn) with both endpoints in P, by definition of brick symmetry of P, each with length 2xi. Collect these lengths into an array l(x) = (l1, l2, ..., ln) = (2x1, 2x2, ..., 2xn).
Now, for each point x, we form the Cartesian product A1|l1 × A2|l2 × ... × An|ln, where the notation Ai|li means the operand Ai scaled by the length li.
Then Q = P{A1, A2, ..., An} is the union over all x in P of the surfaces of the Cartesian products A1|l1 × A2|l2 × ... × An|ln.
As a concise expression:
Q = ⋃{ surface( ∏{ Ai|2xi | 1 ≤ i ≤ n } ) | x ∈ P }
where ⋃ represents the union of all members of a set, ∏ represents the Cartesian product of all members of a set, and surface(X) is a function mapping X to its preceding frame, i.e. reduces the net space of X by one while keeping the bounding space the same.
Specializations
- When P is the point, the operation is trivial, takes no operands, and the result by the definition above is an empty set; some uses may prefer to define Point{} = Point.
- When P is the digon, the operation is simply scales its operand by the digon's length. If the length of the digon is 1, the operation becomes the identity operation.
- When P is a hypercube of side length 1, the operation is the Cartesian product.
- When P is a cross polytope of diameter 1, the operation is the tegum product.
- When P is a hypersphere of diameter 1, the operation is the crind product.
- When all Ai are equal, the operation produces a powertope (AiP, read "the P of Ai").
- When each Ai is also equal to P, the operation produces a tetrate (the P-al n-tetrate).