Beispiel #1
0
        // transform input point pt1, (rotate "aX, aZ" and move to "center")
        public static void Transform(Mesh3D model, Point3D center, double aX, double aZ)
        {
            var angleX = Math.PI * aX / 180;
            var angleZ = Math.PI * aZ / 180;

            var nVertNo = model.GetVertexNo();

            for (var i = 0; i < nVertNo; i++)
            {
                var pt1 = model.GetPoint(i);
                // rotate from z-axis
                var x2 = pt1.X * Math.Cos(angleZ) + pt1.Z * Math.Sin(angleZ);
                var y2 = pt1.Y;
                var z2 = -pt1.X * Math.Sin(angleZ) + pt1.Z * Math.Cos(angleZ);

                var x3 = center.X + x2 * Math.Cos(angleX) - y2 * Math.Sin(angleX);
                var y3 = center.Y + x2 * Math.Sin(angleX) + y2 * Math.Cos(angleX);
                var z3 = center.Z + z2;

                model.SetPoint(i, x3, y3, z3);
            }
        }
Beispiel #2
0
 // set the projection matrix
 public void CalculateProjectionMatrix(Mesh3D mesh, double scaleFactor)
 {
     CalculateProjectionMatrix(mesh.m_xMin, mesh.m_xMax, mesh.m_yMin, mesh.m_yMax, mesh.m_zMin, mesh.m_zMax,
                               scaleFactor);
 }