# RE: Units, Dimension, Domain & playing nice with MathML

``` > I would suggest attribute tags since you are attempting to
> qualify the
> identifier or number:
>
> <ci units="meter"> x </ci> would be a variable with a meter
> unit that also
> indicates a spatial dimension
>
> <cn units="kg"> 5 </cn> would be a constant value of 5 kg
> indicating a mass.
>
> You could also reverse this scheme by using
>
> <cn dimension="mass"> 5 </cn> to indicate 5 mass units defined by the
> current system notation.
>
> One could also choose from a set of units and have the
> system re-rendered
> with newer units.
> Unit rendering would be an option in an engine and conversion.
>
> 3D orientation and Angle would be calculated qualifiers of
> multicomponent
> variables such as the angle of a vector is determined
> relative to another
> vector or a coordinate system.
>
> Walter T. Stephens, Ph.D.
> Ceramic Engineer

It seems that you are an advocate for the what I presented as
the first proposal(argument) second form, which I repeat here
with my response:

>> Proposal[1]:  It has been proposed in the past that a
>>          domain could be comprehended
>>          simply by including the units along with a quantity.
>>              e.g.   <cn> 5 * days </cn>
>>                           or
>>                     <cn unit="day"> 5 </cn>
>> Response[1]: There is no association with a domain.
>>           There is no indication of the dimension.
>>           It may be argued that the dimension is
>>           inferred by the unit but this is not so.
>>           e.g. Kelvin may be either an absolute
>>           temperature or a temperature range.
>>           It may be tempting to include the
>>           dimension as well as the unit.
>>              e.g.  <cn> 5 * pico-second(distance)</cn>
>>           But, creating such a (hard to parse) beast when all the XML
tools are at hand
>>           seems silly.

My big idea is related to the relationship between the
mathematical model and the conceptual model.
In other words I have come to believe that
units/dimension has no place in the mathematical construction.
The problem arises when the mathematical model is used to
*represent* something in another domain (geometry, physics, chemistry,...).
I believe that the incorporation of dimension/units is like "putting
legs on a snake" it seems like a good idea a first but...
The question then comes down to,
"How do I cleanly relate/merge two document types together?".

EXAMPLE:
I have a specific case that should be fairly simple to consider
from the domain of physics.  Suppose I have two inertial bodies (A,B)
which will be combined together to form a third body (C).
The model for body C simply refers to bodies A & B each with an
appropriate translation vector (P) and rotation matrix (T).

Using as mutch MathML notation as I know how I have
the following three files:
(If someone could help me correct my notation
I would appreciate that as well.)
P.S. Even though it looks long I believe it is really
quite easy to read.

----A.xml--[B.xml is similar]--------
<?xml version="1.0" ?>
- <inertialBody version="0.2">
<name>NG21</name>
-   <properties status="prime">
<mass unit="kg"><cn>245.40</cn></mass>
-     <center unit="meter">
-       <vector>
<cn>102.0</cn>
<cn>33.9</cn>
<cn>-90.4</cn>
</vector>
</center>
-     <moment unit="kg-m^2">
-       <vector>
<cn>5460.0</cn>
<cn>14770.0</cn>
<cn>13870.0</cn>
</vector>
-       <matrix>
-         <matrixrow>
<cn>0.9404</cn>
<cn>-0.0521</cn>
<cn>-0.3359</cn>
</matrixrow>
-         <matrixrow>
<cn>-0.007</cn>
<cn>0.985</cn>
<cn>-0.1724</cn>
</matrixrow>
-         <matrixrow>
<cn>0.3399</cn>
<cn>0.1645</cn>
<cn>0.926</cn>
</matrixrow>
</matrix>
</moment>
</properties>
</inertialBody>

----C.xml--------------
<?xml version="1.0" ?>
- <!--  The Schema for this document is roughly based on MathML -->
- <inertialBody version="0.2">
<name>NG1997</name>
-   <!--  These fields are derived from the apply block -->
<properties status="derived" refURI="inertial-summation-servlet">
-     <apply>
<plus />
-       <cn>
<body refURI="A.xml" />
-         <position unit="meter">
-           <vector>
<cn>1920.0</cn>
<cn>12.0</cn>
<cn>517.0</cn>
</vector>
</position>
-         <orientation>
-           <matrix>
-             <matrixrow>
<cn>-0.9989</cn>
<cn>0.0</cn>
<cn>-0.0474</cn>
</matrixrow>
-             <matrixrow>
<cn>0.0</cn>
<cn>1.0</cn>
<cn>0.0</cn>
</matrixrow>
-             <matrixrow>
<cn>0.0474</cn>
<cn>0.0</cn>
<cn>-0.9989</cn>
</matrixrow>
</matrix>
</orientation>
</cn>

<minus />
-       <cn>
<body refURI="B.xml" />
-         <position unit="meter">
-           <vector>
<cn>0.0</cn>
<cn>0.0</cn>
<cn>0.0</cn>
</vector>
</position>
-         <orientation>
-           <matrix>
-             <matrixrow>
<cn>1.0</cn>
<cn>0.0</cn>
<cn>0.0</cn>
</matrixrow>
-             <matrixrow>
<cn>0.0</cn>
<cn>1.0</cn>
<cn>0.0</cn>
</matrixrow>
-             <matrixrow>
<cn>0.0</cn>
<cn>0.0</cn>
<cn>1.0</cn>
</matrixrow>
</matrix>
</orientation>
</cn>
</apply>
</properties>
</inertialBody>
----End of example---------------

I have also left out the name-spaces although I believe
that the addition of the following namespaces would be helpful.
MathML [http://www.w3.org/TR/REC-xml-names]
Geometry [http://www.w3.org/TR/REC-MathML-geometry]?
This would include <position>,<orientation>
Physics [http://www.w3.org/TR/REC-MathML-physics]?
The rest of the tags.

I still have units on a geometry element, <position>,
but this should illustrate the point sufficiently.
I suppose that much of this has been addressed in the
IGES, and STEP initiatives already.
I will review what they have next.

Thanks.
```

Received on Tuesday, 20 July 1999 13:03:45 UTC