2014-01-09 2 views
-1

i use C++ У меня есть 2d массив, состоящий из 0,1. 1 нарисуйте фигуру круга/квадрата/треугольника (только это 3, и возможно только 1 фигура). Фигура не касается границ. Он не превышает границ. Размер самой большой стороны или радиуса фигуры не менее 30 пикселей. Наименьший угол треугольника составляет не менее 10 градусов. Я попытался рассчитать частоты появления черных ячеек для каждой строки и столбца. Это должно позволить признать цифру, о которой я думаю.Определить фигуру бинарным двумерным массивом

Если кто-нибудь может дать какую-либо идею/код решения, это будет очень приятно.

+0

если у вас есть (1 1 \ n 1 1), это будет считаться квадратом или кругом? –

+0

ну, проблема, как правило, для цифр> 30px – user3178481

+0

- это фигуры, всегда центрированные и/или всегда одинаковые по размеру? – Hulk

ответ

0

Ищите вершины или углы. Угловой пиксель окружен меньшим количеством пикселей, чем краевой пиксель. Квадрат будет иметь 4 угла, меньше треугольника, а круг может иметь как много, так и ничего, в зависимости от того, как вы обнаруживаете углы. Кроме того, ваш минимальный размер и минимальный угол гарантируют, что два угла не будут близки друг к другу. Забавная проблема.

Смежные вопросы