Есть заданная кривая, меня интересует именно вид ее графика в полярных координатах, возможно ли "отрейтрейсить" плоскость ограниченнную этой кривой ? П.С. Подскажите заодно, что можно почитать по рейтрейсингу норм. ? А то "читаю читаю, слова понятные..." и пр.
по порядку возможно, только если кривая лежит в нужной тебе плоскости enlight.ru - там ссылки на dd3d и ddfaq для начала - самое то!
А поконкретнее можно. Например есть кривая, описываемая формулой X^2+Y^2=R^2. Берем плоскость, строим график кривой и видим, что данная кривая делит плоскость на 2 части. Вопрос №1. Какая из этих плоскостей тебе нужна? Если внутренняя, то тебе оттрейсить надо те точки с координатами X и Y, сумма квадратов которых будет меньше или равана R^2. А по рейтрейсингу (точнее рейкастингу) были статьи в hugi. В номере по кодингу они вроде тоже есть.
tylerdurden Есть заданная кривая, меня интересует именно вид ее графика в полярных координатах. Полярный медьведь это прямоугольный медведь после преобразования координат Кривая в полярных координатах: r = r(fi); Она же в декартовых: x = r * cos(fi) = r(fi) * cos(fi) y = r * sin(fi) = r(fi) * sin(fi) Кривая может быть замкнутой, а может и не быть. Если кривая задана неявно, т.е. условие принадлежности точки кривой - F(r, fi) = 0, то тут будет сложновато. Если явно, т.е. r = r(fi), то тут попроще. Если известно аналитическое представление кривой, то вроде бы должно быть еще проще. Задачу можно попробовать решить так: проверяемая точка находится внутри плоскости, ограниченой кривой, если она (проверяемая точка) "слева" ("справа") от ближайшей точки на этой кривой. Условие "слева" ("справа") можно получить так: r = r(fi) - кривая. p - проверяемая точка. near - ближайшая точка на прямой к проверяемой. тогда: "слева", если cross((p - near), dr/dfi(near)) > 0, и "справа", если cross((p - near), dr/dfi(near)) < 0 Самое неприятное - определение этой самой ближайшей точки. Численно в общем виде без прямого перебора эта задача не решается