Поигрался с этим алгоритмом. Вполне рабочий, легкий в реализации. Но, к моей практической задачи не подошел из-за некоторых особенностей построения сплайна. Здесь исходники.
Автоматическое проектирование, геометрическое моделирование и тд.
Конкретно я буду использовать этот алгоритм для контроля геометрических характеристик цилиндрических алюминиевых слитков на одном из российский заводов. Есть лазерные датчики, которые дают множество точек поверхности, затем по этим точкам генерируется интерполяционная поверхность.
Да, действительно.
Упустил из виду этот момент, акцентируя внимание на игнорировании горизонтальных линий.
Забавно, что сам автор ввел в дополнительное заблуждение своим ответом.
Поясните подробнее, пожалуйста. Не понял вашу мысль.
Сколько пересечений будет, если сложится ситуация как на моей картинке? По-хорошему должно быть 3 пересечения.
Но, судя по тому, что реализация автора проигнорирует горизонтальную грань (результат приведенных вами условий будет false), пересечений будет 2.
Луч уходит от точки влево (в реализации автора). Соответственно он пересекает только левые стороны ваших фигур. Кол-во пересечений в обоих случаях = 1.
Ну я правильно понимаю, что в этом случае вы пропускаете горизонтальные стороны?
Если ситуация будет как на картинке (извините за цвета, нарисовал быстро для примера), то ваша функция посчитает, что луч пересекает только зеленые грани, т.е. пересечений четное кол-во?
Я, к сожалению, python не знаю, поэтому ламерский вопрос: а что произойдет, если один или несколько сторон полигона окажутся строго горизонтальными и при этом точка окажется на прямой, к которой эта горизонтальная сторона принадлежит?
Другими словами что будет, если yp_prev == yp && y == yp?
Выделяемая память зависит от размеров исходного массива. А размер заранее неизвестен.
В задаче необходимо использовать всегда одинаковую память вне зависимости от исходных данных.
Плюсую.
Выполняю операцию по переводу денег, сразу открываю историю операций и вижу, что она проведена 4 часа назад.
Это связано с разницей в часовых поясах. Время операции фиксируется московское, а при отображении в истории отображается время телефона (локальное) минус время операции (московское), как итог «операция проведена 4 часа назад».
Не критично, но сбивает с толку и не приятно.
Для чего функцию «Мои финансы» вынесли на самый верх? Она, по сути, чисто для информации. Лично для меня эта функция не нужна или нужна очень редко, но место она занимает много и бесполезно.
Было бы не плохо иметь возможность сортировать вкладки или включать/выключать их в главном окне.
Капча, для которой достаточно мыши, гораздо удобнее как по собственному ощущению, так и по отзывам пользователей на собственных проектах.
По крайней мере всегда старался избегать вот таких решений: accent-shop.ru/vopros-otvet
Спасибо!
Конкретно я буду использовать этот алгоритм для контроля геометрических характеристик цилиндрических алюминиевых слитков на одном из российский заводов. Есть лазерные датчики, которые дают множество точек поверхности, затем по этим точкам генерируется интерполяционная поверхность.
Упустил из виду этот момент, акцентируя внимание на игнорировании горизонтальных линий.
Забавно, что сам автор ввел в дополнительное заблуждение своим ответом.
Сколько пересечений будет, если сложится ситуация как на моей картинке? По-хорошему должно быть 3 пересечения.
Но, судя по тому, что реализация автора проигнорирует горизонтальную грань (результат приведенных вами условий будет false), пересечений будет 2.
Если ситуация будет как на картинке (извините за цвета, нарисовал быстро для примера), то ваша функция посчитает, что луч пересекает только зеленые грани, т.е. пересечений четное кол-во?
Другими словами что будет, если yp_prev == yp && y == yp?
В задаче необходимо использовать всегда одинаковую память вне зависимости от исходных данных.
Далее каждый эл-т сравнить с соседними. Если ни одному не равен, то он искомый.
p.s Ну и название… 'CommandHelpers'
Выполняю операцию по переводу денег, сразу открываю историю операций и вижу, что она проведена 4 часа назад.
Это связано с разницей в часовых поясах. Время операции фиксируется московское, а при отображении в истории отображается время телефона (локальное) минус время операции (московское), как итог «операция проведена 4 часа назад».
Не критично, но сбивает с толку и не приятно.
Было бы не плохо иметь возможность сортировать вкладки или включать/выключать их в главном окне.
По крайней мере всегда старался избегать вот таких решений: accent-shop.ru/vopros-otvet