Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизРисование поверхностей (желательно OpenGL) Найти похожие ветки
← →
Ricks © (2005-10-11 01:14) [0]Необходимо создать программу, которая рисовала бы поверхности. Это общая задача.
Теперь тонкости и особенности:
-необходимо, чтобы она [программа] рисовала не только явно заданые поверхности, но и такие F(x, y, z) = 0
-рисование цилиндрических поверхностей (те если одна из координат отсутствует)
Каким образом это осуществить? Особенно интересует само построение графика (например сферы x^2 + y^2 + z^2 = R^). Если выразить z, то придется рисовать 2 поверхности (+ и - sqrt()). А надо рисовать сразу всю сферу!
Вот как такое сделать?
← →
Eraser © (2005-10-11 01:20) [1]
> Ricks © (11.10.05 01:14)
Оч. советую книку по OpenGL называется по-моему "OpenGL на Делфи"... но не уверен, автор Краснов.
← →
Ricks © (2005-10-11 01:37) [2]Тут дело не в OpenGL.
Я спрашиваю КАК организовать цикл (или что там еще) для построения такой неявно заданной поверхности! И как разобрать выражение, которое написал пользователь. Например [x^2 + y^2 - z] = 0 как из такого выражения мне "получить" параболоид?
← →
Asdf123 (2005-10-11 04:29) [3]asdf
← →
Ricks © (2005-10-12 00:15) [4]Вобщем, я так понял, что у народа нет идей (или желания этим заниматься) а как насчет студентов, которые проходят (прошли) аналитичекую геометрию (или мат.анализ, разделы о тройном интергале)???
Что, действительно нет идей?
← →
Eraser © (2005-10-12 00:29) [5]
> Ricks © (12.10.05 00:15) [4]
Идеи есть, например, пиши свой графический движок.
← →
Германн © (2005-10-12 01:29) [6]2 Eraser © (12.10.05 00:29) [5]
Автору сабжа врядли нужно писать "свой движок".
Имхо, ему нужен:
1. Алгоритм
2. Парсер
По всем показателям, имхо, лучше бы гляделся сей топик в "для начинающих". Там и ответят с большей вероятностью и помогут в следущий раз чётче формулировать вопрос.
← →
Ricks © (2005-10-12 10:18) [7]Не знаю, насколько это для начинающих.....
Парсер у меня какой-никакой есть, а вот нужен сам метод (пускай это называется алгоритм).....
Как мне поможет графический движок?
Мне нужна реализация.....
Ставлю вопрос более узко, и более конкретно:
как найти точки, которые удовлетворяют введенному уравнению F(x,y,z) = 0
не перебором же... тем более что значения могут быть "далеко" не целыми.....
← →
-=S..S=- (2005-10-12 11:17) [8]Если честно то такое уравнение решение не имеет .. вернее методики по его решению
[x^2 + y^2 - z] = 0
Не хватает условий ... что бы решить уравнение с тремя переменными неоюходимо и достаточно иметь систему уравнений третьего порядка ...
что то на данном уравнении вопрос поставлен не точно .... кроме как перебора никак ...
Хотя можна по очереди считать каждую из двух неизвестных нулями и решать уравнение с одной переменной ... в итоге получиться три корня уравнения
← →
Sapersky (2005-10-12 13:45) [9][x^2 + y^2 - z] = 0 как из такого выражения мне "получить" параболоид?
z = x^2 + y^2
Цикл по x,y. Считаем z. Получаем набор точек x,y,z - из них формируем поверхность.
← →
Tonich © (2005-10-12 15:35) [10]посмотри в сторону GlScene - она конечно не особо быстрая но может тебе и подойдет
← →
Ricks © (2005-10-13 01:41) [11]
> Sapersky
Проблемма как раз в том, чтобы не выражать z(x, y) а рисвать неявно заданную поверхность...
> -=S..S=-
Видимо только так или сечениями...
Вобщем пролетел я с такой прекрастной идеей... :)
← →
Sapersky (2005-10-13 11:54) [12]Проблемма как раз в том, чтобы не выражать z(x, y) а рисвать неявно заданную поверхность...
Но для того чтобы нарисовать, нужно получить координаты точек и создать полигональную модель. А для того чтобы получить координаты точек, нужно выразить.
Неужели сложно?
Со сферой - не вижу ничего страшного в том, чтобы рисовать отдельно нижнюю и верхнюю полусферы... или считать формулу так:
a := Sqr(R) - Sqr(x) - Sqr(y);
If a > 0 then z:=Sqrt(a) else z:=-Sqrt(Abs(a));
Или сферическими координатами - двойной цикл по углам phi и teta (также как по x,y), R = const, выражаем x,y,z по формулам:
http://astronomy.swin.edu.au/~pbourke/projection/coords/
Ты графики обычных функций 1-й переменной рисовал когда-нибудь (y = x^2 и т.п.)? Если нет, потренируйся на них. С 2-мя переменными точно такой же принцип. Ну разве что формирование поверхности (описание треугольников) сложнее, но можно для начала попробовать точками или линиями.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c