Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Положение точки относительно полигона (BSP)

1.9K
25 марта 2007 года
0xf001
96 / / 24.05.2005
Собсна сабж.
Я это делаю функцией:
if (VecScalarProizv(root->nodeface.normal, eye) < root->parametr_D)
т.е. если результат < 0 то точка лежит в отрицательном пространстве полигона.
Вот функция скалярного произведения векторов:
 
Код:
double VecScalarProizv(float *vec1, float *vec2)
{
    double rc;
    rc = sqrt((vec2[0]-vec1[0])*(vec2[0]-vec1[0]) +
              (vec2[1]-vec1[1])*(vec2[1]-vec1[1]) +
              (vec2[2]-vec1[2])*(vec2[2]-vec1[2]));
    return rc;
}


Проблема в том, что эта функция тормозит нипадецки. Было 70фпс, стало 30-35.
Помогите пожалуйста, кто знает более быстрые способы определения положения камеры относительно полигона!
1.9K
26 марта 2007 года
0xf001
96 / / 24.05.2005
сорри, это был необъяснимый программный глюк. сейчас всё работает ОК.
Спасибо за внимание.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог