LINUX.ORG.RU

fabric js - Определить противоположные вершины, стороны или углы многоугольника

 ,


0

1

Возможно это простая задача. Но то-то не понимаю. И в сети почему-то нет списка решений

Пример многоугольника https://i.ibb.co/QXq2jjr/against-side-2021-12-05-13-04-29.png

Как видно не все так очевидно.

Есть все углы, коэффициенты наклонов сегментов.

Ну и как определить противоположные вершины, стороны или углы этого многоугольника ?

★★
Ответ на: удаленный комментарий

Да Жаль. А так зато тебя тоже можно покрыть не проходимым толстым слоем )

Речь о евклидовом пространстве. Не поняли см. картинку

Но такие сложные многоугольники и все же на плоскости (Не 3D) не рассматривают в 7 классе

mirek ★★
() автор топика
Ответ на: комментарий от mirek

А что, для шести и восьмиугольника условие задачи сильно поменяется? Сформулируй для начала, что именно у тебя дано и что ты хочешь получить.

grem ★★★★★
()
Ответ на: комментарий от grem

Но вообще сам номер вершины ни о чем не говорит

Допустим 10-я вершина И что? Надо решение для многоугольника вообще, а не для того, что на картинке

То есть в js 10-я вершина просто данные в массиве координат

Например 9-я вершина 120, 240 и 10-я 130, 235

Но координаты никак не связаны с порядковым номером вершины

mirek ★★
() автор топика
Ответ на: комментарий от mirek

Не обращай внимания на агрессивность, это же лор. Но просто так даже тут не агрятся. У тебя задача действительно нечетко поставлена. Если исходить, что противоположные вершины, это вершины, которые лежат в другой полуплоскости, полученной разбиением плоскости радиусом, перпендикулярным радиусу к текущей вершиные, то нужно просто определить нормаль к текущему радиусу и если вершина по другую сторону - то она противоположная. Но это пальцем в небо, что тебе надо.

anonymous
()
Ответ на: комментарий от anonymous

Но просто так даже тут не агрятся.

А то что он всех в 11-й класс отсылает это нормально? …

anonymous
()
Ответ на: комментарий от anonymous

то нужно просто определить нормаль

Может что-то получится с этим

Только вот интересно ) Что если вычислять среднее арифметическое коефициентов наклона сегментов то получается почти 90 град.

То есть в четырехугольнике поворот 90 град на смежной стороне А у противоположной поворот тоже 90 или 180 вместе со смежной.

И это считать можно просто через углы вершин н-угольника или через коефициенты наклона результат такой приближенный )

Через коефициенты почти 90 град.Через углы вершин почти 180

Нигде не нашел обьяснения этому «феномену» в литературе )

Хотел найти формулу точного вычисления)

mirek ★★
() автор топика
Ответ на: комментарий от mirek

Только вот интересно ) Что если вычислять среднее арифметическое коефициентов наклона сегментов то получается почти 90 град.

То есть в четырехугольнике поворот 90 град на смежной стороне А у противоположной поворот тоже 90 или 180 вместе со смежной.

И это считать можно просто через углы вершин н-угольника или через коефициенты наклона результат такой приближенный )

Через коефициенты почти 90 град.Через углы вершин почти 180

Нигде не нашел обьяснения этому «феномену» в литературе )

Хотел найти формулу точного вычисления)

Это ничего не нужно.

Есть сторона многоугольника. Она же отрезок.

  1. Находите середину этого отрезка.
  2. Проводите через неё перпендикуляр отрезку.
  3. Обходите все стороны многоугольника и выясняете – пересекаются ли они с перпендикуляром.
  4. Те которые пересекаются – противоположны. Если встречают перпендикуляр внутренней стороной (если двигаться от исходного отрезка).

Всего несколько небольших подзадач, которые легко гуглятся.

anonymous
()
Ответ на: комментарий от anonymous

внутреннюю сторону отрезка нужно учитывать только в случае впуклого гомнольника.

deep-purple ★★★★★
()
Ответ на: комментарий от anonymous

Всего несколько небольших подзадач, которые легко гуглятся.

Ваш алгоритм нагнется на первой же стороне )

Он выдаст сторона 1 противоположна стороне n

Это не так

См. рис того как это произойдет ) https://i.ibb.co/rdMQpYY/against-sides2-2021-12-05-15-04-09.png

mirek ★★
() автор топика
Ответ на: комментарий от mirek

Он выдаст сторона 1 противоположна стороне n

Это не так

Это так. Она ей противоположна. Иначе поясняй, какая у тебя тогда считается противоположной. Да, экстрасенсы уехали на битву, поэтому догадываться никто не будет. Придётся пояснять.

anonymous
()
Ответ на: комментарий от anonymous

Это так. Она ей противоположна. Иначе поясняй,

Вот на рис. синей линией противоположная сторона

https://i.ibb.co/Kq7Q8Kw/sides5-2021-12-05-22-39-01.png

То есть для этого случая https://i.ibb.co/rdMQpYY/against-sides2-2021-12-05-15-04-09.png

Противоположной к n - 1 будет сторона 1

Но сторона 1 если через перпендикуляр то не будет противоположна n - 1

mirek ★★
() автор топика
Ответ на: комментарий от mirek

Но сторона 1 если через перпендикуляр то не будет противоположна n - 1

И?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.