Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Заблокирован

Генерация ломаной кривой по списку прямых

17.12.2014, 13:44. Показов 2884. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача в том, чтобы из списка прямых отрезков отбить проекцию на одну, постоянную, из сторон рисунка . Эта задача стоит передо мною в рамках генератора карты высот по файлу STL . Вот думаю, как сделать так, чтобы код работал быстро.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2014, 13:44
Ответы с готовыми решениями:

Рисование ломаной и кривой
Народ, помогите плиз!!как нарисовать ломаную и кривую(рисовать должен пользователь)

Cоставить программу построения на экране ломаной кривой
Помогите составить программу построения на экране ломаной, длины звеньев которой образует арифметическую прогрессию, а угол поворота...

Вычислить длину кривой, соответствующей функции y=f(x) на отрезке [a,b], приближенно заменив кривую ломаной
Вычислить длину кривой, соответсвующей функции y=f(x) на отрезке ,приближенно заменив кривую ломаной,полученной в результате разбиения...

30
Заблокирован
11.04.2015, 23:54  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Не получится.
не, ну построение кривой будет не буквально по вершинам, тут ещё подумать надо как строить, не просто так. просто так не получится - согласен, нужен способ. должна быть и кривая не простая. в общем я подумаю, это лучше чем просто пользоваться готовым решением. если не получится, то буду делать как ты говоришь. я уже не мало способов придумал в рамках этой программы простой (я по мере её написания просто опыта набираюсь ещё), которую я пишу не просто.

Добавлено через 2 часа 35 минут
ну вот что получается, я не знаю как называется это в ТРИЗе, но, что означает не буквальность оговоренная выше:
то, что пересечение прямых отрезков - одновременное их перекрытие по разным осям. что за перекрытие я объясню позже. за идеальный образ скорее всего будет взять тот, что все отрезки пересекаются, изначально, если они не параллельны. если они не параллельны, а это просто проверяется, то высчитывается число перекрытий двух отрезков, если оно превышает n, то они пересекаются. не стал пока рисовать схему, есть у меня простенькая прога для подобных работ, завтра схему нарисую. а вообще идея о перекрытиях базируется вот от этой генерации двух ломаных кривых, ну разумеется там не всё буквально, некоторые отрезки составляющие одну из ломаных кривых указывают и на последовательность обработки. в общем вроде так вот. завтра я всё это обдумаю получше.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2015, 14:34
Цитата Сообщение от Hretgir Посмотреть сообщение
одновременное их перекрытие по разным осям. что за перекрытие я объясню позже.
Вы о том что если отрезки пересекаются, то пересекаются их проекции на все оси? Это необходимое но недостаточное условие пересечения. Идя кстати по этому пути придете к "алгоритму художника" удаления невидимых поверхностей. Он медленнее Z-буффера, при этом из результатов его работы Z-буффер (карту высот) еще придется генерировать искуствено.
0
Заблокирован
12.04.2015, 23:01  [ТС]
ну так-то да. я решил, что лучше создать массив с упорядоченными левым вершинами по оси икс, правые вершины пока, допустим в другом массиве, не важно. берётся первая вершина и следующая (другого отрезка), если другая вершина выше, а первый отрезок не кончился, то соответственно перекрываем или делаем то, что необходимо. ну в общем плясать надо от одних вершин, левых, а правые вершины используются уже только для расчётов. но все равно так удалится большая часть отрезков и пикселы для них считать не надо будет, а только для ломаной кривой полученной. ну этот вариант тут уже возможно был "озвучен", а я не вник или не уделил внимания ударившись в какие-то свои идеи.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2015, 23:24
Цитата Сообщение от Hretgir Посмотреть сообщение
но все равно так удалится большая часть отрезков и пикселы для них считать не надо будет, а только для ломаной кривой полученной.
Во первых все равно получится дольше чем отрисовать. Потому как 1, придется сравнить координаты каждой вершины с координатами каждой другой вершины как минимум 2 раза. При этом работа с векторными координатами потребует насколько понимаю арифметики с плавающей точкой а отрисовка идет целочисленно. Ну еще один такой момент - добавление в уже построенную карту еще одного произвольного отрезка в случае Z-буффера быстро и без проблем. В случае же любого векторного алгоритма потребует полного пересчета

Добавлено через 10 минут
Ну и еще - с отрисовкой так же добавляются окружности, эллипсы, Кривые Безье, при том что тоже имееются целочисленные алгоритмы отрисовки этих примитивов.
0
Заблокирован
12.04.2015, 23:27  [ТС]
не знаю, всё зависит от точности карты. если поверхностей (отрезков) будет много, а точность высокой - то зэд буфер задумается надолго, проще посчитать по вершинам.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.04.2015, 23:45
По вершинам еще дольше. Z-буффер имеет линейную зависимость от сложности сцены а любой векторный алгоритм квадратичную. На самом деле Z-буффер является развитием алгоритма художника в сторону ускорения.
0
Заблокирован
13.04.2015, 08:36  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
а любой векторный алгоритм квадратичную
ерунда, я хорошо знаю линейную и не линейную математику (как минимум разницу междеу ними). в вузах намеренно внедряются нелинейные решения, тогда как линейные быстрее и точней. мне раз на сессии навязывали решение задачи каким-то раковым способом, я им говорил что эта задача решается по другому (при наличии мозга у решающего, если мозгов нет - то да, лучше заучить то, что предлагается), но тогда преподаватель начал на ходу придумывать условия задачи, не оговоренные в ней, да ещё так, что только поржать впору над неумением врать.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.04.2015, 15:49
Цитата Сообщение от Hretgir Посмотреть сообщение
мне раз на сессии навязывали решение задачи каким-то раковым способом, я им говорил что эта задача решается по другому
А мне обычно на экзаменах говорили и решил, и теорему доказал, но учебник не открывал.
0
Заблокирован
13.04.2015, 15:53  [ТС]
Ну и такое вполне может быть. Я в каком-то классе на сдаче экзамена по геометрии отвечал на 5, не явившись ни на один урок за целый год. Пять мне правда не поставили, по причине отсутствия на уроках, но мне об этом так и сказали, преподавательница знала, что я, зная несколько ключевых теорем за год выведу и докажу любую сам, ничего особо сложного там нет (главное знать ключевые места, ну мне их никто не указывал, я их сам видел в учебнике).
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.04.2015, 16:36
Цитата Сообщение от Hretgir Посмотреть сообщение
Я в каком-то классе на сдаче экзамена по геометрии отвечал на 5
Вот именно такая ситуация у меня была на "векторной алгебре и численных методах", ну а на "вычислительной геометрии" (у нас эти предметы отдельно были а не в общем курсе математики) все было еще проще "бегом за хвостовками оболтусы, экзамен позавчера был"

Добавлено через 6 минут
Кстати по абсолютно всем тестам производительности Z-буффер обходит другие алгоритмы и именно с квадратичной зависимостью от сложности сцены. Причем при использовании для отрисовки с расчетом освещения зависимость куда круче чем квадратичная, т.к. Z-буффер позволяет избежать просчета освещения для одного пикселя несколько раз. Сложности с Z-буффером только с прозрачными примитивами. Но у вас насколько понимаю прозрачности и близко нет.
0
Заблокирован
13.04.2015, 16:39  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но у вас насколько понимаю прозрачности и близко нет.
да, только карта высот
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2015, 16:39

Найти координаты пересечения кривой и прямых
Не могу разобраться как найти координаты точек `a` и `b` (пересечение кривой с М1 и М2); и найти точку `K` (между точками a и b провести...

На плоскости задано множество прямых. Найти количество пересечений этих прямых
На плоскости задано множество прямых. Найти количество пересечений этих прямых плиз помогиите с решением!!

Ветвление. Даны уравнения прямых. Выяснить, какие из этих прямых параллельны
Написать программу: Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих прямых параллельны и указать, если...

Ветвление. Даны уравнения прямых. Выяснить, какие из этих прямых перпендикулярны
Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих прямых перпендикулярны или указать, если таковых не...

Даны уравнения прямых ..... Выяснить, какие из этих прямых перпендикулярны
Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих прямых перпендикулярны или указать, что таковых не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru