Пример #1
0
        internal void Translate(HTCoordE zs, HTCoordE ze)
        {
            HTCoordE zo = new HTCoordE(drawRoot.GetOldCoordinates());

            zo.X = -zo.X;
            zo.Y = -zo.Y;
            HTCoordE zs2 = new HTCoordE(zs);

            zs2.Translate(zo);

            HTCoordE t  = new HTCoordE();
            double   de = ze.D2();
            double   ds = zs2.D2();
            double   dd = 1.0 - de * ds;

            t.X = (ze.X * (1.0 - ds) - zs2.X * (1.0 - de)) / dd;
            t.Y = (ze.Y * (1.0 - ds) - zs2.Y * (1.0 - de)) / dd;

            if (t.IsValid())
            {
                HTTransformation to = new HTTransformation();
                to.Composition(zo, t);

                drawRoot.Transform(to);
                view.Repaint();
            }
        }
Пример #2
0
        internal void Divide(HTCoordE z)
        {
            double d  = z.D2();
            double tx = x;
            double ty = y;

            x = ((tx * z.X) + (ty * z.Y)) / d;
            y = ((ty * z.X) - (tx * z.Y)) / d;
        }
Пример #3
0
        internal void Translate(HTCoordE zs, HTCoordE ze)
        {
            HTCoordE zo = new HTCoordE(drawRoot.GetOldCoordinates());
            zo.X = -zo.X;
            zo.Y = -zo.Y;
            HTCoordE zs2 = new HTCoordE(zs);
            zs2.Translate(zo);

            HTCoordE t = new HTCoordE();
            double de = ze.D2();
            double ds = zs2.D2();
            double dd = 1.0 - de * ds;
            t.X = (ze.X * (1.0 - ds) - zs2.X * (1.0 - de)) / dd;
            t.Y = (ze.Y * (1.0 - ds) - zs2.Y * (1.0 - de)) / dd;

            if (t.IsValid())
            {
                HTTransformation to = new HTTransformation();
                to.Composition(zo, t);

                drawRoot.Transform(to);
                view.Repaint();
            }
        }
Пример #4
0
 internal void Divide(HTCoordE z)
 {
     double d = z.D2();
     double tx = x;
     double ty = y;
     x = ((tx * z.X) + (ty * z.Y)) / d;
     y = ((ty * z.X) - (tx * z.Y)) / d;
 }