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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2017, 20:50   #1
vova_makar
Пользователь
 
Регистрация: 14.04.2015
Сообщений: 22
По умолчанию пересечение прямых с плокостями C++

Нужно написать две функции:
Код:
bool Intersect(Ray2f, Line);
bool Intersect(Ray3f, Plane);
я написал 3 структуры:
Код:
struct Ray2f
{
    Ray2f(Point2f& origin, Vector2f &dir);
    ~Ray2f() = default;

    Point2f mOrigin;
    Vector2f mDir;
};

struct Ray3f
{
    Ray3f(Point3f& origin, Vector3f& dir);
    ~Ray3f() = default;

    Point3f mOrigin;
    Vector3f mDir;
};

struct Plane
{
    Plane(Point3f& point, Vector3f& normal);
    ~Plane() = default;

    Point3f mPoint;
    Vector3f mNormal;
};
нашел формулу: t = (n*(B-A)) / n*c

Но как эту формулу использовать я не могу понять в моих функциях
B-А - это вектор.
vova_makar вне форума Ответить с цитированием
Старый 20.03.2017, 11:43   #2
vova_makar
Пользователь
 
Регистрация: 14.04.2015
Сообщений: 22
По умолчанию

от так я сделал, посмотрите правильно ли:
Код:
bool Intersect(const Ray2f& ray, const Line& line)
{
    Vector2f perpDir = perp(line.mDir);
    float planePop = (perpDir * (ray.mDir))/ (perpDir * ray.mOrigin);
    return planePop;

}

bool Intersect(const Ray3f &ray, const Plane &plane)
{
    float planePop = (plane.mNormal * (ray.mDir)) / (plane.mNormal * ray.mOrigin);
    return planePop;
}
vova_makar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пересечение отрезков прямых C++ vova_makar Помощь студентам 10 11.03.2017 19:07
С++, проверка на пересечение прямых. ТЗ Алексей_2012 Помощь студентам 11 31.05.2015 00:44
Даны уравнения прямых. Выяснить, какие из этих прямых перпендикулярны ( СИ++ ) Lena97 Помощь студентам 1 17.11.2014 12:55
Пересечение 2 прямых на плоскости не могу найти. Дима я Общие вопросы C/C++ 3 22.05.2011 12:30