<font color='black' size='2' face='arial'>
<div> <font size="2"><br>
Thinking about this a little more, you can get 3d quaternion rotations using a cairo matrix with the restriction that you only get one rotation. This is assuming z=0 for the rotation. After one rotation z wouldn't be 0 anymore. That would mean you would have to put your 3d rotation and drawing in a cairo_save(), cairo_restore() pair to use it for several consecutive drawings. It wouldn't be directly compatible with Cairo's other 2d tranforms either. Not too bad though considering you get 3d rotation of a plane without changing anything internally in Cairo.<br>
<br>
https://github.com/cecashon/OrderedSetVelociRaptor/blob/master/Misc/cairo_drawings/rotation1.c<br>
<br>
Eric</font><br>
</div>
<br>
</font>