Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 14:44   #1
oblom
Пользователь
 
Аватар для oblom
 
Регистрация: 22.09.2007
Сообщений: 71
Сообщение Описание геометрической формы.

Доброго времени суток всем участникам.

Нужен совет.
Есть программа складывающая на сетке некоторые формы.



Так вот есть некоторая неопределенность как правильно описать форму что бы по этому описанию найти повторение формы в базе данных (текстовый файл).

Моя идея такова: Для определения формы нужны координаты, длина, и высоты. Для описания сегментов думаю применить алфавит.
Пример: описание формы из 4 кубиков X24L2A3B1 где x24 координата L2 длина AB описание высот. Возможные сложности максимальная длинна формы установленная опытным путем 20 сегментов поэтому и название будет СЛИШКОМ длинным.
Может быть есть другие способы!?

Буду премного благодарен за предложение.

Пользуюсь борланд билдер 6 С++

С уважением Андрей.
"Пилите, Шура, пилите. Они золотые".....

Последний раз редактировалось oblom; 31.05.2011 в 15:06. Причина: ошибки
oblom вне форума Ответить с цитированием
Старый 31.05.2011, 15:49   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

формы это группы соприкасающихся зеленых квадратиков?
если да, то можно попробовать так: рассматривать минимальный прямоугольник, содержащий фигуру, и использовать битовую маску. например для буквы L у Вас на картинке (вторая фигура слева-направо)

прямоугольник 2 х 3
маска:
1 0
1 0
1 1
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 31.05.2011, 17:23   #3
oblom
Пользователь
 
Аватар для oblom
 
Регистрация: 22.09.2007
Сообщений: 71
По умолчанию

Да формы это группы зеленых и красных клеток. Интересное предложение , но как быть с координатами?
Я тут подумал наверно останусь при своей версии упростив её до исключения высот равных 1 для оптимизации и экономии.
X28L7G2 например код фигуры для координаты 28 так как длина фигуры уже известна я опускаю прописывание всех высот равных единице.
Спасибо за идею lisyarus посмотрел на твои единички в маске и решил вот так вот оптимизировать.

Хотя думаю в плане реализации она будет сложной.

Порой хватает правильно сформулировать вопрос чтобы получить ответ на него.
"Пилите, Шура, пилите. Они золотые".....
oblom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции и процедуры формы описание ProgDel Помощь студентам 2 02.11.2010 21:28
Решение геометрической задачи на Паскале dancergirl Помощь студентам 2 09.04.2009 09:01
Определение геометрической фигуры kJlaCuk Паскаль, Turbo Pascal, PascalABC.NET 4 28.12.2008 19:18
Помогите с геометрической задачкой! Rid Паскаль, Turbo Pascal, PascalABC.NET 12 06.12.2008 23:14
Програма для вывода геометрической фигуры Hworang Паскаль, Turbo Pascal, PascalABC.NET 8 30.10.2007 19:42