Example #1
0
        public ObjectSet Generate2DObjectSet(ObjectSetProperties2D objectSetProperties)
        {
            var objectSet = new ObjectSet();

            for (int i = 0; i < objectSetProperties.ObjectAmount; ++i)
            {
                objectSet.Add(Generate2DObject(objectSetProperties));
            }

            return(objectSet);
        }
Example #2
0
        private Object2D Generate2DObject(ObjectSetProperties2D objectSetProperties)
        {
            var objectWidthHeightRatio = rng.NextGaussian(
                (double)objectSetProperties.AverageObjectWidthHeightRatio,
                (double)objectSetProperties.ObjectWidthHeightRatioStandardDeviation,
                (double)objectSetProperties.MinObjectWidthHeightRatio,
                (double)objectSetProperties.MaxObjectWidthHeightRatio);
            var objectArea = rng.NextGaussian(
                (double)objectSetProperties.AverageObjectArea,
                (double)objectSetProperties.ObjectAreaStandardDeviation,
                (double)objectSetProperties.MinObjectArea,
                (double)objectSetProperties.MaxObjectArea);

            var objectHeight = Math.Sqrt(objectArea / objectWidthHeightRatio);
            var objectWidth  = objectArea / objectHeight;

            var rectangleObject = new Object2D(Math.Max((int)objectWidth, 1), Math.Max((int)objectHeight, 1));

            return(rectangleObject);
        }