| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > прямые, проходящие через черные точки |
| Автор: toshkaexe 19.2.2007, 12:41 | ||
задача, есть точка на картинке с координатами (x,y) нужно нарисовать, например, при прямые(c определеннм наклоном), проходящие церез эту точку.
это я сделал, теперь нужно е из N-ого количества прямых, проведеных через точку (x,y) оставить ту прямую, которая проходит через максимальное количество черных точек на картинке. подскажите, как это можно сделать. |
| Автор: AntonChik 19.2.2007, 13:26 | ||||
| делаешь массив int n[360]; обнуляешь все его элементы на всяк.случ. в цикле перебираешь все точки каждой линии т.е. в своем коде вместо
пишешь типо
короче с математикой я мог накосячить, но зацепка думаю есть... |
| Автор: toshkaexe 19.2.2007, 13:44 | ||||||
вопрос. почему три точки ищем? |
| Автор: AntonChik 19.2.2007, 13:50 |
| а, ну да. эт я туплю - мне показалось что надо 3 прямых найти... ну да, ищи одно макс. значение из n[360] |
| Автор: toshkaexe 19.2.2007, 14:11 |
| поясните формулу yy=(y0-y)+(xx-(x0-x))*(x/y); уравнение касательной? может быть вы имели виду yy=(y-y0)+(xx-(x-x0))*(y/x); только такое преобразование не рисует сплошные линии, а лишь точки... |
| Автор: AntonChik 20.2.2007, 08:14 |
| не касательной, а грубо говоря каждого диаметра... почему лишь точки? ну а что мешает уменьшить интервал??? сделать не j++ ,а там j+=0.001 , ну естественно j есть float |