Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Как найти пересечение луча с телом вращения, заданным полиномом (2 стр)

Как найти пересечение луча с телом вращения, заданным полиномом (2 стр)

Страницы: 1 2
LУчастникwww12 июня 201822:31#15
Mikle
Я понял что ты уточнял, это такой у меня метод изложения хода мысли )
DelfigamerПостоялецwww12 июня 201823:08#16
L
> если члены "простые" (или как их назвать)
Если функция является линейной комбинацией неотрицательных целых степеней аргумента:

    Изображение

то такую функцию называют полиномом=многочленом.

L
> вида a*x^2 + b*x^4 + c*x^6 ... (кстати, а у такого вида полинома есть какое-то
> кошерное название? Было бы классно, а то сложно каждый раз объяснять какой вид
> полинома я имею в виду))
"Полином от икс в квадрате" - если за аргумент принять x2, то у тебя как раз получится общая форма P(x2).

L
> Быть может нечётными степенями у меня лучше опишется поверхность
Если ты делаешь приближённое описание - лучше вместо длинного куска высокой степени поставить несколько кусков степенью поменьше.
Кстати, как вариант, если не требуется предельно возможная точность - снабдить поверхность полигональным LOD-ом (возможно, генерируемым с использованием экстремумов), проводить рейкаст в первую очередь по нему, а уже затем доводить точку до сплайна итерациями.

Правка: 12 июня 2018 23:10

SuslikМодераторwww13 июня 20185:23#17
L
> a*x^2 + b*x^4 + c*x^6
конкретно в таком виде можно решить, сделав замену k = x^2, решить для k аналитически (до 3-й степени k включительно это можно сделать без боли), а потом просто сделать обратную замену.

Правка: 13 июня 2018 5:23

LУчастникwww14 июня 201822:13#18
Delfigamer
Suslik
Спасибо за объяснения

Delfigamer
> Если ты делаешь приближённое описание - лучше вместо длинного куска высокой
> степени поставить несколько кусков степенью поменьше.
Ага, я как раз собирался описать форму B-Spline-ами. Ищу вот как конвертнуть полином в bspline. Там и пересечения проще искать будет.  Но исходно поверхность задана именно полиномом (делаю рейтрейс линз, заданных в Zemax именно полиномом). Да и хотелось понять, как трассировать и полином тоже ) И правильно ли я размышляю.

Правка: 14 июня 2018 22:14

Страницы: 1 2

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр