コード例 #1
0
ファイル: ArchimedeanSpiral.cs プロジェクト: KotlyarovV/tdd
        public bool CheckBalancedPointOnSpiral(Point point)
        {
            var spiral        = new ArchimedeanSpiral(Center, angleStep, SpiralRadius);
            var balancedPoint = spiral.BalancePoint(spiral.GetPoint());

            while (point.GetDistance(Center) - balancedPoint.GetDistance(Center) > RadiusDifference)
            {
                balancedPoint = spiral.BalancePoint(spiral.GetPoint());
                if (balancedPoint == point)
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #2
0
        private Point ChoosePoint()
        {
            Point point;

            do
            {
                var pointOnSpiral = Spiral.GetPoint();
                point = Spiral.BalancePoint(pointOnSpiral);
            }while (Rectangles.ContainPoint(point));
            return(point);
        }