Суть задачи в следующем. Имеются две детали. Деталь 1 представляет из себя сегмент сферы с круглым отверстием. Деталь 2 - просто сегмент сферы. Деталь 2 имеет внешний радиус меньше чем Деталь 1 на толщину её стенки. Располагаются они относительно друг друга как показано на рисунке. Деталь 2 перемещается по внутренней поверхности детали 1 и постепенно перекрывает собой отверстие. Задача - найти зависимость между углом (между осями обеих деталей) и площадью поверхности второй детали, появлящейся в отверстии. Там по-любому должен быть интеграл. Как это считать? Посоветуйте пожалуйста где можно почитать про измерение площадей поверхностей (книжку или ресурс какой-нибудь). Заранее спасибо. задан 14 Мар '12 13:05 phoenix-78 |
Пусть $% R$% -радиус сферы, $% R_{1} $% -радиус цилиндра (отверстия), $% O $%-центр деталей, $% OO_{1} $% - ось второй детали, $% O_{2} $% - точка пересечения оси $%OO_{1} $% отсекающей плоскостью второй детали, $% |OO_{2}|=h $%, $% \alpha $% - угол между осями. Введем декартову прямоугольную систему координат с центром $%O$%, ось $%z$% направлена вдоль оси первой детали, ось второй детали двигается в плоскости $%xz$%. Уравнение отсекающей плоскости второй детали будет иметь вид $$x \cdot sin(\alpha ) + y + z \cdot cos(\alpha ) = h$$ (плоскость нормальным вектором $%OO_{2}$%, проходящая через точку $%O_{2}$%. Задача свелась к вычислению интеграла
$$\int\int dS $$
по области, заданной условиями
$${x}^{2}+{y}^{2}+{z}^{2}={R}^{2}$$
$${x}^{2}+{y}^{2}\leq {{R}_{1}}^{2}$$
$$x \cdot sin(\alpha ) + y + z \cdot cos(\alpha ) \geq h$$ Для взятия интеграла перейдем в сферическую систему координат $$x = r \cdot sin(\theta )cos( \varphi),\;\; y=r \cdot sin(\theta)sin(\varphi),\;\; z=r \cdot cos(\theta),$$ первое условие сведется к $%r=R$%, а остальные 2 примут вид $$sin(\theta )(cos(\varphi)sin(\alpha )+sin(\varphi)) + cos(\theta )cos(\alpha ) \geq h/R \:\:\:\:\:\:\:\:\:\:\:\: (a) $$ и $$|sin(\theta )| \leq {R}_{1}/R \:\:\:\:\:\:\:\:\:\:\:\:\: (b) $$ Интеграл преобразуется в $$R^2 \int\int sin(\theta )d\theta d\varphi \:\:\:\:\:\:\:\:\:\:\:\:\: (c)$$ , т.к. элемент поверхности сферы в сферических координатах $% dS = {R}^{2}sin(\theta )d\theta d\varphi$% Неравенство (a) позволяет выразить $%\varphi $% через $%\theta$% и, таким образом, свести кратный интеграл к повторному. Первый интеграл (по $%\varphi$%) возьмется явно, второй - скорей всего не возьмется, его придется вычислять численно. При вычислениях вместо $%{R}_{1}$% и $%h$% удобнее будет ввести углы $%\beta$% и $%\gamma$% , обозначив $$sin(\beta) = {R}_{1}/R$$ $$cos(\gamma)=h/R.$$ К сожалению, сейчас у меня некоторый цейтнот с делами. Когда появится время - распишу все подробнее. Дополнение 1. Если интересуют не сами формулы, а возможность вычисления площади перекрытия можно сформулировать следующий простой и эффективный алгоритм (метод Монте-Карло) вычисления непосредственно по формулам (a), (b), (c). Рассмотрим в пространстве $%( \theta , \varphi )$% прямоугольник $$0 \leq \theta \leq \pi/2 $$ $$0 \leq \varphi \leq 2 \pi $$ и сгенерируем в нем $% N$% случайных точек, те точки $%P_i = ( \theta , \varphi )$%, в которых выполняются условия (a) и (b), назовем допустимыми, и вычислим для допустимых точек величину $%sin(\theta_i) $%. Тогда интеграл (c) можно приближенно вычислить по формуле $$S = 2 \pi R^2 \frac{1}{N} \sum_{i=1}^{N_d} sin(\theta_i)$$, где $%N_d $% - количество допустимых точек. Величина $%N$% должна быть такой, чтобы разница значений $%S$% для $%N$% точек и $%N-1$% точки была меньше некоторой заданной достаточно малой величины $%\epsilon$%. Дополнение 2. Можно повысить эффективность метода Монте-Карло, если вместо переменной $% \theta $% ввести переменную $% u=cos(\theta)$% и рассматривать прямоугольник $$ 0 \leq u \leq 1$$ $$ 0 \leq \varphi \leq 2 \pi $$ В этом случае площадь перекрытия будет определяться формулой $$S = 2 \pi R^2 \frac{N_d}{N}$$ а неравенства (a), (b) преобразуются в неравенства $$\sqrt{1-u^2}(cos(\varphi)sin(\alpha )+sin(\varphi)) + u \cdot cos(\alpha ) \geq h/R \:\:\:\:\:\:\:\:\:\:\:\: (a^') $$ и $$u \geq \sqrt{1-({R}_{1}/R)^2} \:\:\:\:\:\:\:\:\:\:\:\:\: (b^') $$ отвечен 14 Мар '12 16:14 Андрей Юрьевич Почему-то формулы не отображаются, хотя при редактировании ответа в нижнем окне все отображается правильно.
(15 Мар '12 16:39)
Андрей Юрьевич
А как Вы вставляете формулу в текстовую строку? У меня при обрамлении долларами формула вываливается на новую строчку (даже если это одна буква). Поэтому я сделал наоборот - вставил текст внутрь формульных блоков. Пришлось задавать пробелы между словами - отсюда и обилие бэкслэшей.
(15 Мар '12 19:50)
Андрей Юрьевич
Исправил ошибку в формуле.
(16 Мар '12 14:44)
Андрей Юрьевич
Интеграл все же берется (см. мое решение). Правда, я посчитала только "половину", вторая получается заменой $%\alpha$% на $%\beta$% и $%\theta_0$% на $%\gamma-\theta_0$%, где $%\gamma$% - угол между осями. Мне кажется, что здесь явно нужны сферические координаты, поэтому вместо цилиндров лучше использовать конусы!
(16 Мар '12 17:18)
DocentI
Ну конечно, сферические. Просто исходные ограничения я сначала записал в декартовых координатах, а потом перешел в сферические. Но на окончательный результат это повлиять не может - если Ваш интеграл берется, то и мой возьмется - они должны быть эквивалентными.
(16 Мар '12 18:07)
Андрей Юрьевич
Похоже, мы решаем задачу друг для друга! Автор куда-то пропал!
(16 Мар '12 18:11)
DocentI
Не могли бы вы пояснить по поводу перехода от интеграла ∫∫dS к ∫∫R^2sin(θ)dθdφ. И как его вычислять численно если мы работаем со сферической системой координат?
(18 Апр '12 10:51)
phoenix-78
R^2sin(θ) - это якобиан перехода к сферическим координатам. Главное - правильно расставить пределы интегрирования.
(18 Апр '12 13:59)
DocentI
т.е. вы получили эти значения без определения границ интегрирования?
(18 Апр '12 23:25)
phoenix-78
Нет, для одного из сегментов, который заштрихован на рисунке. Есть еще один такой сегмент, у которого вместо $%\theta_0, \alpha$% стоит $%\varphi-\theta_0, \beta$%.
(19 Апр '12 0:31)
DocentI
показано 5 из 10
показать еще 5
|
Посмотрите что-нибудь по теме "Поверхностный интеграл 1 рода" Площадь поверхности можно найти как поверхностный интеграл 1 рода от элемента площади dS. Для сферы при использовании сферических координат он имеет вид $%dS=r^2\sin\theta d\varphi d\theta$%, где r - радиус сферы. Угол $%\theta$% отсчитывается от северного направления (которое можно совместить с осью детали или дырки) Искомая площадь разбивается на два сегмента большим кругом сферы, проходящим через точки пересечения границ дырки и второй детали. Таким образом, надо найти две аналогичных площади и сложить их. Вот картинка Для окончательного решения надо еще найти угол $%\theta_0$% из условия пересечения двух конусов. Если углы конусов не равны, этот угол "выглядит" довольно "плохо". отвечен 15 Мар '12 1:28 Cообщество ХэшКод Да, остается только найти зависимость tet0(alpha)
(16 Мар '12 18:21)
Андрей Юрьевич
Вернее, от трех параметров (размеры конусов и угол между осями). Я, кстати, нашла, это легко. Только кому это надо? Автор, похоже, в тему не заходит....
(16 Мар '12 18:24)
DocentI
Я не против. Задача хорошая, да и картинка красивая...
(16 Мар '12 18:57)
Андрей Юрьевич
Спасибо вам за ответы. За темой все же слежу. Будем разбираться дальше...
(18 Мар '12 21:16)
phoenix-78
Если следите, может, примете чей-нибудь ответ?
(21 Мар '12 20:16)
DocentI
Оказвается, свой ответ я могу сделать общим (что я и сделала) Как бы еще сделать таким вопрос? Со своими вопросами я такое проделать не могу...
(22 Мар '12 9:10)
DocentI
показано 5 из 6
показать еще 1
|
Я так понял, что математически задача так и не была решена? Для проверки правильности зависимости площади сегмента от угла между осями деталей нужно установить эту зависимость экспериментально, например, в форме таблицы с минимальным шагом или в форме графика. отвечен 21 Ноя '17 14:01 aklimets |
@ХэшКод У меня и Андрея Ивановича возникло желание переделать этот вопрос в общий. Причина: он показался нам интересным и полезным, причем не только автору (который, похоже, после первых ответов потерял интерес к нему).
Но у нас недостаточно баллов, чтобы самим сделать его общим. Может ли модератор сделать это за нас?