Projecting vectors to transform an ellipsoid

So, I have some math under my belt, but I haven’t taken any courses that include vector math yet, so bear with me.

I have an ellipsoid class that generates ellipsoids in terms of Vector3is, with an (x, y, z) center. Now what I want to do is be able to rotate that ellipsoid in “any” direction. My question is, would projecting the Vector3is of the ellipsoid onto the Vector2ds of the Direction enum accomplish this task? I mean, of course it would, but more specifically:

  • Is this accomplish-able through Vector3i#project(Vector3i)?
  • Should I use the rounded, ceiled, or floored, directional or coordinate, Direction enum vectors?

Thanks for any replies

No, projecting the vector will distort the shape.

Projecting can be thought of having a vector, which is the original point/line and having a second vector, which is an infinite line/wall.

Projection is “shining a torch” perpendicular to the wall, causing a shadow of the original vector, and the result vector represents the shadow.

It’s a slightly bad analogy, because shadows in real life usually have a single light point and can distort the result, but I hope it’s good enough to help you understand how it’s not what you want to do.

Imgur
click for full image.

Sorry for imgur, but I was having troubles uploading images to the forums.

This is odd, because I was also having trouble. Stuck at 100%?

I think the forum may upload to imgur anyway.

Anyways, thanks for “shedding some light” on the situation. I’ve been working on calculating angles and rotating a vector by that angle, and I think that’s how I need to accomplish this.

Yeah, as far as I know the most performant way to do that, would be to create a rotation matrix between an origin vector representing the original rotation, and a rotation vector showing where the new origin vector should be translated to.

I’m sorry I couldn’t provide an example of this, as I’m unsure about several specifics, what point is it rotated around, can you do the transformation with a single matrix even using world co-ordinates rather then local co-ordinates to the oval.

I’d be keen to read what your solution was.