Open chgessner opened 1 year ago
To show what Christof means
<u:unit id="600271" Code="[p'diop]" CODE="[P'DIOP]" isMetric="no"><name>prism diopter</name><printSymbol>PD</printSymbol><property>refraction of a prism</property><value Unit="100tan(1 rad)" UNIT="100TAN(1 RAD)"><function name="tanTimes100" value="1" Unit="rad"/></value></u:unit>
<u:unit id="600272" Code="%[slope]" CODE="%[SLOPE]" isMetric="no"><name>percent of slope</name><printSymbol>%</printSymbol><property>slope</property><value Unit="100tan(1 rad)" UNIT="100TAN(1 RAD)"><function name="100tan" value="1" Unit="deg"/></value></u:unit>
The slope % is the absolute value of change of height per horizontal distance, or opposite side to adjacent side. That is the definition of the tangent function (tan). Multiplication by 100 gives the percent scale. I can apply the tangent on rad or degrees (after I convert the degrees to radian). Therefore there should not be a difference whether we use radian or degrees in the argument. Now of course, before applying a tangent function on some computer programming language, one should have the argument scaled to rad. Therefore, it is probably better to say function/@Unit="rad" in the unit, not function/@Unit=deg.
Would this actually lead to different results? I should check my implementations. But even if it would, I think the change would be a correction, not a new version of the unit. It should be corrected.
In the specification https://ucum.org/ucum and in ucum-essence the definition of slope ( unit Code="%[slope]" ) is Unit="100tan(1 rad)". But in the function element the Unit is "deg". Which is correct?