Вниз
Скачать: 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
14-1101907515
Denis_
2004-12-01 16:25
2004.12.26
Что такое базы данных?


9-1093282124
Creep
2004-08-23 21:28
2004.12.26
Как ввести в игру свой шрифт? Стандартными средствами Delphi7.


3-1101271587
Simba_max
2004-11-24 07:46
2004.12.26
БД


14-1102307446
Урфин Джюс
2004-12-06 07:30
2004.12.26
Do not localize


3-1101896654
СержК
2004-12-01 13:24
2004.12.26
Не получается сделать выборку




   Наверх