Exemplo n.º 1
0
        public static MultiVector CreatePoint(MultiVector v)
        {
            if (IPNS.GetGeometricEntity(v) != GeometricEntity.Vector)
            {
                throw new InvalidEntityException();
            }

            return(v + 0.5 * MultiVector.ScalarProduct(v, v) * Basis.E8 + Basis.E0);
        }
Exemplo n.º 2
0
        public static void GetPointParams(MultiVector obj, out MultiVector x)
        {
            MultiVector temp;
            double      r;

            IPNS.GetSphereParams(obj, out temp, out r);

            if (r != 0.0)
            {
                throw new InvalidEntityException();
            }

            x = temp;
        }
Exemplo n.º 3
0
 public static MultiVector CreateSphere(double e1, double e2, double e3, double r)
 {
     return(IPNS.CreatePoint(e1, e2, e3) - 0.5 * r * r * Basis.E8);
 }
Exemplo n.º 4
0
        public static MultiVector CreateCircle(MultiVector n, MultiVector c, double r)
        {
            double d = (double)MultiVector.ScalarProduct(c, n);

            return(IPNS.CreatePlane(n, d) ^ IPNS.CreateSphere(c, r));
        }
Exemplo n.º 5
0
 public static MultiVector CreateSphere(MultiVector c, double r)
 {
     return(IPNS.CreatePoint(c) - 0.5 * r * r * Basis.E8);
 }