снова я sorry

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 03.06.2004 (Чт) 7:23

3)и еще один вопрос - допустим он определил что это линии - как их скопировать в отдельный имедж лист(или picturebox) и подписать - что это линии

XATTAB
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 08.05.2004 (Сб) 23:48
Откуда: Russia,Saint-Peterburg

Сообщение XATTAB » 04.06.2004 (Пт) 0:49

Держи кусочек проги там по минимуму показана идея.
Только при определении фигуры (линии например) из-за неточности
точек может не определяться фигура(прямоугольника это не касается).
Надо придумать способ измерения того насколько массив точек похож на фигуру , которую определяешь.
Если там что ни так то уж сильно не суди.:oops:
На безрыбье и рак летать сможет. :D
Кто не был на марсе, тот много потерял!!!

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 04.06.2004 (Пт) 10:39

2XATTAB
а где прога? :)
2 mikle
если это возможно - поподробнее

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 06.06.2004 (Вс) 9:18

Подожди пару дней... занят. :cry:

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 07.06.2004 (Пн) 7:55

нет проблем - жду!!!! :)

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 07.06.2004 (Пн) 13:31

Расписал кое-что, немного изменил. Все описывать - текста больше, чем кода, получится. Особенно определение линий - описать сложно, а это, всего лишь, решенные уравнения линии.
Вот:

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 07.06.2004 (Пн) 13:47

спасибо

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 07.06.2004 (Пн) 13:50

а можешь написать по какому алгоритму это всё ты реализовал
тоесть объясни пошагово
например: (сканировал точки сверху вниз и слева на право квсе черные кидал в масив, сверял там с..)
я просто еще не посмотрел на исходник - если вдруг что то не так написал - извеняюсь

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 11:07

напиши плиз
1)по какому алгоритму ты находил фигуры
2)я вот тут подумал - ведь можно треугольник так находить пусть при сканировании он находит три точки допустим две крайние левые и правые вверху, и однай миним нижняя внизу или наоборот - трегольник
что Думаешь

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 11:46

дополнение
или еще 1 точка max верхняя
2 точка средння крайняя левая или права
3 точка min нижняя
потом сверяет что три точки это треуголник
что типа этого можешь дописать в прогу

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.06.2004 (Вт) 13:21

Для произвольно ориентированного треугольника это сложно.

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 13:22

ну а по какому принцепу ты находил остальные фигуры - опиши

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.06.2004 (Вт) 13:41

Линии:
Есть мин и макс координаты. Получается прямоугольник из четырех квадрантов:
........
.1. 2.
........
.3. 4.
.......
С помощью:
M = M + ((Way(n).X - MinX - 0.0001) / (MaxX - MinX - 0.0001) - 0.5) * ((Way(n).Y - MinY - 0.0001) / (MaxY - MinY - 0.0001) - 0.5)
подвожу статистику, формула дает положительный результат для 1 и 4 квадрантов. Результат дает возможность ответить, как расположена линия, так "\" или так "/". Соответственно линия будет либо:
minx,miny - maxx,maxy
либо:
minx,maxy - maxx,miny
Дальше проверяю, расположены ли точки между началом и концом. Если да - это линия.

Прямоугольник:
Если все точки содержат хотя бы одну из координат:
minx,maxy,maxx,miny
- это прямоугольник.

Круг - расстояние от всех точек до центра равно радиусу.

Во всех сравнениях допускаю некоторые отклонения.

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 13:55

а за треугольник принимаешь оставшейся
а как тогда мусор , допустим нарисованы уголки(недарисованный треугольник)

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.06.2004 (Вт) 13:57

Да, именно так.

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 13:59

а как тогда мусор (недарисованные треугольники)уголки

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.06.2004 (Вт) 14:06

Отсеивается мелкий мусор - по размеру. А если нарисовать что-нибудь нестандартное, напр. овал или ромб - распознается как треугольник :cry:

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 14:09

ладно - надо дома посидеть - придумать алгоритм для треугольника ну а тот что я писал(не последния а где 2 вверху и одна внизу или наоборот) - он в принцепе пригоден

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 08.06.2004 (Вт) 14:10

2 Mikle
Ты не мог бы подпобно описать алгоритм для прямоугольника
бр-р тоесть сам код - его подробно расписать - построчно

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 16.06.2004 (Ср) 12:52

2 mikle
каким методом ты пользовался - как твой алгоритм называетса

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 17.06.2004 (Чт) 10:24

Если бы знать, я его придумал... :lol:

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 18.06.2004 (Пт) 4:48

я вот такой вопрос - как он у тебя распознает вложенные фигуры

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 18.06.2004 (Пт) 8:40

А какая разница? Если вложенная фигура нигде не касается внешней - заливка ее не коснется, то есть она будет найдена одним из следующих проходов FindNext.

TX
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 26.04.2004 (Пн) 10:44
Откуда: RUссия

Сообщение TX » 21.06.2004 (Пн) 12:40

спасибо

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 27

    TopList