• Advertisement

Archived

This topic is now archived and is closed to further replies.

3d coordinate systems

This topic is 5803 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was thinking about Cartesian and polar coordinates systems and was wondering if you can represent a coordinate with 3 angles. With Cartesian you have three offsets, polar 2 angles and a distance, and I can picture having 2 offsets and an angle. But I can''t picture three angle representing a point in three space. If you can''t does anyone know if there is a proof floating around as to why its not possible? It just strikes me as strange as you can represent a coordinate with three offsets but not three angles. Oh and if u know of any other ways to represent coordinates in 3space could u please describe them. Thanks in advance. -potential energy is easily made kinetic-

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
the 3rd angle would be what my friend?
think before u speak


there is cylinder coords with polar coords(r,w) and distance
x = r*cos(w)
y = r*sin(w)
z = distance

spherical coords 2 angles and distance (l)
x = l*sin(a)*cos(b)
y = l*sin(a)*sin(b)
z = l*cos(b)

Share this post


Link to post
Share on other sites
AP- Read before u reply.

I''m asking if it is possible to represent a cordinate in 3 space using three angles. I can''t visualize this, and i''m wondering if I am correct in thinking this is not possible. And if so is there a proof for such a thing?

Share this post


Link to post
Share on other sites
Maybe there''s a clever way to do this, but as far as I can see, you can''t. The reason why is that 3 angles will specify a certain line, but any point along that line will satisfy the same angles.

Share this post


Link to post
Share on other sites
The only thing why we talk about angles rather than linear values is the fact that angular values are cyclic, that''s all. Of course you can represent a point in 3D with 3 angles: the third angle would be a cyclic distance (for example) to the origine and the covered space would then be limited.
Angles or linear values - it''s hard to talk about them because it depends of your own representation of them (or about what you wanna do with them). It''s like a byte in memory: what makes it a signed or unsigned value? Nothing! It''s the way you evaluate it which allows you to make the difference

Share this post


Link to post
Share on other sites
Thanks MrFreeze, u helped me look at the problem from a different perspective. Now I am going to look at it with the coordinate system being bounded, this would give a reference distance which i can use the angles to scale against. This should allow me to be able to convert between systems.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The reason you cannot use angles alone is pretty obvious,
that would only have you rotating at the origin. You always
need a distance, in some form, to offset you away from the
origin in one or more directions.

Of course you can use several angles, 3, 4, whatever,
to represent the _orientation_, but as someone already
pointed out, additional angles will be redundant.

Recall that an Euler angle representation of orientation
uses just 3 angles corresponding to the concatenation of
rotating about x, then y, then the z-axis. Again this
is redundant you can find different rotation sequences
that give you the same end orientation.

Christer Ericson
Sony Computer Entertainment, Santa Monica

Share this post


Link to post
Share on other sites
Just think about a robot manipulator with 3 rotational degrees of freedom. Any position (x,y,z) can be described with a set of 3 angles (alpha,beta,gamma) and that''s enough. The combination (alpha,beta,gamma) is not unique and the more degrees of freedom you have, the more combinations you have to describe a position.

But basically you describe a position with 3 angles and I guess that''s what Infinisearch was talking about. 3 angles alone are not enough to describe a position: you also need to know about the relative transformations (translation, rotation) linking these joints, but these values are constants. When you use spherical coordinates, you also need some constant information (like which rotation is performed first and around which axis).

Remember that everything depends on the context: Should you have to solve a problem in a 3 dimensional non-euclidian space, it could be that 3 angles are better suited than 3 pure values to descibe a position!

Share this post


Link to post
Share on other sites
From a mathematicians perspective, I can say most definitely that you cannot uniquely identify any point in a 3-dimensional Euclidean space with 3 angles. By definition, an angle identifies a unique sub-manifold (in this case a line) by considering the sub-manifold to be an affine transformation (rotation) of a reference sub-manifold (line).

In lay terms, since angles only define lines, you cannot use a combination of angles to identify a unique point, only a unique set of co-linear points!

Additionally MrFreeze, having 3 degrees of freedom to move a robot arm does not uniquely define an orientation for the arm, unless you also impose an extra constraint, being an ordering on the rotations. The orientation of a robot arm has little to do with coordinate systems, but more to do orienting a fixed volume in a given space.

Cheers,

Timkin

Share this post


Link to post
Share on other sites
Hi Timkin,

I''m not a mathematician at all and was probably not clear enough.
Since everything is about game programming, talking abstract and mathematical perfectly correct is not my goal
In my ''practical'' mind a coordinate system can be seen in very very large way!

And if you read correctly I never talked about the orientation of a robot arm! I talked about its position (position of its end-effector if you want). Also an ordering of the rotations doesn''t matter at all for a robot arm:

alpha=alpha+3
beta=beta+4
gamma=gamma+5

or

gamma=gamma+5
beta=beta+4
alpha=alpha+3


gives the same position and orientation of the end-effector since all transformations are specified relatively and not absolutely!!

Cheers

Share this post


Link to post
Share on other sites
quote:
Original post by Timkin
From a mathematicians perspective, I can say most definitely that you cannot uniquely identify any point in a 3-dimensional Euclidean space with 3 angles. By definition, an angle identifies a unique sub-manifold (in this case a line) by considering the sub-manifold to be an affine transformation (rotation) of a reference sub-manifold (line).

In lay terms, since angles only define lines, you cannot use a combination of angles to identify a unique point, only a unique set of co-linear points!




Timkin, Thanks for putting that into words, the translation especially. I never heard the term manifold used in that context before.

Share this post


Link to post
Share on other sites
From another perspective...

Angles point to somewhere.
Anywhere on that direction can be the point.
Therefore, to describe a point you need a distance along that direction.

As for the end question...
I believe quaternions can represent a point in 3-space...am I right, Timkin ?

Bugle4d

Share this post


Link to post
Share on other sites
Quaternions are not my strong point... I''m not really a fan of hypercomplex numbers! Having said that though, to my understanding, quaternions do not represent a single point, but rather a noncommutative division algebra. One of the properties of the quaternion group is that it can be used to represent a rotation. The components of the quaternion are the Euler parameters of the rotation.

This leads to the fact that rotations are noncommutative (to respond to the insistance that they are). Imagine an aircraft undergoing the following rotation set (90 deg yaw right, 90 deg pitch up, 90 degree roll right). Now re-order these operations... (90 deg roll right, 90 deg yaw right, 90 deg pitch up). The aircraft does NOT end up in the same position, making the rotational operations noncommutative (you can think of each individual rotation in the set as a quaternion if you like, or all three together as a concatenated quaternion). Mathematically speaking, this means that rotations alone cannot form the basis set for a closed manifold, which would be necessary for them to be used as a coordinate system for that manifold.

Regards,

Timkin

Share this post


Link to post
Share on other sites
Timkin,

By god's sake, read carefully before replying!!!!!!!!!!!!!! This is the second time you put words in my mouth I didn't use!!

I never said that rotations are commutative!!!!!!! Of course they are not!
I talk about the case of a standard robot arm (I TALK ABOUT A ROBOT ARM!!!) with 3 rotational degrees of freedom! The ordering of the rotations is given in the case of a ROBOT ARM by its mechanical configuration. Now if you want to change the position of the endeffector there is no difference in saying:

alpha=alpha+3
beta=beta+4
gamma=gamma+5

or

gamma=gamma+5
beta=beta+4
alpha=alpha+3

since "all transformations are specified relatively and not absolutely!!" in the case of a ROBOT ARM for the rotations. (or do you really think that sending following commands to a robot arm will result in different positions/orientations of any part:

"turn 40 degrees around joint 1 then turn 35 degrees around joint 2"

or

"turn 35 degrees around joint 2 then turn 40 degrees around joint 1"

????

The position of the end-effector can be found with the absolute transformation:

Ttotal=TfirstJointRelative*R(alpha)*TsecondJointRelative*R(beta)*TthirdJointRelative*R(gamma).

As you can see in the above transformation, the ordering is fixed! (unless you want to do some soldering work). "TjointRelative" are the relative transformations linking one joint to another.

Well, I will not reply to this thread anymore, but please Timkin don't reply anymore unless you learn to read carefully.

Cheers

Edited by - MrFreeze on March 4, 2002 7:52:00 PM

Share this post


Link to post
Share on other sites
The alpha,beta,gamma specification for the state of a robot arm would have to be the silliest way of representing a point in 3d space there is. Not only do you need the position of the robot''s shoulder, but you also need orientation of the rest of the robot and the lengths of the limbs as well.

After this mistake and taking into account the context it''s no wonder Timkin misinterpreted you. And I got a lot out of his/her posts regardless so you''re being pretty selfish in asking him not to reply.

Share this post


Link to post
Share on other sites
Mr Freeze,

Getting frustrated and angry does not help clear up what you believe is a misunderstanding. If you don't wish to read this thread any further, then that is your choice. I would prefer though that we clear the air so that hostilities do not develop between us and muddy these forums.

As to the situation at hand... you entered into a discussion about coordinate systems and used an example of a robot arm to attempt to justify the use of 3 rotations as a coordinate system; you gave a robot arm as an example for locating points in 3-space. Firstly, as I said earlier, robot arms have nothing to do with coordinate systems... you yourself have since affirmed this when you say that rotations are relative to the orientation of segments of the arm. You even highlight this by giving an example of a robot arm with two joints and talk about the final position of the end of the arm. Clearly the joints are not co-located, making this an inappropriate comparison to a 3 angle coordinate system. Any coordinate system requires an origin about which ALL basis vectors are defined.

By attempting to use a robot arm to justify the use of 3 rotations for a coordinate system, it appeared that you were trying to affirm that 3 rotations were sufficient to locate any point in 3-space. Indeed in your earlier post you say exactly this. As I pointed out, rotations are noncommutative. I did not say that robot arm manipulations are noncommutative. You seem to have taken offense to something that was never said, nor even implied. It is quite possible that I incorrectly assumed that you were insisting that 3 rotations were sufficient to define a coordinate system, however, I only have what you wrote to go on.

As to the statement that I should read posts carefully... I do. Like anyone else, I do make mistakes and misinterpret things occasionally, however I do not think this is the case in this thread. I think that you have taken offense that your example is not being considered as a justification of a 3-rotation coordinate system and you have singled me out since I was the one to insist that mathematically, it is impossible to define a 3-rotation coordinate system for a manifold.

I would hope that you realise that by offering an example that bears little or no relationship to the problem at hand you have appeared to make a claim that is not true - that 3-rotations can define a coordinate system - and have hence confused the issue.

If you feel that this is an incorrect assessment of the situation and you wish to discuss this matter further, I think that we should take it to private email and not further distract the discussions taking place in this thread.

Regards,

Timkin

Edited by - Timkin on March 5, 2002 8:33:35 PM

Share this post


Link to post
Share on other sites

  • Advertisement