AboutPhilip Lafeber Expertise I have been specialising in knowledge analysis and modelling. I have an interest in the way models of programs, architectures, business processes and the like are properly made and analysed. What`s meant by `properly` depends on the goal you`re trying to achieve. The analysis of this goal and the way it can best be realised is something you might want to ask me about.
Experience
Past/Present clients University of Amsterdam, Bolesian, Canon europa, Solveware, NetlinQ
Question Sup. I was wondering if you could please answer one question for me…
I have an assignment for algebra that requires me to prove how a certain topic from algebra is used in the real world. Now, for my topic I chose to do matrices. I figured that matrices would be used freguently in programming, and so since you must have taken computer programming courses and are a computer programmer yourself I was wondering if you could (please) tell me how often you need to use matrices and what kind of problems would require one to use matrices within your programming world.
Answer Sup yourself. :)
It is really a cool topic to tackle because I have found this to be one of the biggest problems in making education relate to 'the real world'.
It is a funny choice though, because I absolutely HATE matrices. Still, I can give you a good relation to the real world there because I know it is used in robotics.
Robots need to maneuver in the world and for that they could in principle work with just one 3-dimensional matrix; a vertical axis, a forward/backward axis, and a left/right axis all centered around one original point in space (I hope you can picture this. If not, let me know and I will explain further. If you happen to know about airplanes; it is the same as a longitudinal axis, lateral axis, and vertical axis controlling speed, altitude, drift along the axis and yaw, pitch and roll around the axis).
But when they move, their own position and attitude changes. So how to calculate this in terms of the real world? Well, we need another matrix of the same nature that we place in a fixed point in the world. This is where we start to multiply matrices; by for instance taking one point in the world as starting point (M1), and one as a goal (M2), which matrix (MM) is needed to finalise the formula M1*MM=M2. When you have calculated what MM must be, you have defined a vector that will take you from your start to your goal and then the robot can follow that vector to reach its goal. For instance, in a room, with a robot that can only go over the floor, going from position (4.2,8.5) to (0,1.0) would require us to move (-4.2,-7.5) or 4.2 meters this way and 7.5 meters that way, depending on how your world orientation is positioned.
And I don't mean just a matrix of (x1,y1,z1)*(xM,yM,zM) = (x2,y2,z2)! It is also the orientation that counts. You want to define your position in space as 3 vectors in space, so you don't only say "I am in position x,y,z" but for instance "I am turned +42 degrees over the longitudinal axis, +5 degrees over the vertical axis and -9 degrees over the lateral axis. That is why you need a full matrix multiplication to get the answer.
Oh, do you think that is difficult? We have omitted one more thing, no two! They are speed and acceleration. From my start to my goal I also need to move with a certain speed and accelerate and decelerate to get there. I may want to stand still at my goal, or I may want to end up going in a particular direction with a particular speed. Oh no, more vectors!
But wait. We have socalled robotic arms. There are robots with one or more arms because a robot has to be able to do something. They need to be able to flex the arm, for instance to open a valve, pick up a rock sample or defuse a bomb. For each of these joints, you need another matrix to calculate their orientation along the robot.
This is where I started to get confused, annoyed and I really couldn't picture it any more. Even though it is a marvelous field of autonomous robots, mapping 2-dimensional matrixes of their camera images to the real world, trying to find the easiest way through a room, along a crater or oving over the surface of Mars. Even cars that drive you automatically, or household robots that already exist and move through your house hoovering without bumping into your furniture.