6.02.2013 / 17:59 | |
BorderFol Пользователь Сейчас: Offline
Имя: Юрий Бахмацкий Откуда: Хмельницкий Регистрация: 20.08.2011
| Чтобы повернуть матрицу 3х3 на угол, нужно матрицу поворота умножить на свою матрицу ?
|
7.02.2013 / 11:17 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| BorderFol, да. Только сначала привести их к нулевым координатам, иначе ерунда получится.
Изменено DominaN (7.02 / 11:18) (всего 1 раз) |
7.02.2013 / 14:57 | |
Ecio Пользователь Сейчас: Offline
Имя: Костя Регистрация: 13.01.2010
| В универе это алгебра=)
|
7.02.2013 / 19:02 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| Чтобы проверить пересечение двух отрезков, можно создать массив из всех точек одного отрезка, и всех точек другого, и проверить , есть ли одинаковая точка в обох массивах. Это только теоретически.
|
7.02.2013 / 19:15 | |
ckrocket Пользователь Сейчас: Offline
Имя: Miha Откуда: Петербург Регистрация: 31.05.2012
| Dinisimys (07.02.2013/19:02) Чтобы проверить пересечение двух отрезков, можно создать массив из всех точек одного отрезка, и всех точек другого, и проверить , есть ли одинаковая точка в обох массивах. Это только теоретически.нет. это очень не удобно и жрет много памяти. нужно в школе учиться было(или слушать, не знаю чем вы там занимались). В полезных кодах я выкладывал код, находящий точку пересечения |
7.02.2013 / 19:19 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| ckrocket, в школе слушаю, но об этом нам не говорили, вроде |
7.02.2013 / 19:21 | |
ckrocket Пользователь Сейчас: Offline
Имя: Miha Откуда: Петербург Регистрация: 31.05.2012
| Dinisimys, это 5-7 класс где-то. Значит плохо слушали. Нужно уметь практически свои знания применять. Об этом не могли не говорить. Кстати идея слишком безумная. Очень производительность зависит от длины отрезков
Изменено ckrocket (7.02 / 19:22) (всего 1 раз) |
7.02.2013 / 19:24 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| Процедура ищет пересечение двух отрезков заданных своими конечными точками. Первый отрезок: (x1(1),y1(1));(x2(1),y2(1)). Второй отрезок: (x1(2),y1(2));(x1(2),y1(2)). В результате может получится три варианта пересечения: точка, отрезок, пустое множество.
Прямая содержащая i-й отрезок задается при помощи уравнений: x=x1(i)+t(i)(x2(i)-x1(i)) y=y1(i)+t(i)(y2(i)-y1(i)) при этом точка на прямой принадлежит отрезку, если t лежит внутри отрезка [0,1]. Следовательно, пересечением отрезков будет точка если существует решение (t(1),t(2)) системы: t(1)(x2(1)-x1(1))+t(2)(x1(2)-x2(2))=x1(2)-x1(1) t(1)(y2(1)-y1(1))+t(2)(y1(2)-y2(2))=y1(2)-y1(1) и при этом и t(1) и t(2) лежат в отрезке [0,1]. Если хотя бы одно из t(i) не удовлетворяет этому условию, то пересечением отрезков будет пустое множество.
Вопрос усложняется если не существует решения системы, тогда либо прямые содержащие отрезки параллельны и пересечение отрезков пусто, либо они совпадают и пересечение зависит от взаимного расположения концов отрезков на прямой.
В результате работы процедуры, вид пересечения можно определить рассматривая переменную s, а именно: Если s=0, то пересечение является пустым множеством. Если s=1, то пересечение - точка и ее координаты находятся в переменных x,y. Если s=2, то пересечение отрезок и координаты его концов возращаются в переменных x11,y11;x12,y12.
|
7.02.2013 / 19:33 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| ckrocket, мы начинали учить векторы с 9 класса, и то изучались только основы. Такого мы не учили. Возможно школьные программы отличаются.
|
7.02.2013 / 19:44 | |
ckrocket Пользователь Сейчас: Offline
Имя: Miha Откуда: Петербург Регистрация: 31.05.2012
| Dinisimys (07.02.2013/19:33) ckrocket, мы начинали учить векторы с 9 класса, и то изучались только основы. Такого мы не учили. Возможно школьные программы отличаются.векторы там не нужны
|