0

I am successful at asking challenging questions. My latest victory was to ask why does python language has a special type for the time difference? I am familiar with phisics a bit. I therefore consider time as axis and can tell that the difference has the same units of measure as the basic unit. That is if I have two points, located at point 1 meter and 3 meters, on same axis, they are 3-1 = 2 meters apart. The same applies to the time. However, programmers claim that difference between object is an object of another kind. You may check that seem totally ignore this my concern.

In gamedev they apply their dogmatic view, that difference makes another type to the coordinates. They say that city coordinate is a point but vector is different because it expresses the difference between points and even the fact that city location is a distance to the origin does not matter (for some unexplained reason). I am asking for that reason here, in philosophy because all other people are worse than children in logic. They seem to define that difference makes another type dogmatically and "prove" this by just claiming this dogma. Do you see that or I miss something?

I would also ask what is the kind of (sum and) difference between vectors? The difference of differences (e.g. distance between vector) should be of kind different that differs from both point and vector, using the peoples' logic, right?

3 Answers 3

3

The dogmatic view of the guys at gamedev also happens to be correct. They might sound dogmatic as the difference might seem obvious to them. But some questions to think about are, if vectors and points are the same: What is the angle between two points? If the difference between two points is a point, where is it?

Representation of time is a different matter. Local time is measured relative to a time zone, differences in time do not have a time zone (or have two time zones). If you don't care about time zones, then you can treat it as an "axis", but the fact of the matter is that we do care about them.

Your more general, vaguely philosophical, claim is that the difference between two things of a certain type should be also of that type.

  1. Firstly, this assumes that difference is well defined beyond a limited number of formal systems such as rings, fields, vector spaces etc. To treat it properly in a philosophical sense, you would need a proper definition of difference that applies to things in general, not just a limited number of mathematical objects.

  2. Mathematically, you are saying everything is closed under "difference" (which I guess you could interpret as the additive inverse, subtraction). This is just not true. The natural numbers greater than 10 are a simple counter example.

In mathematics, the focus of study is on systems that are closed under some operation and ones that are not closed in this way are just not very interesting. This might give the impression that closure is a more common property than it is.

Vectors are closed under "difference" operations, points are not (their "difference" is a vector). Why, because, as I'm sure others have tried to explain, points are vectors with an origin, when you take the difference, you discard the origin information in some sense. I think you are really misunderstanding "their logic".

1
  • You normalize vectors, then subtract them. What is left is a direction, that can be added from or to somewhere. For example a point of origin. Same goes with two points. You normalize their distance from the origin. Than just use the difference as a vector that can be added to somewhere if needed. Commented Mar 9, 2014 at 14:45
2

Whew. So why is the difference between points not another point? Because a point has no dimension. Or reference. It is 0 in volume or length or diameter. It just sits there at it's coordinates.

So point = (1,1).

Now a vector consists of two points. Or better yet a vector is a direction. With a reference to something. Usually we use normalized vectors with reference to point (0,0)

So you could say since the coordinates of a 2 dimensional vector and a 2 dimensional point are the same, why not use the same object type?

I don't know, good question.

I guess when you are NOT using normalized vectors. Meaning the vector is origin + direction. Then you need more than one set of coordinates. You'd have (1,1)(2,2) for example. This would be a vector starting at (1,1) and ending at (2,2) using absolute coordinates. If you were to use direction then it would be (1,1) and (1,1). Adding 1 to each dimension starting from 1 in each dimension lets you arrive at (2,2).

So I guess the answer is simply. Vectors (non normalized) contain more information than a simple point.

Now after this long ramp up the time delta question is simple to answer.

The normal(ized) time difference is just that, it has no starting point. If you were to schedule a meeting however with a starting point and a duration or time difference between starting and ending time then suddenly you'd need a time vector class. It would have the starting time and the duration. Or starting time and ending time which would make it more complicated.

So the generalized philosophical answer is. If you store more information you have more. And more is not the same as less. So you cannot say more = less. More or less.

2
  • Your point also need the coordinate system. You must know where is your origin is located. Simple reference to (0,0) has no information. Thus, points are like vectors. Both have the origin as a reference.
    – Val
    Commented Mar 9, 2014 at 15:29
  • I don't know if you are just trolling or you did not read my answer. I was talking about normalized vectors. And they are indeed the same as points. Where the standard reference point always is (0,0). If the standard reference point is not (0,0) then you'd multiply all points with a vector or an offset. But that does not mean points = vectors.If you want to read up more on normalized vectors or unit vectors I'd suggest wikipedia. en.wikipedia.org/wiki/Unit_vector Commented Mar 9, 2014 at 17:57
0

First of all in classical physics time is of a different quality than space - its only after the advent of the Einsteins relativity that it became recognised that there are significant similarities. Time can be translated into space and vice-versa. But this is in the global sense - if you were outside of the universe looking at it. Inside of the universe - the local sense - time is still distinguished as before.

Mathematically, in vector spaces you always have an origin. When you subtract two vectors they do not stay where they are but are taken back to the origin. The real numbers for example, are a 1-dimensional vector space. If I walk five steps in a straight line and then walk back three, I'm two steps away from where I began. That is 5-3=2.

What your friends are talking about is type, and you can ascribe type to anything, including vectors, and it can mean anything you want, so long of course one is consistent about it. So I could write 5:steps - 3:steps=2:steps, but if I wrote 5:metres - 3:steps, the operation isn't allowed in type theory.

They seem to define that difference makes another type dogmatically and "prove" this by just claiming this dogma.

It is dogma if it makes no useful contribution but just complicates the type system. One can, as I pointed out earlier, choose to make what a type means. So one could do as you wish, and have all vectors as just vectors, or do as they do, and distinguish between vector differences.

I would also ask what is the kind of (sum and) difference between vectors? The difference of differences (e.g. distance between vector) should be of kind different that differs from both point and vector, using the peoples' logic, right?

Mathematically, the sum and difference of vectors are vectors. In physics, it would generally be the same too. Again with the type system, one can choose what one means, so the interpretation you offered could be chosen or a whole host of others.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .