2016-09-09 10 views
0

zB:Wie ein 3D-Punkt, um den anderen 3D-Punkt machen

Vector3D point = new Vector3D(1, 0, 0); 
    var targetRotatePoint = new Point3D(-1, 0, 0); 
    AxisAngleRotation3D axisAngle = new AxisAngleRotation3D(new Vector3D(0, 1, 0), 180); 
    RotateTransform3D myRotateTransform = new RotateTransform3D(axisAngle,targerRotatePoint); 

    var result= myRotateTransform.Transform(point);\\is same point*myRotateTransform.Value 

die reult ist [-1,0,0], aber ich hoffe, das Ergebnis ist [-3,0,0].

i auch eine andere Methode zuerst Drehen denken und dann Translation

Antwort

0

Ihre erste Zeile muss lauten:

Point3D point = new Point3D(1, 0, 0); 

In Ihrem Code Sie einen Vektor und das Ergebnis verändern die einen Vektor der Dreh ist unabhängig von das Zentrum der Rotation.

Verwandte Themen