Измерение угла

Главная Форумы Задать вопрос Измерение угла

В этой теме 3 ответа, 3 участника, последнее обновление  Legantmar 2 года/лет, 2 мес. назад.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #5012 Score: 0

    Vladimir
    Участник
    13 pts

    Господа, не подскажете, как найти у стены угол относительно оси Х? То бишь есть массив стен, надо так же массивом выдернуть их углы отн-но оХ.

    #5013 Score: 1

    Legantmar
    Хранитель
    459 pts

    я думаю как то можно через Orientation.X и Orientation.Y (далее перевести декартовы координаты в полярные)
    попытался через arcos (знак ” – ” зависит от начала построения стенки, т..е. слева направо, к примеру, положительный угол, а если справа налево, то отрицательный):

    скачать скрипт 

    #5015 Score: 0

    Oleg
    Участник
    30 pts

    А можно ли что-то подобное найти у категории ограждения? На сколько я понял, у этой категории нет OrientationX. Поскольку ограждения выполняются через “эскиз”, то может есть возможность через набор линий эскиза как-то вытащить угол? Я понимаю, что эскиз не обязательно в виде одной прямой.

    Может, скажем, в цикле проанализировать набор линий эскиза и вытащить наиболее длинный элемент, и вот уже у этого элемента найти угол к горизонтали или вертикали?

    #5016 Score: 1

    Legantmar
    Хранитель
    459 pts

    вот так можно:

    Сделал для одного ограждения.

    def U(elem):
    a = UnwrapElement(elem)
    return a

    x = round(U(IN[0]).GetPath()[0].Direction.X, 2)
    y = round(U(IN[0]).GetPath()[0].Direction.Y, 2)
    angle = round(degrees( acos(x/(sqrt(y*y + x*x) ) )) , 2)

    OUT = angle

    Спасибо Альберту Валиеву за подсказку GetPath

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)

Для ответа в этой теме необходимо авторизоваться.