Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2008, 22:00   #1
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию Уравнение плоскости

Немного теории о коэффициентах общего уравнения плоскости
A = y1 *(z2 - z3) + y2* (z3 - z1) + y3* (z1 - z2)
B = z1 *(x2 - x3) + z2* (x3 - x1) + z3 *(x1 - x2)
C = x1 *(y2 - y3) + x2* (y3 - y1) + x3* (y1 - y2)
- D = x1* (y2 *z3 - y3 *z2) + x2* (y3* z1 - y1* z3) + x3* (y1* z2 - y2* z1)
{или по-другому D = -x1 *(y2* z3 - y3* z2) - x2 *(y3* z1 - y1* z3) - x3* (y1* z2 - y2* z1)}

Знак s = Ax + By + Cz + D определяет, с какой стороны по отношению к плоскости находится точка (x,y,z). Если s > 0, то точка лежит в той стороне, куда указывает нормальный вектор (A,B,C). Если s < 0 - на противаположной стороне, а в случае s = 0 точка принадлежит плоскости.
взято отсюда

На основе этого, вычисляю для двух точек (x, y, z) и (NewX, NewY, NewZ)
s1:=A*x+B*y+C*z-D;
s2:=A*newx+B*newy+C*newz-D;
if s1*s2<0 then то точки разные стороны плоскости
и получаю совершенно верный результат и дальнейшие построения (в том числе на бумаге) подтверждают это. Если же +D (по теории), то получаю результат для плоскости симметричной относительно начала координат.

Хотесось бы знать с чем это связано? Может я ошибся где?
eoln вне форума Ответить с цитированием
Старый 26.09.2008, 22:11   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Никоим образом не хочу вас оскорбить.
Но, по-моему, вы слишком буквально поняли название раздела "Помощь студентам" (кстати, он находится в рубрике "Новички в программировании").
Согласитесь, что и форум наш называется "Клуб программистов", а не "Студенческий клуб" или "Клуб математиков".
Боюсь, что по вашему примеру сюда скоро начнут обращаться студенты-химики, потом (не дай бог), студенты-гуманитарии...
Все же мы пытаемся оказывать помощь именно в вопросах ПРОГРАММИРОВАНИЯ.
Вопросы, не относящиеся к программированию, способствуют лишь засорению форума...

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

Последний раз редактировалось mihali4; 27.09.2008 в 13:02.
mihali4 вне форума Ответить с цитированием
Старый 26.09.2008, 22:22   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Да вобщем-то я уже и не студент, а это для программирования надо. Вобщем такой казус появляется когда я плоскость поворачиваю командой glRotate(alpha, 1, 0, 0);

За спамеров особое спасибо

Перефразирую вопрос
Может это потому что glRotate поворачивает оси координат, а не мою плоскость и из-за этого всё симметрично?

Последний раз редактировалось eoln; 26.09.2008 в 22:42.
eoln вне форума Ответить с цитированием
Старый 27.09.2008, 09:08   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

а какой геометрический смысл у коэффициентов A, B, C, D.

A, B, C -поворот плоскости относительной координатных осей

D ??? последний определяющий параметр смещение относительно центра координат
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.09.2008, 09:14   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

поправка не поворот а наклон плоскости относительно осей
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.09.2008, 09:22   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Спасибо за участие, уже разобрался - все углы поворота умножил на -1
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
точки плоскости, заданные своими координатами, попадают в круг с радиусом R Jondeer Общие вопросы C/C++ 6 16.06.2008 00:06
Как с помощью Microsoft Excel написать программу, позволяющую перемещать предмет на плоскости? Vova4kA Microsoft Office Excel 10 28.05.2008 14:18
на координатной плоскости, координаты в ручную Proskurin Помощь студентам 5 18.04.2008 13:31
Написать класс - прямые на плоскости. Red Devel Помощь студентам 7 22.01.2008 15:23