• Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at \$59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.

Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!

Posted 12 June 2013 - 05:01 PM

You divide the x, y, z values by the w component to get the position in 3D space which is embedded in the 4D projective homogeneous space.

So (x, y, z, w) = (1, 1, 1, 1) and (x, y, z, w) = (2, 2, 2, 2) both refer to the same point in 3D space, (1, 1, 1).

For direction vectors, w is 0, which would cause division by zero. These correspond to points at infinity in 3D space in the direction of the x, y, z components.

That's basically it in a nutshell.

4D coordinates are used because you can represent any affine transform in 3D space with a (4x4) matrix. You can't do that in 3D space because the origin of 3D space (0, 0, 0) always maps to the origin after being transformed by a matrix (so translations are impossible in 3D space using just a matrix).

That doesn't happen in homogeneous 4D space since the origin of 3D space is represented by (0, 0, 0, 1) [or (0, 0, 0, w) for w != 0].

(0, 0, 0, 0) doesn't correspond to to any point or direction in 3D space, and is not a valid value for 4D homogeneous projective space.

So 4D vectors (x, y, z, w) with w != 0 corresponds to all points in 3D space and all directions ("points at infinity") in 3D space as well.

Hope that helps.

Posted 12 June 2013 - 05:00 PM

You divide the x, y, z values by the w component to get the position in 3D space which is embedded in the 4D projective homogeneous space.

So (x, y, z, w) = (1, 1, 1, 1) and (x, y, z, w) = (2, 2, 2, 2) both refer to the same point in 3D space, (1, 1, 1).

For direction vectors, w is 0, which would cause division by zero. These correspond to points at infinity in 3D space in the direction of the x, y, z components.

That's basically it in a nutshell.

4D coordinates are used because you can represent any affine transform in 3D space with a (4x4) matrix. You can't do that in 3D space because the origin of 3D space (0, 0, 0) always maps to the origin after being transformed by a matrix (so translations are impossible in 3D space using just a matrix).

That doesn't happen in homogeneous 4D space since the origin is (0, 0, 0, 1) [or (0, 0, 0, w) for w != 0].

(0, 0, 0, 0) doesn't correspond to to any point or direction in 3D space, and is not a valid value for 4D homogeneous projective space.

So 4D vectors (x, y, z, w) with w != 0 corresponds to all points in 3D space and all directions (points at infinity) in 3D space as well.

Hope that helps.

Posted 12 June 2013 - 05:00 PM

You divide the x, y, z values by the w component to get the position in 3D space which is embedded in the 4D projective homogeneous space.

So (x, y, z, w) = (1, 1, 1, 1) and (x, y, z, w) = (2, 2, 2, 2) both refer to the same point in 3D space, (1, 1, 1).

For direction vectors, w is 0, which would cause division by zero. These correspond to points at infinity in 3D space in the direction of the x, y, z components.

That's basically it in a nutshell.

4D coordinates are used because you can represent any affine transform in 3D space with a (4x4) matrix. You can't do that in 3D space because the origin of 3D space (0, 0, 0) always maps to the origin after being transformed by a matrix.

That doesn't happen in homogeneous 4D space since the origin is (0, 0, 0, 1) [or (0, 0, 0, w) for w != 0].

(0, 0, 0, 0) doesn't correspond to to any point or direction in 3D space, and is not a valid value for 4D homogeneous projective space.

So 4D vectors (x, y, z, w) with w != 0 corresponds to all points in 3D space and all directions (points at infinity) in 3D space as well.

Hope that helps.

Posted 12 June 2013 - 05:00 PM

You divide the x, y, z values by the w component to get the position in 3D space which is imbedded in the 4D projective homogeneous space.

So (x, y, z, w) = (1, 1, 1, 1) and (x, y, z, w) = (2, 2, 2, 2) both refer to the same point in 3D space, (1, 1, 1).

For direction vectors, w is 0, which would cause division by zero. These correspond to points at infinity in 3D space in the direction of the x, y, z components.

That's basically it in a nutshell.

4D coordinates are used because you can represent any affine transform in 3D space with a (4x4) matrix. You can't do that in 3D space because the origin of 3D space (0, 0, 0) always maps to the origin after being transformed by a matrix.

That doesn't happen in homogeneous 4D space since the origin is (0, 0, 0, 1) [or (0, 0, 0, w) for w != 0].

(0, 0, 0, 0) doesn't correspond to to any point or direction in 3D space, and is not a valid value for 4D homogeneous projective space.

So 4D vectors (x, y, z, w) with w != 0 corresponds to all points in 3D space and all directions (points at infinity) in 3D space as well.

Hope that helps.

PARTNERS