Показать сообщение отдельно
Старый 14.01.2016, 00:36  #298
Лорд Канистра
Лорд Канистра
ПМС КСМ
Регистрация: 28.05.2006
Адрес: 0x00000034 Прерывание: 0x00000015
Возраст: 33
Сообщения: 4,554
Замечания: 14


По умолчанию

Поехали браши, поехали крыши, поехали люди.
[ Цитата ] Сообщение от predA: 2 Enimakanaon: Я к тому, что отрезав часть локации что под градусом, её прилегающая часть к локации что под прямым углом, должна быть на одной оси, а не в центре квадрата сетки

Локация, то бишь один или несколько брашей, после поворота на непрямые углы никому ничего не должны. Вроде бы кто-то и пытался объяснить почему, но вы тут все почему-то увлекаетесь переходом на личности и ничего толком не выясняете. Не тем делом занимаетесь. Разложим проблему по порядку:

1) Есть браш, прямой, сетке следующий, замечательный.
2) Берём этот браш и крутим его на 45 градусов или вообще на что угодно, что не делится без остатка на 90.
3) Браш получается кривой, с вертексами не на сетке, поганый.

В пункте 1 проблем нету, в пункте 3 проблемы есть. Смотрим чо происходит в пункте 2:
- Берёт хаммер центр браша. Ну или общий центр брашей.
- Берёт хаммер все их вертексы и заказанный вами угол поворота.
- Считает хаммер новые позиции вертексов согласно магическим формулам.
- И готово.

А как же он, гадина, всё-таки считает эти позиции? Через старые добрые функции из школьной программы - синус и косинус. Ежели интересно повторить - за этим уж, и правда, извольте обратиться к учебным материалам.
Принимают эти функции угол в градусах и выдают своё значение - от -1 до 1. И так для поворота на какой-то там угол в одной плоскости у нас получается два значения от этих двух функций. А жопа здесь в том, что они ну никак не хотят договариваться и выдавать два красивых числа, ну например 0.5 и 0.5.

Вот имеем браш, чисто теоретический. А для простоты смотрим пока на один вертекс наверху. Этот вертекс сидит пока что прямо над центром браша, в 256 юнитах. Сделаем поворот на 30 градусов через Ctrl+M. Синус от 30 - 0.5. Умножили 256 на этот синус, получили 128. Вот и часть новой позиции - по одной оси.
А косинус от 30 - 0.866 с длиннющим хвостом. Вот и жопа наша пришла, 256 * 0.866 = 221.696. Значит по другой оси наш вертекс уже съехал. И пару правильных, красивых значений тут ну никак не получишь.

Хотя вру, конечно. Не зря и про 90 градусов упоминал. При значениях, которые делятся на 90 без остатка, эти функции выдают -1/0/1. Тогда и проблем не будет.

А в этом вашем случае с 45 градусами и синус, и косинус равны 0.7071 с опять каким-то хвостом. Ну вы понели. Да, и Ctrl+B / Snap to grid тут не сильно поможет в исправлении из-за этих же самых синусов - какой-то вертекс окажется на сетке, а расстояние до других по X/Y осям целым больше не будет.

Так что ещё раз - строить всё надо с самого начала под нужными углами. А сейчас - спасать вручную то, что имеется.
[ Миниатюры ]
Hammer_-_[_-_Top_[_READ_ONLY_]]_2016-01-14_00-25-12.png Просмотров: 146 Размер:  36.8 Кбайт  Hammer_-_[_-_Top_[_READ_ONLY_]]_2016-01-14_00-32-40.png Просмотров: 154 Размер:  84.6 Кбайт  
Лорд Канистра вне форума Ответить с цитированием