the approach that I suggested puts the points in the correct plane, and in the correct position, in one step.
You make it sound like doing it in one step is a panacea. It isn't.
For example, if you are modeling planet gears rotating around a sun gear, you cannot combine the counter-rotations in to single matrix. And if the sub gear is not centred at the view origin, then additional discrete steps are required.
And there many other situations where the the individual parts of a combined transform have to be applied as discrete steps--in the right order--to achieve the final effect. Another example that comes to mind is when you have to translate a set of points to the origin before applying scaling in order to avoid distorting their relative positions.
As I said before, it is better to understand the discrete steps before attempting to combine them.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
You are reading something into what I said that I wasn't saying. Yes, I think that one simple step is better than several more complicated steps. But as Einstein said, make things as simple as possible but not simpler. Obviously there are many cases where you really need multiple steps. In those cases trying to cram everything into one step is as bad as trying to cram too much into one line of code. You will get no disagreement on that from me!
Still, and I am speaking here as someone who has taught linear algebra at the university level, the solution that I presented is the textbook solution to this type of problem. The only concepts that you need are that you can put a coordinate system on your subspace starting with a finite set of points (you need one more than the dimension of the space), and then use that coordinate system to write down the affine transformation if you know where those points go.
I won't put any more effort into trying to convince you of the merits of the textbook solution. This is a programming forum, not a mathematics class. Nor does it seem productive to continue to respond if you read this post as saying something else that I didn't say. So unless someone has a genuine question, I am leaving this conversation.
| [reply] |