Brick product (InstanceTopic, 3)

From Hi.gher. Space

(Difference between revisions)
(created page)
(Definition: Improve notation)
Line 10: Line 10:
== 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>).
+
For each point ''x'' = (''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''</sub>)/2 in P, the brick symmetry guarantees that (-''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''</sub>)/2 is also in P. This means the line segment between these two points has length ''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>)/2 and (''x''<sub>1</sub>, ..., -''x''<sub>''i''</sub>, ..., ''x''<sub>''n''</sub>)/2 with both endpoints in P, by definition of brick symmetry of P, each with length ''x''<sub>''i''</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>.
+
Now, for each point ''x'', we form the [[Cartesian product]] (''x''<sub>1</sub>A<sub>1</sub>) × (''x''<sub>2</sub>A<sub>2</sub>) × ... × (''x''<sub>''n''</sub>A<sub>''n''</sub>), where the notation ''x''<sub>''i''</sub>A<sub>''i''</sub> means the operand A<sub>''i''</sub> scaled by ''x''<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 (''x''<sub>1</sub>A<sub>1</sub>) × (''x''<sub>2</sub>A<sub>2</sub>) × ... × (''x''<sub>''n''</sub>A<sub>''n''</sub>).
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%;'>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> }
+
Q = ⋃{ <span style='font-size: 80%;'>surface( <span style='font-size: 80%;'>∏{ <span style='font-size: 80%;'>''x''<sub>''i''</sub>A<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.

Revision as of 16:25, 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)/2 in P, the brick symmetry guarantees that (-x1, x2, ..., xn)/2 is also in P. This means the line segment between these two points has length x1. In fact, for any 1 ≤ in, a line segment can be constructed between (x1, ..., xi, ..., xn)/2 and (x1, ..., -xi, ..., xn)/2 with both endpoints in P, by definition of brick symmetry of P, each with length xi.

Now, for each point x, we form the Cartesian product (x1A1) × (x2A2) × ... × (xnAn), where the notation xiAi means the operand Ai scaled by xi.

Then Q = P{A1, A2, ..., An} is the union over all x in P of the surfaces of the Cartesian products (x1A1) × (x2A2) × ... × (xnAn).

As a concise expression:

Q = ⋃{ surface( ∏{ xiAi | 1 ≤ in } ) | 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.