Frank Hileman
11/1/2004 5:44:00 PM
Hello Faustino,
I don't recommend the System.Drawing.Drawing2D Matrix class for anything
except creating transformations for Graphics objects. It is inefficient, and
a class instead of a value type, making it clumsy as well. You are better
off using a custom Matrix struct.
> -The angle used by Matrix.Rotate() increases clockwise. But as long as I
> understand in "normal" mathematics the angle increases the reverse. The
> Math
> functions like Math.Sin understand angles increasing non-clockwise. So if
> I
> want to use Matrix.Rotate I should also convert my angles to this
> "reversed"
> coordinate system.
It is reversed only if the y coordinates go down instead of up.
There are other matrix classes out there. You may wish to look on
codeproject. If you need a GDI+ specific Matrix struct for 2d graphics, that
is lighter and faster than System.Drawing.Drawing2D.Matrix,
there is one in the free VG.net runtime called FMatrix. This one also uses
degree angles.
Regards,
Frank Hileman
check out VG.net: www.vgdotnet.com
Animated vector graphics system
Integrated Visual Studio .NET graphics editor