W3C home > Mailing lists > Public > www-math@w3.org > July 1999

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

From: Eisele, Fred <fred.eisele@eds.com>
Date: Tue, 20 Jul 1999 11:17:37 -0400
Message-ID: <A80CCB1F0550D2119F9A00A02461EDD903314A04@usahm013.exmi01.exch.eds.com>
To: "Walter T. Stephens" <ceramist@worldnet.att.net>, www-math@w3.org
 > 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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 20 February 2010 06:12:48 GMT