Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > алгоритм построения рисунка по точкам


Автор: Reptor 11.4.2007, 19:53
Даже не знаю как назвать и как описать задачу. Попробую так: есть множество точек и есть также 256 комбинаций которые указывают какие точки соединять. Так вот вопрос состоит в следующем как мне автоматически задать эти комбинайии. почему 256 потомучто есть восем выключателей 0 или 1. И в соответствии с комбинацией (11001101) нужно соединять точки (каждая комбинация содержти свой набор точек). Тоесть необходимо знать автоматически какие точки соединять что б не задавать набор точек для каждой из 256 комбинции, бо вдруг добавится ещё какое условие надо будет уже 512 комбинаций и те 256 старых менять.

Автор: _Y_ 12.4.2007, 10:44
Очень интересно и ничего непоняно. Может попытаетесь изложить в виде алгоритма, но с дырками там, где Вы не можете пока решить что делать?

Автор: Reptor 12.4.2007, 12:15
Ой я даже не знаю как еще расписать может если что не понятно задавайте конкретные вопросы. Но основная проблема состоит в том что как задать для каждой комбинации точки которые необходимо соеденять?

Автор: agl 12.4.2007, 14:18
Глянь http://algolist.manual.ru/olimp/per_prb.php#z5.

Автор: Reptor 12.4.2007, 14:54
agl, я что то не совсем понял как это мне поможет?

Автор: agl 12.4.2007, 15:00
Помоему, там ответ на твой вопрос:
Цитата
есть множество точек и есть также 256 комбинаций которые указывают какие точки соединять. Так вот вопрос состоит в следующем как мне автоматически задать эти комбинайии


Там решение переборных задач, уже помоему в первой показано как сделать перебор всех комбинаций.

Автор: Reptor 12.4.2007, 15:29
agl,  ну да это я понял я все комбинации переберу а вот как их относить к конкретному набору флагов, которые и указывают какие точки соединять?

Автор: agl 12.4.2007, 15:38
Если ты сможешь нормально описать что тебе нужно, тогда может кто-то тебе конкретно и подскажет. А я пока не понимаю сути твоей проблемы smile 
Сколько у тебя точек?  Где и как сохранены? Какая связь между выключателями и набором точек?

Автор: Reptor 12.4.2007, 16:14
точек у меня 36? они ни как не сохранены будут высчитываться по формулам (для каждой точки своя). И есть восемь выключаталей состояний которых может быть 256. и вот например если такой набор 11000010 то соединяются точки например первая, вторая, десятая, двадцатая если например 10011001 тогда соединяются  первая, вторая, десятая, ну и другие. Тоесть каждый флаг задает 4 точки. Например первый задает первых 4 точки (и если он включен то будут соединяться первых четыре) второй флаг 2-ых четыре и так далее. 
11010000 то будут соеденены первых 4 а потом дальше соединятся с 2-ими четырьмя потом 0 3-ие 4 пропустяться и дальше соединение пойдет с 4-ыми 4-я точками.....

Автор: agl 13.4.2007, 09:47
Цитата(Reptor @  12.4.2007,  16:14 Найти цитируемый пост)
Тоесть каждый флаг задает 4 точки.

8 * 4 = 32, а не 36

Цитата(Reptor @  12.4.2007,  15:29 Найти цитируемый пост)
ну да это я понял я все комбинации переберу а вот как их относить к конкретному набору флагов, которые и указывают какие точки соединять

Т.к. до конца так и непонятно, что там у тебя происходит, то самое простое что приходит в голову - заведи двухмерный массив размером 8 Х 4, где 8 - это кол-во флагов, а 4 - кол-во точек, которые надо отрисовывать, если флаг установлен в определенное состояние. Задай цикл, генерируй последовательность и по ней отрисовывай нужный граф и т.д.

Автор: Reptor 13.4.2007, 15:26
Цитата

8 * 4 = 32, а не 36


там есть еще 4 контрольных точки но это такое не самое главрое

Автор: agl 13.4.2007, 15:31
А с самым главным прояснилось или нет?

Автор: Reptor 13.4.2007, 15:47
agl, я даже не знаю как ещё можно выразить проблему.....сейчас..........может задай вопросы что не ясно? Может по наводящим вопросам что то и выйдет.

Добавлено через 1 минуту и 25 секунд
может если что я попытаюсь нарисовать картинку как и что происходит

Автор: Reptor 13.4.2007, 19:33
токо у меня есть проблема мне некуда рисунок выложить.

Автор: agl 13.4.2007, 22:37
Как же я могу задать вопросы? Была проблема связать флаг и точки, это все еще проблема? Или проблема как рисовать и т.д.?

Добавлено через 1 минуту и 47 секунд
Рисунок и здесь можно выложить, зайди в предворительный просмотр и внимательно под редактором все опции изучи.

Автор: Reptor 16.4.2007, 10:26
О вот я зделал 2 рисунка (для 3 флагов) на первом рисунке изображена комбинация 101 тоесть соеденены точки 1 2 3 8 9 10 11 а на втором рисунке комбинация 111 соеденены точки 1 2 3 4 5  6 7  9 10 11. Так вот надо вот так соеденять тоесть как видно при 101 точка  4 пропускаутся а при 111 она попадает и ведет уже туда к 5 и дальше? так вот мне надо зделать так что б при определенных комбинациях соеденялись определенные точки (координаты точек заданы и я их генерю сразу (тоесть все координаты точек известны заранее))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)