Вообщем сначало сравниваеш модули x и y элементов. Если модуль икса больше, то вектор смотрит больше вдоль оси Х. А потом проверяеш число отрицательное или положительное, чтобы узнать в какое направление оси. так ты для 4х сторон найдеш. как более уточнить направление даже самому интересно. Возможно придется норимровать вектор.
!eee, Я спрашивал как мне изменить размер массива? Можно самому написать такую функцию private static float[] join(float[] arr1, float[] arr2) { float[] arr = new float[arr1.length + arr2.length]; System.arraycopy(arr, 0, arr1, 0, arr1.length); System.arraycopy(arr, arr1.length, arr2, 0, arr2.length); return arr; } Но т.к. есть arraycopy, то можно было бы сделать и метод соединяющий массивы.
!eee, это не значит, что нельзя написать метод, который создает новый массив из двух старых. Но вообще, всего не напишешь, если так лень писать свое, то можно воспользоваться сторонними библиотеками.
Malcolm, если лень писать свое, то сторонее из-за пары вункций и вообще лень. Просто не хочется засаряд код такими мелкими функциями. Функция вроде не на много менее редкая, чем arraycopy. Можно было бы и реализовать. Кстате, что arraycopy делает в классе System? Вроде для работы с массивами есть специальные классы.
DDDEN!SSS, я лично сейчас не вспомню случая, когда бы мне пригодилось бы ее наличие. Наверное, были такие случаи, но достаточно редко, чтобы в памяти это не отложилось. Засорять код вовсе не обязательно, просто выделил классы с вот такими простыми функциями и все, так многие делают, и я в том числе. О arraycopy: он находится в System, а не в Arrays по историческим причинам. Arrays появился только в JDK 1.2, а System был всегда.
31 авг 2011 в 17:58