LINUX.ORG.RU

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

 ,


0

1

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

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

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

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

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

★★
Ответ на: комментарий от no-such-file

Какая сторона противоположна стороне A и почему

У стороны А только одна противоположная сторона Это D

Потому-что эти стороны параллельны

Но у меня так не получится А мне надо, что-бы был только 1 вариант

Сторона n-1 противоположна стороне 1 А вариант когда сторона 1 противоположна стороне n надо отбросить

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

У стороны А только одна противоположная сторона Это D

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

мне надо, что-бы был только 1 вариант

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

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

Потому-что эти стороны параллельны

Мощно ты на ходу переобуваешься. Вот же ты привёл пример где нет параллельных сторон. https://i.ibb.co/rdMQpYY/against-sides2-2021-12-05-15-04-09.png

Т.е. тут у A нет противоположных сторон?

   /\B /\C
  /  \/  \
A|        \ D
 | /\  /\  /
 |/F \/E \/
no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от deep-purple

Хуже ))

Озвучил бы он что-ли всю задачу.
Скрытность на пустом месте …

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

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

Если задача — найти противоположный угол/сторону (в зависимости от чётности) в обывательском/даунском смысле, ответов может быть и несколько. Тогда можно строить и нормали/биссектрисы и прочей порнографией страдать. Если в математическом смысле здорового человека, решение вполне однозначно и выглядит как-то вот так:

function against(vertices, vIndex, isSide) {
  var isOdd = vertices.length & 1
  var nextEl = vIndex + (vertices.length>>1)
  if(!isSide && isOdd || isSide && !isOdd)
    return [vertices[nextEl], vertices[nextEl + 1]]
  else return vertices[nextEl]
}

Код не проверялся, но идея именно такова. Остальное — разброд, шатания и повод для флейма и манипуляций.

И да, в Web development такому не место.

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

Кстати в этом случае человек легко найдет противоположные стороны

Даже человек бам-бам который прочел только статью на параше

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

Спасибо всяким хоббитам за то, что разводят такой паноптикум с ЭДК.

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

Представьте себе Представьте себе ИИ )

Расскажите какие успехи?

Что касается противоположной стороны со стороны ИИ, то попробуйте понять какая сторона является по вашему мнению противоположной и в
соответствии с эти алгоритм разработайте …

А мы тута дярёвня, ЛАПТЯМИ ЩИ ХЛЕБАЕМ ...
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.