Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is not true. Angles very much have units and it's why you can express the same concept with different numbers. Pi equals 180 degrees equals 0.5 turns.

1 radian has different units than 1 steradian and if they didn't there wouldn't be a need for two different words to denote them.

The quantity is a ratio of two lengths, and the length measure does "drop out". But it's not just any ratio, it's a very particular ratio, and the unit defines the particularness of that ratio.



The reason it is confusing is because an angle measure is a kind of logarithm of a rotation, and logarithms (sort of) have a unit: the base.

The appropriate canonical representation of a rotation is a unit-magnitude complex number z = exp = cos θ + i sin θ, which has a planar orientation (whatever plane i is taken to represent; if you want to represent a 3D rotation you can replace i with an arbitrary unit bivector) but is unitless.

Such a rotation z can be thought of as the ratio of two vectors of the same magnitude: z = u / v satisfies zv = u, i.e. is the object by which you can multiply v on the left to obtain u. Whatever original units your vectors u and v had gets divided away.

This is similar to the way the "ten" in "scale by ten" is unitless, but if you take the logarithm you get "scale by 10 decibels" or "go up by 3 octaves and 3.9 semitones", which have the base of the logarithm as a kind of unit.


I think I fundamentally disagree with you. Angles do not have a "base" any more than meters do (being embedded inside some metric space could be considered a base I suppose).

But you seem to be drawing a distinction between meters and angles in your analogy where I assert none exists. The base of a number system only affects representations.

This is not true for divisions of lengths. 1 meter divided by 2 meters is 0.5 as a number. But it is only 0.5 radians under (1ish) specific arrangements of those lengths in a particular metric space


The logarithmic base for an angle is something like "degrees", "radians" or "turns".

This is analogous to the way a scalar logarithm can have a base of "octaves" (doublings), "decibels", or "powers of the golden ratio" (as found in the Zometool construction toy). Or pick your favorite other logarithmic system.

Both are "units" in a certain sense, but neither one is quite the same kind of "unit" as light years or foot–pounds or amperes.

> 1 meter divided by 2 meters is 0.5 as a number. But it is only 0.5 radians under (1ish) specific arrangements of those lengths in a particular metric space

Just as 1 meter straight ahead divided by 2 meters straight ahead is the unitless scalar number 0.5, we can likewise treat angles (i.e. rotations) as ratios: 1 meter straight ahead divided by 1 meter to the right has the unitless bivector-valued ratio i, oriented like the ground you are standing on. You can multiply this bivector by some other coplanar vector to rotate it a quarter turn. For example, you can multiply it by the vector «3 inches due North» to get the new vector «3 inches due West»; notice how the units do not change because our bivector i is unitless.


I understand your analogy, but I reject it's validity. Degrees/radians/turns map to meters/feet/angstrom. Decibels and octaves are true "number" multipliers. You could for instance talk about degrees in octaves or in dB if you like. It's just not particularly useful for the domain

Edit: another example difference. I can't measure an octave or dB. I can measure a degree

Edit2: we've reached reply limit but I concede you can measure a decibel. Point about dB degrees still stands though


You absolutely can measure an octave or decibel. It's just a relative quantity, in just the same way any quantification of orientation is relative.

(For example, you can measure an octave by marking out a particular fret on your guitar; it will make an octave change whichever particular note you start with.)

You can feel free to "reject" whatever you want. You'll just be wrong/confused. ;-) (But you'll be in good company. Most working engineers, scientists, and mathematicians don't have or need a particularly clear philosophical understanding of angles.)


I think this will devolve at this point. But you should consider that you are perhaps far too confident in your position here. My last attempt is due you to consider what happens when you

A) multiply two degrees together

B) multiply two dBm values together

The output "units" in A change but do not in B. dB and angles are very different.

Edit: the units in B do change, but the dB part doesn't. Tired.


Multiplying degrees together is not a meaningful concept.

But you can compose rotations.

Multiplying decibels together is also not meaningful, but you can compose scaling.


> Multiplying degrees together is not a meaningful concept.

Curious what you think of the d_theta * d_phi term in a spherical coordinates integral...


You can compute solid angle (a.k.a. spherical excess, normalized spherical surface area) by taking a surface integral, but the units are not "square degrees" or "square radians", but instead an entirely new type, usually just measured in radians ("steradians"). Some people have defined https://en.wikipedia.org/wiki/Square_degree but that is a stupid unit.

While rotation is naturally oriented like a bivector (plane), solid angle is naturally oriented like a trivector (3-space).

The natural representation is as a kind of (unitless) ratio formed from 3 vectors, not the product of two vector–vector ratios.


Yeah, units that algebraically reduce to 1 are always very interesting to me. Consider a chart showing how many CPU seconds you're consuming per second. The unit is seconds/second, which is equal to 1, but it is still a distinct concept from radians.


Jeez, I've really kicked off quite the heated discussion in the replies... I don't want to get bogged down in lengthy arguments, but I feel I should explain my reasoning in more detail.

Essentially, I think that whatever angles are, they are not like other dimensionful physical quantities. I have two arguments.

The first: Someone mentioned symmetries in a reply. I wanted to mention them too but didn't have time to structure my thoughts into a coherent argument. But the gist of it is that dimensionality is just a kind of scale invariance, and the scale invariance of angles is fundamentally different from that of linear quantities due to their periodicity — to apply a unit transformation, you have to scale the quantity _and the period_.

The second: Consider units from a "type theory" perspective instead. If you are considering exclusively linear trigonometry (no arcs), it's trivial to assign a dimensional type structure to expressions (e.g. cos takes angle type and maps it to dimensionless type). But as soon as you allow arc lengths, it becomes cumbersome to type common expressions.

I think these distinctions form the crux of the disagreement. Ultimately, it depends on your intuitive notion of what "dimensionality" actually means, and how it ought generalise to other kinds of quantities.

Here is an example to highlight my point. Let there be a circle C of centre O and radius r. Let A be a point on the circle. Let there be a point M outside the circle such that (AM) is tangent to C. Let B be the intersection of C and [OM]. Let s be the arc length along C from A to B. Then we want to write AM = r tan(s/r).

How does one get s/r to resolve to an angular dimension? Ought we instead ascribe s dimensions of length-angle? Imagine, then, that the circle is in fact a pulley, and we wish to measure a change x in length of rope as the pulley rotates through the angle of the arc from A to B. We would want to write x = s. But this is now dimensionally inconsistent.

It's certainly possible to make all these expressions correctly typed by introducting appropriate conversion constants. But this seems to me to be cumbersome. Since in physics, arc and linear lengths can convert freely into one another, it seems more economical to just let angles be dimensionless.


The solution to your quandary is to realize the division operator is massively overloaded in your expression. What you actually want is to specify s and r as true line segments and define a new operator which takes two segments and outputs the angle between them. This operator happens to reduce to division of magnitudes in certain circumstances.

Edit: in other words, you've encoded tons of information in the problem statement about the relationship between r and s and you aren't properly encoding that in your type system allowing s/r to output an angle




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: