Голубев Владимир#268
Conversation
| && rectangle.Bottom > other.Top; | ||
| } | ||
|
|
||
| public static Point[] GetVertices(this Rectangle rectangle) |
There was a problem hiding this comment.
Зачем возвращать массив, если ты потом все равно просто итерируешь? Можно проще?
| @@ -0,0 +1,18 @@ | |||
| namespace TagsCloudVisualization.Geometry; | |||
|
|
|||
| public class Rectangle | |||
There was a problem hiding this comment.
Зачем свой? Что помешало взять из System.Drawing?
| Y = y; | ||
| } | ||
|
|
||
|
|
There was a problem hiding this comment.
Тут какие-то лишние строчки и в коде видел лишние пробелы на концах строк. Сделай форматирование в проекте, пожжалуйста.
| @@ -0,0 +1,17 @@ | |||
| namespace TagsCloudVisualization.Geometry; | |||
|
|
|||
| public class Point | |||
There was a problem hiding this comment.
Тот же вопрос: что помешало взять стандартный класс?
| @@ -0,0 +1,18 @@ | |||
| namespace TagsCloudVisualization.Geometry; | |||
|
|
|||
| public class Size | |||
| (int)(offsetX + rectangle.Left * scale), | ||
| (int)(offsetY + rectangle.Top * scale), | ||
| (int)(rectangle.Size.Width * scale), | ||
| (int)(rectangle.Size.Height * scale)); |
There was a problem hiding this comment.
А тут всё равно округляем и, оказывается, можно было и в целочисленной системе жить. :)
| var scaleX = settings.Width * settings.CloudScaleFactor / cloudWidth; | ||
| var scaleY = settings.Height * settings.CloudScaleFactor / cloudHeight; |
There was a problem hiding this comment.
А вот зачем settings.CloudScaleFactor - непонятно. Вроде выглядело так что ты пытался автоматически поместить облако в заданные размеры, но вмешался какой-то фактор извне. Зачем?
| [Квадратики](Clouds/squares.png) | ||
|
|
||
| # Тысяча прямоугольников рандомного размера | ||
| [Прямоугольники](Clouds/random_rectangles.png) No newline at end of file |
There was a problem hiding this comment.
Я бы предпочел чтобы прямоугольники выглядели как типовые слова (соотношения сторон 1 к 7-12 может быть).
| [SetUp] | ||
| public void SetUp() | ||
| { | ||
| center = Point.Zero; |
There was a problem hiding this comment.
А что ели не в центре начать, вдруг всё сломается?
| new(0.001, 0.0004), | ||
| new(0.003, 0.002), | ||
| new(0.0002, 0.0002)}) | ||
| .SetName("SmallRectangles"); |
There was a problem hiding this comment.
Когда я в списке тестов вижу что упал тест с названием "SmallRectangles", причем там у такого теста два результата - это сказало мне совсем ни о чем.
А если бы было "Размещение малых прямоугольников не уложилось в заданную плотность" и отдельно "Размещение малых прямоугольников привело к пересечениям" - было бы сразу понятно.
| var image = visualizer.CreateImage(layouter.Rectangles, center); | ||
| new BitmapCloudSaver().SaveToFile(image, fileName, ImageFormat.Png); | ||
| } | ||
| } No newline at end of file |
There was a problem hiding this comment.
Давай докинем тест на временнУю сложность. Что прогон на большом массиве укладывается во время и что время растет более-менее линейно, а не эспоненциально (а это спорно))).
…n' into homework/tags-cloud-visualization # Conflicts: # cs/TagsCloudVisualization/Clouds/1000_rectangles.png
@LevShisterov