# How to show / change local space vs world space?

Two objects (b and c) are parented to object A. If I move A, then b and c move with it and their location (x, y, z) remains the same. So that must mean "Location" is showing Local Space.

https://docs.blender.org/manual/en/dev/rigging/constraints/interface/common.html

In [local space] the parent of the object (or bone) is the frame of reference. Location is relative to the parent object origin. Rotation and Scale are oriented to the parent object axes. Only transformations to the object itself are taken into account. Transformations to the object’s parent and any other constraints higher up in the constraint stack are not taken into account.

Why does b have a location of 5,5 and c of 0,0? (we are ignoring z coordinates as we are not using them in this question) If they are both children of A, then should not they both show the relative local space coordinates? Why is c 0,0? As you can see the object origins are all in the center of each object.

Now try this. Move A to 10,10 and then duplicate it. Move the duplicate (let's call it D) to 5,5. Now we have two non-parented objects. D is in between World Center and A. Now make D a child of A. The coordinates do not change to Local Space. D will still show 5,5 instead of -5,-5! How can D and c both have the same x,y coords of 5,5 if they are both children of A and both on opposite sides of A? Shouldn't they have different coordinates whether it's showing local space or world space?

How can you change from viewing/editing local space to viewing/editing world space? How on earth does blender's location system work? Goodness gracious.

• I would move the second part of your question with duplicating and elaborate on it with screenshots as it's a bit hard to imagine what's going there. As to the first part, afaik all the transforms are given in the global coordinates. The reason why coordinates of the child objects become kind of relative to parent is that child objects inherit transforms of the parent object, As to 0,0,0 coordinates for your C object - what transforms did it have before parenting? Commented Jun 9, 2017 at 22:02
• I think the issue here is that the local coordinates you describe are not relative to the parent object. If you put the child object in the exact same place as the parent object, the two objects won't necessarily have the same coordinates. The child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned, and which rotates, translates, and scales with the parent object. Commented Jun 10, 2017 at 5:00
• @MrZak The second part is simple. Move A to x=10, y=10 then duplicate A to new object D. Move D to x=5, y=5. Now make A a parent of D. It will still be at x=5, y=5. This makes no sense because D and b are both on opposite sides of A, both are children of A, and both have same location (x=5, y=5). How can this be explained? I'm getting the impression no one knows how blender coords work. You say "child objects become kind of relative to parent". What is "kind of relative"?
– Xuan
Commented Jun 10, 2017 at 12:36
• @LukasValine You say "child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned". So there is some mystery point that child objects are relative to which is lost forever after you move the parent?
– Xuan
Commented Jun 10, 2017 at 12:38
• @MrZak You ask "what transforms did it have before parenting?" How would I know that? Does a blender user have to keep a log file in a notebook of every transform to make sense of current coordinates? Please explain. Thank you.
– Xuan
Commented Jun 10, 2017 at 12:41