コード例 #1
0
        public static void Draw2(ToothpickCollection toothpicks, int currentIteration)
        {
            var w = (double)(Console.WindowWidth - 2);
            var h = (Console.WindowHeight - 2);

            var xMin = toothpicks.xMin();
            var xMax = toothpicks.xMax();

            var yMin = toothpicks.yMin();
            var yMax = toothpicks.yMin();

            var iter = toothpicks.ToothpickIterations[currentIteration];

            foreach (var pick in iter)
            {
                var x0m = Utility.Map(pick.x0, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y0m = Utility.Map(pick.y0, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);

                var x1m = Utility.Map(pick.x1, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y1m = Utility.Map(pick.y1, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);

                Console.SetCursorPosition((int)x0m, (int)y0m);
                Console.Write('.');

                Console.SetCursorPosition((int)x1m, (int)y1m);
                Console.Write('.');

                DrawBetween(x0m, y0m, x1m, y1m, 10);
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(Console.LargestWindowWidth / 2, Console.LargestWindowHeight / 2);

            var iterationCount = 30;

            Console.WriteLine("Calculating..");
            var col = new ToothpickCollection(iterationCount);

            Console.Clear();
            //Draw(col);



            var pickCount = 0;

            for (int i = 0; i < iterationCount; i++)
            {
                Thread.Sleep(1000);
                // Console.Clear();
                Draw2(col, i);

                Console.SetCursorPosition(0, 0);

                pickCount = pickCount + col.ToothpickIterations[i].Count;
                Console.Write(i.ToString().PadRight(10) + pickCount);
                Debug.WriteLine(i + "\t" + pickCount);
                // Console.ReadKey();
            }


            Console.ReadLine();
        }
コード例 #3
0
        private void DrawToothpicks()
        {
            var toothpicks = new ToothpickCollection(5);

            foreach (var pick in toothpicks.Toothpicks)
            {
            }
        }
コード例 #4
0
        public static void Draw(ToothpickCollection toothpicks)
        {
            foreach (var pick in toothpicks.Toothpicks)
            {
                var w = (double)(Console.WindowWidth - 2);
                var h = (Console.WindowHeight - 2);

                var x0m = Utility.Map(pick.x0, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y0m = Utility.Map(pick.y0, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);

                var x1m = Utility.Map(pick.x1, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y1m = Utility.Map(pick.y1, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);

                Console.SetCursorPosition((int)x0m, (int)y0m);
                Console.Write("a");

                Console.SetCursorPosition((int)x1m, (int)y1m);
                Console.Write("b");

                DrawBetween(x0m, y0m, x1m, y1m, 10);
            }
        }
コード例 #5
0
        public Model3DGroup MakeCube(ToothpickCollection toothpicks, Vector3D lookDirection)
        {
            var picks = new Model3DGroup();
            var xMin  = toothpicks.xMin();
            var xMax  = toothpicks.xMax();

            var yMin = toothpicks.yMin();
            var yMax = toothpicks.yMin();

            var w = 5;
            var h = 5;

            foreach (var pick in toothpicks.Toothpicks)
            {
                var x0 = Utility.Map(pick.x0, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y0 = Utility.Map(pick.y0, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);

                var x1 = Utility.Map(pick.x1, toothpicks.xMin(), toothpicks.xMax(), 1.0, w);
                var y1 = Utility.Map(pick.y1, toothpicks.yMin(), toothpicks.yMax(), 1.0, h);
            }

            return(picks);
        }