Математический форум Math Help Planet
http://mathhelpplanet.com/

Параметрическое уравнение конуса в неканоническом базисе
http://mathhelpplanet.com/viewtopic.php?f=33&t=34209
Страница 2 из 2

Автор:  Alexdemath [ 08 июн 2014, 13:31 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

vvvv писал(а):
А окружность какого радиуса?

В моём решении - [math]r[/math] (радиус основания конуса, константа).

Автор:  vvvv [ 08 июн 2014, 13:32 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

Alexdemath писал(а):
vvvv писал(а):
А окружность какого радиуса?

В моём решении - [math]r[/math] (радиус основания конуса, константа).

Речь идет не о Вас, а корректности задания конуса ТС.

Автор:  Alexdemath [ 08 июн 2014, 13:38 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

vvvv писал(а):
Речь идет не о Вас, а корректности задания конуса ТС.

Ну, да :pardon: Будем ждать ТС.

Автор:  vvvv [ 08 июн 2014, 20:04 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

А, вообще, вращением некоторой кривой вокруг произвольной оси можно строить разные тела (поверхности) вращения, в частности и конус.Программист должен уметь это делать.
Например такую поверхность.См.картинку.
Изображение

Автор:  hspace [ 11 июн 2014, 12:16 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

Alexdemath писал(а):
Здесь нужно поколдовать с поворотом координат и сечь сферу плоскостью :%)
Вроде так.
Направляющий вектор оси конуса: [math]\vec{n}= \{a,b,c\}[/math], где [math]a = x_B- x_A,~b = y_B-y_A,~ c = z_B-z_A[/math].
Уравнение оси [math]AB\colon \frac{x-x_A}{a}= \frac{y-y_A}{b}= \frac{z-z_A}{c}[/math]
Искомое параметрическое уравнение части кругового конуса с осью [math]AB[/math] между точками [math]A(x_A,y_A,z_A),\, B(x_B,y_B,z_B)[/math] с вершиной в точке [math]B(x_B,y_B,z_B)[/math] имеет вид
[math]\left\{\begin{gathered}x(h,t) = x_B - h\cdot\!\left(a + \frac{r}{\sqrt{a^2+c^2}}\!\left(c\cos t - \frac{ab\sin t}{\sqrt{a^2+b^2+c^2}}\right)\!\right)\!, \hfill \\ y(h,t) = y_B - h\cdot\!\left(b + \frac{r\sqrt{a^2 + c^2}}{\sqrt{a^2+b^2+c^2}}\sin t\right)\!, \hfill \\ z(h,t) = z_B - h\cdot\!\left(c - \frac{r}{\sqrt{a^2+ c^2}}\!\left(a\cos t + \frac{bc\sin t}{\sqrt{a^2+b^2+c^2}}\right)\! \right)\!, \hfill \\ \end{gathered}\right.\begin{array}{*{20}{l}}r = \text{const}> 0,\\[4pt] h \in [0;1],\\[6pt] t \in [0;2\pi ).\end{array}[/math]
где параметр [math]r[/math] - радиус основания конуса, [math]h[/math] - высота конуса (при [math]h=1[/math] конус полностью накроет свою ось).
Думаю, в случае [math]a=c=0[/math] догадаетесь, что делать.

спасибо за помощь. очень помогли! ещё не догадался, что делать при [math]a=c=0[/math] :(

Как была получена эта формула?
Нужно ещё параметрическое уравнения цилиндра, если известны две точки [math]A(x_A,y_A,z_A)[/math] и [math]B(x_B,y_B,z_B)[/math] на его оси.

Автор:  Alexdemath [ 11 июн 2014, 16:20 ]
Заголовок сообщения:  Re: Параметрическое уравнение конуса в неканоническом положении

hspace писал(а):
ещё не догадался, что делать при [math]a=c=0[/math]
Поменяйте местами [math]a[/math] и [math]b[/math] или [math]c[/math] и [math]b[/math]. Хотя для программирования, я думаю, разумней будет в случае [math]a=c=0[/math] просто положить [math]a=0.01[/math] (или ещё меньше, в зависимости от точности вычислений компилятора).

hspace писал(а):
Как была получена эта формула?
Это долго и нудно :%) Сначала ищется параметрическое уравнение окружности основания цилиндра, которая есть граница диаметрального сечения сферы [math](x-xB)^2+(y-yB)^2+(z-zB)^2=r^2[/math] плоскостью [math]a(x-x_B)+b(y-y_B)+c(z-z_B) = 0[/math] (перпендикулярна прямой [math]AB[/math] (оси конуса) в точке [math]B[/math]).

hspace писал(а):
Нужно ещё параметрическое уравнения цилиндра, если известны две точки [math]A(x_A,y_A,z_A)[/math] и [math]B(x_B,y_B,z_B)[/math] на его оси.
Параметрическое уравнение части кругового цилиндра с осью [math]AB[/math] между точками [math]A(x_A,y_A,z_A),\, B(x_B,y_B,z_B)[/math] имеет вид

[math]\left\{\!\begin{gathered}x(h,t) = x_A + a\,h - \frac{r}{\sqrt{a^2+c^2}}\!\left(c\cos t - \frac{ab\sin t}{\sqrt{a^2+b^2+c^2}}\right)\!, \hfill \\ y(h,t) = y_A + b\,h - \frac{r\sqrt{a^2 + c^2}}{\sqrt{a^2+b^2+c^2}}\sin t, \hfill \\ z(h,t) = z_A + c\,h + \frac{r}{\sqrt{a^2+ c^2}}\!\left(a\cos t + \frac{bc\sin t}{\sqrt{a^2+b^2+c^2}}\right)\!, \hfill \\ \end{gathered}\right.\begin{array}{*{20}{l}}r = \text{const}> 0,\\[4pt] h \in [0;1],\\[6pt] t \in [0;2\pi). \end{array}[/math]

где [math]a = x_B- x_A,~b = y_B-y_A,~ c = z_B-z_A[/math]; [math]r[/math] - радиус цилиндра, [math]h[/math] - высота цилиндра (при [math]h=1[/math] цилиндр полностью "накроет" свою ось - отрезок [math]AB[/math]).

Страница 2 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/