Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Формулы простых фигур


Автор: astradan 8.6.2006, 17:49
Скажите математические формулы: цилиндра, усечённого конуса. 

Автор: skyboy 8.6.2006, 18:31
это тела вращения. они могут задаваться разве что системой уравнений, но не одним уравнением. А формула может относиться только к алгоритму вычисления численной характеристики - объёма, площади поверхности, массы... Но никак не к телу. 

Автор: astradan 8.6.2006, 19:03
Мне нада просто математическая  как в школе.. на основе формулы построить рисунок  

Автор: Mechanic 9.6.2006, 08:42
Цитата(astradan @  8.6.2006,  19:03 Найти цитируемый пост)
Мне нада просто математическая  как в школе.. на основе формулы построить рисунок   

Рисунки бывают разные.  smile  Если тебе нужно построить вид на цилиндр спереди, то это будет круг, но если сбоку, то это будет квадрат. Если же нужна изометрия, то тут тоже куча нюансов: только линии (wire) или залитые поверхности со скрытием невидимых линий. Опять же - положение глаза наблюдателя?

Определись с задачей более подробно, ведь для рисования каждой точки нужна формула. И где рисовать собираешься, на 2D поверхности, или в 3D пространстве? 

Автор: Странник 18.6.2006, 13:11
astradan,
Хм... а по-моему, это элементарно. Кстати, для каких целей тебе? Можно ведь и в неявной форме задавать или параметрической. Если ты хочешь, что в объеме делать, то и уравнения нормалей понадобятся.
Хочешь, могу скинуть документ по этому делу. Там ты найдешь:
- базовые формы (сферы, цилиндры, конусы);
- поверхности второго рода (эллипсоиды, 1, 2-ч полостные гиперболоиды и т.п.);
- суперквадрики (суперэллипсоид, супертороид и т.п.). 

Автор: comtat 20.6.2006, 09:19
h- высота;
p-периметр основания;
V-объём;
S- площадь основания
Sбок- боковая поверхность

V=Sh; // обьем плизмы

Sбок=ph. // боковая поверчность

все полностью во есть на  http://matembook.chat.ru/geometry/geompage6.htm 

Автор: sergejzr 20.6.2006, 12:20
astradan, тебе надо разбивать фигуры на примитивы и таким образом хранить/рисовать

Например:
Цилиндр: радиус, высота
Ус. конус: ширина, длинна, высота1(поностью), высота2(обрезанная)

А программа твоя уже будет собирать. 

Автор: DEER 20.6.2006, 15:52
нее, народ есть формулы 100% помню есть.
6 лет назад на первом курсе проходили их на дисциплине  "Линейная алгебра и аналитическая геометрия"
мы их дажу учили чтоб на память называть....  тока прошло уже 6 лет и нифига не помню.
Так что, astradan,  поищи в инете на эту тему и будет тебе счастье  smile

Добавлено @ 15:54 
ЗЫ тока там по 3 координаты 

Автор: skyboy 20.6.2006, 16:03
DEER, а вот и нифига. Есть формула цилиндрической поверхности. Но цилиндр - это не только боковая поверхность. Это ещё и два круга - сверху и снизу(а круг, в отличии от окружности, имеет формулой неравенство, а не равенство). Точно так же и конус - фомула конической поверхности не даёт информацию о круге внизу конуса.  

Автор: Mal Hack 20.6.2006, 16:10
Эллипс x^2 / a^2 - y^2/b^2 = 1
Поверхности вращения - Эллипсойд и остальные - формулы такие же но меняются знаки, добавляется z^2/c^2 и значение справа либо 1 либо 0 либо -1.

Добавлено @ 16:11 
Обнуляя одну из переменных видим соответствующее сечение по этой оси. 

Автор: DEER 20.6.2006, 17:01
skyboy, а говорил про то что написал Mal Hack

Добавлено @ 17:03 
и вообще у нас препода такие формулы задвигали......
как мне кажется вообще любую фигуру или поверхность можно описать математической формулой...
где то в инете видел формулу листа конопли  smile

Добавлено @ 17:04 
а ещё можно отойти от декартовой системы и перейти в полярную.. там проще должно быть 

Автор: skyboy 20.6.2006, 17:24
DEER, Mal Hack написал про тот случай(двольно редкий!), когда тело ограничено единственной поверхностью! Варианты из той же сферы - гиперболоид уже не является телом, так как не ограничено в пространстве. 
Цитата(DEER @  20.6.2006,  17:01 Найти цитируемый пост)
как мне кажется вообще любую фигуру

далеко не любую. 
Цитата(DEER @  20.6.2006,  17:01 Найти цитируемый пост)
или поверхность можно описать математической формулой

а вот и нет smile
Сначала надо определиться, что ты понимаешь под формулой. Нет такого понятия, как "формула поверхности"! Есть "уравнение поверхности". Любую фигуру можно описать при помощи системы равенств/неравенств. Но для отрисовки неравенства заведомо не годятся. Ибо прийдётся в цикле перебирать все отображаемые точки и "проганять" их через систему.
Кста, пока писал - понял, в чём разница между телом и поверхностью(в свете именно разговора; то, что тело ограничено, а поверхность может быть бесконечна, думаю не вызывает возражений?). Поверхность может задаваться уравнением, но тело, которое должно ограничиваться поверхностью, просто не может задаваться равенством - надо исходить из неравенства. Например, эллипсоид - тело, ограниченной эллпитической поверхностью. И тело задаётся равенством 
x^2 / a^2 - y^2/b^2 <= 1, ибо возможна и ситуация x^2 / a^2 - y^2/b^2 >= 1, что не является телом из-за "бесконечности".
Впрочем, это уже вышел  smile так как для отрисовки тела вполне можно отрисовывать ограничивающие поверхности. С двумя "но":
- если известен порядок отрисовки - и с наложением изображений поверхностей не будет проблем;
- если тело не надо делать "сплошным"(например, чтоб при "въезде" камеры "внутрь" объекта он может отображаться, как пустая коробка, а не как куб изнутри) 

Автор: Mal Hack 20.6.2006, 23:19
Цитата(skyboy @  20.6.2006,  18:24 Найти цитируемый пост)
Варианты из той же сферы - гиперболоид уже не является телом, так как не ограничено в пространстве. 

Является, только его грани ввиду построения по сечениям уходят на бесконечность из-за ьгиперболической основы...

Поверхности и плоскости описываются УРАВНЕНИЯМИ соответствующими в декартовой системе.
В полярной системе может быть и формула изменения r=asoc(f), к примеру. 
Формула, там где одна переменная является полностью зависимой от другой (их), а другая (ие) от первой не зависят.
Или к примеру, кардиойда, заданная параметрически представляет собой систему, вроде:
x = 1-cos(t)
y = 1-sin(t) 

Автор: skyboy 21.6.2006, 10:15
Цитата(Mal Hack @  20.6.2006,  23:19 Найти цитируемый пост)
Является, только его грани ввиду построения по сечениям уходят на бесконечность из-за ьгиперболической основы...

Какие грани? smile Тело - это часть пространства, ограниченная поверхностями. Бесконечных тел не бывает. Точно так же, как кардиоида  -кривая, но не фигура.  Возможно, при отрисовке можно ещё подменять понятие тела на поверхность, но если рассчитывается принадлежность точки телу, то работать с уравнениями уже нельзя - только с системой неравенств. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)