コード例 #1
0
        private devDept.Eyeshot.Entities.Region BuildRegion()
        {
            // Face
            Circle outer = new Circle(Point3D.Origin, 6);

            // Eyes
            Ellipse inner1 = new Ellipse(new Point3D(-2, 2, 0), 0.5, 1);
            Ellipse inner2 = new Ellipse(new Point3D(2, 2, 0), 0.5, 1);

            // Mouth
            Circle  circle = new Circle(Point3D.Origin, 4);
            Point3D i1;
            Point3D i2;

            CompositeCurve.IntersectionLineCircle3D(new Line(-10, 0, 10, 0), circle, out i1, out i2);
            Arc arc1 = new Arc(new Point3D(0, 2, 0), i1, i2);

            ICurve[] segments;
            circle.SplitBy(new List <Point3D> {
                i1, i2
            }, out segments);
            CompositeCurve inner3 = new CompositeCurve(new List <ICurve>()
            {
                arc1, segments[1]
            });

            // Smile region
            devDept.Eyeshot.Entities.Region reg = new devDept.Eyeshot.Entities.Region(new List <ICurve> {
                outer, inner1, inner2, inner3
            });
            reg.ColorMethod = colorMethodType.byEntity;
            reg.Color       = System.Drawing.Color.FromArgb(255, 180, 30);
            reg.TransformBy(new Translation(12, 25, 0) * new Rotation(Math.PI / 2, Vector3D.AxisX));

            return(reg);
        }