**jwinn replied on 12-17-2009 6:04 AM**

The built-in components for Infer.NET do not include distributions directly over rotation matrices or factors which could handle such distributions directly. You could add your own
distribution and
factors but this would be a substantial piece of work.

An alternative which would work in many applications is to discretise your rotation e.g. into N steps of 360/N degrees. To do this you first set up an array of N rotation matrices for each rotation angle. You can then use a random int (Variable<int>)
ranging from 0 to N-1 to index these matrices - this int will be the discretised rotation.

This discretised method is simple and flexible and can easily be used for other transformations as well e.g. translation/scale.

Best,

John W.