42 doesn't need to start at 0 |
42 does't start at anything, it is a point. Locations don't have starting points and ending points, they are the points themselves. |
I don't doubt that Tition is a brilliant Mathematician, or that he can simplify some calculus by doing away with points and just using vectors, |
but I also think that almost all Mathematicians and Math sources make a distinction between the two things. |
Points are locations in space and nothing more. This is how they are defined in computer graphics/linear algebra, and also in physics and calculus. |
vectors are simply points in a vector space (by definition) |
vectors are simply points in a vector space |
What I don't agree with is that these definitions should be taught as standard. |
What you are doing is playing with your own version of vocabulary and trying to hoist it on others. Just admit you're wrong and get on with your life. |
@htirwin So, wait, you're a newbie college student just now learning about computer graphics stuff and you're really trying to edumacate tition about math? |
My whole point is that we need to use common vocabulary when discussing things in common. (Which is why the standard vocabulary should be used in textbooks.) |
Also, I'm unsure why you are trying so hard to say that calculus and linear algebra cover different spaces, or that things somehow work differently between the two. Linear algebra is perfectly suited to solving n-dimensional equations, like curves and functions (gasp!). That's how, frankly, you define a space. |
Just because you want to project stuff into your visual world one specific way means nothing for how things work outside of that view. |
Now that we've rolled full circle a couple of times |
Some math and physics libraries contain separate data types to represent points and vectors. I’ve seen many people become confused by this, since more commonly packages use vectors exclusively for everything. What’s going on here? Why have 2 separate types? Well, the answer is quite simple. Strictly speaking, a point is not a vector and a vector is not a point! We’ll come back to why many packages, XNA included, use vectors to represent points and why that can make sense later. ... Implementation of Points as Vectors So, now that we know that points are different from vectors, why do many libraries implement points as vectors? Surely, this can’t be, since we just discovered that we can add vectors but can’t add points, amongst other differences, right? Well, the answer is somewhat complicated. Technically, both points and vectors can be represented by the same data on the computer, which in the case of 3D is 3 floating or double precision values. However, the operations that are allowed for each type varies. Instead of implementing two nearly identical types, with just a different set of operators on them, most packages opt to leave the interpretation of the data up to the user, and just use a single implementation which can perform all the operations. This can lead to many algorithmic bugs if users aren’t aware of how they’re using them, but it’s a common tradeoff nonetheless. In some packages, they use a single 4-element vector to represent both concepts, using a 1 in the last element (usually called w) for points, and a 0 for vectors. This actually helps loosely enforce the rules above, since subtracting two points would give 1 – 1 = 0 in the w field, which makes it a vector. And adding a vector to a point would leave 1, making it a point. Adding two points would make 2 in the w field, which is invalid as expected. However, this scheme uses considerably more memory (33% more in the case of 3D) with little real world benefit. So, ultimately, as long as we mentally consider our points as locations and our vectors as displacements in our calculations, then we can at least use the same data structure for both, saving on space and code duplication. We just need to be careful that our algorithms don’t do any mathematically invalid operations on these types, which the compiler won’t catch for us. In order to use a vector as a point, we treat it as the relative displacement from the origin, 0. This will give the exact same Cartesian coordinates as the point would have had, now in the form of a vector. |
every motion in 3d space can be decomposed by a single translation operation together with rotation about the axis of translation |
together with rotation about an axis parallel to the translation |
Just to clarify: the statement is completely 3-dimensional. In the picture you gave, the rotation that realizes the transformation in question corresponds to rotation which rotates the object out of the 2-dimensional plane in which it is drawn. |
every motion in 3d space can be decomposed by a single translation operation together with rotation about an axis parallel to the translation. The axis does not have to pass through the origin. |
every motion in 3d space can be decomposed by a single translation operation together with rotation about an arbitrary axis that pass through the origin |