| Параметры: | |
|---|---|
|
|
Рассмотрим патрубок. Он состоит из 8 частей: 4 треугольников и 4 наклонных эллиптических конусов с круглым основанием. Причем, основание не полное, а составляет четверть круга, т.е. 90°.
Выбираем точку начала координат и строим отрезок с центром в точке 0. Откладываем от центра точку 1.
Находим длину образующей $L_{A3}$:
Для этого рассмотрим $\Delta 123$:
$$L_{A3} = \sqrt{L_{12}^2 + L_{23}^2}$$
$$L_{12} = \frac{D'}{2} - \left(\frac{A'}{2} - X\right)$$
$$L_{23} = H'$$
Соберем итоговую формулу:
$$L_{A3} = \sqrt{\left(\frac{D'}{2} - \left(\frac{A'}{2} - X\right)\right)^2 + H'^2}$$
Откладываем линию $L_{A3}$ и ставим точку 3. Соединяем точки 3, A и D.
Найдем стороны треугольника, они нам потребуются далее:
$$L_{A3} = \sqrt{\left(\frac{B'}{2} + Y\right)^2 + L_{A3}^2}$$
$$L_{D3} = \sqrt{\left(\frac{B'}{2} - Y\right)^2 + L_{A3}^2}$$
Для этого:
На примере $L_{A6}$ напишем алгоритм вычисления длины образующих:
$$L_{A6} = \sqrt{L_{A4}^2 + L_{45}^2 + L_{56}^2}$$
$$L_{A4} = L_{6'8'} = L_{7'8'} - L_{6'7'} = L_{78} - L_{6'7'}$$
$$L_{78} = L_{67} \cdot \cos(i \cdot \varphi_n^\circ) = \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ)$$
$$L_{6'7'} = \frac{A'}{2} - X$$
$$L_{A4} = \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ) - \left(\frac{A'}{2} - X\right)$$
$$L_{45} = L_{A5'} = \frac{B'}{2} + Y - L_{5'6'}$$
$$L_{5'6'} = L_{68} = L_{67} \cdot \sin(i \cdot \varphi_n^\circ) = \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ)$$
$$L_{45} = \frac{B'}{2} + Y - \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ)$$
$$L_{56} = H'$$
Запишем общую формулу:
$$L_i = \sqrt{L_{xi}^2 + L_{yi}^2 + L_{zi}^2}$$
$$L_{xi} = \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ) - \left(\frac{A'}{2} - X\right)$$
$$L_{yi} = \left(\frac{B'}{2} + Y\right) - \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ)$$
$$L_{zi} = H'$$
Т.к. направляющая $L_{A3}$ построена, то количество повторений будет $n-1$.
Вычисляем $L_i$.
Находим угол, на который необходимо повернуть образующую относительно предыдущей образующей:
$$\Theta_i^\circ = \arccos\left(\frac{L_{i-1}^2 + L_i^2 - L_{\text{hord}}^2}{2 \cdot L_{i-1} \cdot L_i}\right)^\circ$$
где
Если $i=1$, то $L_{i-1}$ — длина вычислена ранее.
Откладываем угол $\Theta_i^\circ$ от предыдущей образующей и на луче от точки $A$ ставим точку на расстоянии $L_i$.
Повторяем вычисления пока $i \leq n$.
Проводим плавную линию через точки.
Для этого определим угол $\alpha$ на который повернута сторона $AB$ относительно образующей $A9$.
Рассмотрим треугольник на рисунке ниже.
Угол вычисляется по следующей формуле:
$$\alpha^\circ = \arccos\left(\frac{L_{A9'}}{L_{A9}}\right)^\circ = \arccos\left(\frac{\frac{A'}{2} - X}{L_{A9}}\right)^\circ$$
$L_{A9}$ вычислена в предыдущем пункте.
Найдем длину $L_{B9}$ по теореме косинусов.
$$L_{B9} = \sqrt{L_{A9}^2 + L_{AB}^2 - 2 \cdot L_{A9} \cdot L_{AB} \cdot \cos(\beta^\circ)}$$, где $L_{AB} = A'$
От точки $A$ от образующей $A9$ откладываем угол $\alpha$ и на новом луче откладываем размер $A'$.
Соединяем точки $B$ и $9$.
Алгоритм построения конуса будет аналогично шагу 2:
$$L_i = \sqrt{L_{xi}^2 + L_{yi}^2 + L_{zi}^2}$$
$$L_{xi} = \left(\frac{A'}{2} + X\right) - \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ)$$
$$L_{yi} = \left(\frac{B'}{2} + Y\right) - \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ)$$
$$L_{zi} = H'$$
Т.к. направляющая $L_{B9}$ построена, то количество повторений будет $n-1$.
Вычисляем $L_i$.
Находим угол, на который необходимо повернуть образующую относительно предыдущей образующей:
$$\Theta_i^\circ = \arccos\left(\frac{L_{i-1}^2 + L_i^2 - L_{\text{hord}}^2}{2 \cdot L_{i-1} \cdot L_i}\right)^\circ$$
Если $i=1$, то $L_{i-1}=L_{B9}$ — длина вычислена ранее.
Откладываем угол $\Theta_i^\circ$ от предыдущей образующей и на луче от точки $B$ ставим точку на расстоянии $L_i$.
Повторяем вычисления пока $i \leq n$.
Проводим плавную линию через точки.
Для этого определим угол $\beta$ на который повернута сторона $BC$ относительно образующей $B10$.
Рассмотрим треугольник на рисунке ниже.
Угол вычисляется по следующей формуле:
$$\beta^\circ = \arccos\left(\frac{\frac{B'}{2} + Y}{L_{B10}}\right)^\circ$$
$L_{B10}$ вычислена в предыдущем пункте.
От точки $B$ от образующей $B10$ откладываем угол $\beta$ и на новом луче откладываем размер $L_{B11} = \frac{B'}{2}$.
Соединяем точки $10$ и $11$.
Алгоритм построения конуса будет аналогично шагу 2:
$$L_i = \sqrt{L_{xi}^2 + L_{yi}^2 + L_{zi}^2}$$
$$L_{xi} = \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ) - \left(\frac{A'}{2} - X\right)$$
$$L_{yi} = \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ) - \left(\frac{B'}{2} - Y\right)$$
$$L_{zi} = H'$$
Т.к. направляющая $L_{D3}$ построена, то количество повторений будет $n-1$.
Вычисляем $L_i$.
Находим угол, на который необходимо повернуть образующую относительно предыдущей образующей:
$$\Theta_i^\circ = \arccos\left(\frac{L_{i-1}^2 + L_i^2 - L_{\text{hord}}^2}{2 \cdot L_{i-1} \cdot L_i}\right)^\circ$$
Если $i=1$, то $L_{i-1}=L_{D3}$ — длина вычислена ранее.
Откладываем угол $\Theta_i^\circ$ от предыдущей образующей и на луче от точки $D$ ставим точку на расстоянии $L_i$.
Повторяем вычисления пока $i \leq n$.
Проводим плавную линию через точки.
Для этого определим угол $\gamma$ на который повернута сторона $DC$ относительно образующей $l_n$.
Рассмотрим треугольник на рисунке ниже.
Угол вычисляется по следующей формуле:
$$\gamma^\circ = \arccos\left(\frac{L_{D13}}{L_{D12}}\right)^\circ$$
$$L_{D13} = \frac{A'}{2} - X$$
$$\gamma^\circ = \arccos\left(\frac{\frac{A'}{2} - X}{L_{D12}}\right)^\circ$$
$L_{D12}$ вычислена в предыдущем пункте.
Найдем длину $L_{C12}$ по теореме косинусов.
$$L_{C12} = \sqrt{L_{D12}^2 + L_{DC}^2 - 2 \cdot L_{D12} \cdot L_{DC} \cdot \cos(\delta^\circ)}$$, где $L_{DC} = A'$
От точки $D$ от образующей $D12$ откладываем угол $\gamma$ и на новом луче откладываем размер $A'$.
Соединяем точки $C$ и $12$.
Алгоритм построения конуса будет аналогично шагу 2:
$$L_i = \sqrt{L_{xi}^2 + L_{yi}^2 + L_{zi}^2}$$
$$L_{xi} = \left(\frac{A'}{2} + X\right) - \frac{D'}{2} \cdot \sin(i \cdot \varphi_n^\circ)$$
$$L_{yi} = \frac{D'}{2} \cdot \cos(i \cdot \varphi_n^\circ) - \left(\frac{B'}{2} - Y\right)$$
$$L_{zi} = H'$$
Т.к. направляющая $L_{C12}$ построена, то количество повторений будет $n-1$.
Вычисляем $L_i$.
Находим угол, на который необходимо повернуть образующую относительно предыдущей образующей:
$$\Theta_i^\circ = \arccos\left(\frac{L_{i-1}^2 + L_i^2 - L_{\text{hord}}^2}{2 \cdot L_{i-1} \cdot L_i}\right)^\circ$$
Если $i=1$, то $L_{i-1}=L_{C12}$ — длина вычислена ранее.
Откладываем угол $\Theta_i^\circ$ от предыдущей образующей и на луче от точки $C$ ставим точку на расстоянии $L_i$.
Повторяем вычисления пока $i \leq n$.
Проводим плавную линию через точки.
Для этого определим угол $\delta$ на который повернута сторона $C11$ относительно образующей $C10$.
Рассмотрим треугольник на рисунке ниже.
Угол вычисляется по следующей формуле:
$$\delta^\circ = \arccos\left(\frac{\frac{B'}{2} - Y}{L_{C10}}\right)^\circ$$
$C10$ вычислена в предыдущем пункте.
От точки $C$ от образующей $C10$ откладываем угол $\delta$ и на новом луче откладываем размер $L_{C11}=\frac{B'}{2}$.
Соединяем точки $10$ и $11$.