Вниз
Скачать: CL | DM;

Построение поверхностей второго порядка в трехмерном пространстве   Найти похожие ветки 

← →
BALU1111 ©   (2004-09-28 13:27) [0]

Господа!
Проблема следующая: необходимо построить поверхность в трехмерном пространстве, подставляя коэффициенты a11, a12, ..., a0 в общее уравнение второй степени относительно переменных x, y, z на компьютере, не используя средства типа Methematica и подобное, а используя лишь только средства Delphi. Если есть какие-то соображения или кто-то этим занимался, буду очень признателен.


← →
MBo ©   (2004-09-28 14:20) [1]

Следует изучить в какой-либо книге раздел "аналитическая геометрия в пространстве" (например, справочник по математике Корнов)
По коэффициентам (точнее, составленным из них инвариантам) производится классификация - к какому типу квадрик относится поверхность - эллипсоид, параболоид, цилиндр и т.д.
Уже в зависимости от типа производится построение (как я понял, необходимо отображение на экране?)


← →
BALU1111 ©   (2004-09-28 14:30) [2]

> (как я понял, необходимо отображение на экране?)
Именно.
Допустим, классификация по инвариантам известна, мне необходимо подставляя в уравнение общего вида коэффициенты (они всегда разные, в том то и проблема) вывести на мониторе полученную фигуру.
Каким образом производить построение, ведь надо преобразовывать трехмерную систему координат в двухмерную?
Какой компонент стоит лучше всего использовать?


← →
MBo ©   (2004-09-28 14:50) [3]

>Какой компонент стоит лучше всего использовать?
Наверно, никакой. Разве что TeeChart Pro может отображать трехмерные графики, но в данном случае не знаю - удобно ли будет.

>Каким образом производить построение, ведь надо преобразовывать трехмерную систему координат в двухмерную?
Существуют различные виды проекций - ортогональная, перспективная и т.д., см, например, http://www.gamedev.ru/
кроме того, вероятно, придется позаботиться о построении полигональной сетки, об удалении невидимых линий.
Возможно, стоит воспользоваться средствами OpenGL - многое упростится.


← →
MBo ©   (2004-09-28 15:47) [4]

кстати, еще один момент - стоит найти матрицу аффинного преобразования, приводящего квадрику к более простому виду - axis-aligned, т.е. чтобы главные оси были параллельны осям координат. Тогда после определения типа фигуры будет легче построить полигональную сетку в виде функции двух переменных, например, Z=F(x,y) (или +/-F(x,y) для двуполостных фигур), а перед отображением выолнить обратное преобразование.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1102666608
Игорь нтк
2004-12-10 11:16
2004.12.26
DBNavigator


14-1101477178
Красная Майка
2004-11-26 16:52
2004.12.26
Очередное предновогоднее ММР


1-1102706736
kirilllius
2004-12-10 22:25
2004.12.26
Привязка ПО к CD


1-1102495357
Patrick
2004-12-08 11:42
2004.12.26
Эмуляция нажатия клавиши


3-1101369676
Сергей Медведев
2004-11-25 11:01
2004.12.26
Права в FireBird




   Наверх