Я думаю, что эти две ссылки могут вам очень помочь ...
Анимация положения 3D-камеры в WPF
(есть также пример проекта, чтобы попробовать!)
Поворот камеры с помощью мыши
Я согласен, что, возможно, XNA будет лучшим решением для трехмерных ситуаций, но встроенная поддержка 3D и аппаратное ускорение рендеринга также являются фантастическими функциями WPF и XAML!
Как видите, 3D-камера для XAML Viewport3D
идеально подходит для приложения, также используя привязки:
<Viewport3D.Camera>
<PerspectiveCamera x:Name="camera"
UpDirection="0,0,1"
LookDirection="{Binding RelativeSource={RelativeSource Self}, Path=Position, Converter={StaticResource lookBackConverter}}"
Position="0,0,0" />
</Viewport3D.Camera>
... и просто обычная IValueConverter
реализация, позволяющая камере двигаться:
public class LookBackConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return new Point3D(0,0,0) - (Point3D)value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}