Формулы для расчета геометрических характеристик плоских фигур, ограниченных кубическими сплайновыми кривыми
- Авторы: Калядин В.И1
-
Учреждения:
- Университет машиностроения
- Выпуск: Том 9, № 4-4 (2015)
- Страницы: 53-58
- Раздел: Статьи
- URL: https://journals.eco-vector.com/2074-0530/article/view/67032
- DOI: https://doi.org/10.17816/2074-0530-67032
- ID: 67032
Цитировать
Полный текст
Аннотация
Рассмотрен расчёт геометрических характеристик плоских фигур, контуры которых опи- саны кубическими сплайновыми кривыми. Получены точные формулы для вычисления пло- щади и статических моментов. Формулы позволяют определять положение центра тяжести фигур и объёмы тел, образованных вращением фигур вокруг оси.
Ключевые слова
Полный текст
Формулы для расчета геометрических характеристик плоских фигур, ограниченных кубическими сплайновыми кривыми доц. Калядин В.И. Университет машиностроения 8(495)-223-05-23 (1482), vi_kadin@mail.ru Аннотация. Рассмотрен расчёт геометрических характеристик плоских фигур, контуры которых описаны кубическими сплайновыми кривыми. Получены точ- ные формулы для вычисления площади и статических моментов. Формулы позво- ляют определять положение центра тяжести фигур и объёмы тел, образованных вращением фигурвокруг оси. Ключевые слова: кубические сплайновые кривые, сегмент кривой, парамет- ризация, статический момент площади. В технических приложениях часто требуется представлять плавные обводы плоских сечений деталей гладкими кривыми. Требуемые расчёты геометрических характеристик се- чений, таких как площади и различные моменты, обычно выполняют по координатам точек этих кривых. С развитием компьютерной геометрии для описания гладких контуров стали использовать кубические сплайновые кривые. Формы представления этих сплайновых кри- вых могут различаться, например, это могут быть классические параметрические сплайны [1] или В-сплайны [2] с лонгальным параметром l [1], выражающим длину ломаной, опирающейся на узлы (где l ln , n 1,, N ) сплайна. А возможно будут использованы В-сплайны или фундаментальные сплайны [3] с параметром t , изменяющимся на единицу при переходе через узлы. Однако у всех этих кривых сегменты представляются кубическим параметриче- ским полиномом. Поэтому расчёты геометрических характеристик сечений, которые ограни- чены сплайновыми кривыми, естественно ориентировать на параметры сегментов этих кри- вых. Вывод формул для таких расчётов, позволяющих вычислять площади и статические моменты, представлен далее. Площадь внутри замкнутого контура C определяется по формуле S 1 (x dy y dx) . (1) 2 C Заметим, что если обход контура выполнять против хода часовой стрелки, то модуль- ные скобки в формуле можно опустить. В случае задания контура в виде полигона площадь (площадь многоугольника) вычисляется по xn , yn -координатами его вершин: 1 N . (2) 2 S n1xn1 yn xn yn1 В случае, когда контур C образован замкнутой сплайновой кривой, ограниченную им площадь S можно точно выразить через параметры этой кривой, суммируя составляющие Sn площади по её сегментам: N S n1 Sn . (3) С целью вычислить составляющие Sn по сегментам рассмотрим для кубической сплайновой кривой V(t) представление её n-го сегмента Vn (t) Vn (t) Pn1 (t) Pn (t) hn Tn1 (t) hn Tn (t), N t 0, 1, (4) hn ln ln1, L n1 hn (5) где: Vn (t) X n n tY tT - вектор-функция и составляющие вектора, Pn1, Pn - векторы точек начала и конца сегмента ( Pn xn n y T ), hn - длина звена ломаной в представлении лонгального параметра (иначе hn 1), Tn1, Tn - векторы касательных в начале и в конце сегмента ( Tn dV dl TX n T TY n ), 2 3 (6) (t) 3t 2 2t3 , (7)2 (t) t 2t 2 3t3 , (8)3 (t) t 2 1 t . (9)4 (t), (t), (t),(t) - весовые функции: (t) 1 1 3t 2t , Составляющую площади, ограниченную замкнутым контуром, можно вычислить по формуле: 1 1 1 1 1 Si 2 Vi dVi 2 2 Vi (t) dVi (t) X i (t) Y (t) X (t) Y (t)dt . (10) C 0 0 Представим весовые функции и определяющие параметры сплайна в форме векторов: Φ T (t) (t) (t) (t)T , Π P P h T h T T , (11) 1 2 3 4 n1 n n n1 n n а сегмент представим в виде внутреннего произведения этих векторов: n V (t) ΦT Π . (12) T T T (13) Y (t) ΦT v ΦT y y h T h T T , (14)n n n1 n n Y n1 n Y n X (t) Φ T u Φ T x x h T h T T , (15)n n n1 n n X n1 n X n Y (t) Φ T v Φ T y y h T h T T , (16)n n n1 n n Y n1 n Y n Аналогично записываются произведения для проекций: X n (t) Φ un Φ xn1 xn hn TX n1 hn TX n , где вектор Φ (t) (t) (t) (t)T (17) содержит (обозначенные точкой) производные от весовых функций по параметру. Перпишем теперь интеграл (10) с учётом (13)-(16): S 1 1 uT ΦΦ T v uT Φ ΦT v dt 1 uT 1 ΦΦ T Φ ΦT dt v 1 T u A vn , (18) 2 n n 0 2 n n n n 0 n 2 n где элементы (4×4)-матрицы A представляют собой интегралы: 1 ai, j i t j t i t j t dt , [ai, j ] A , (19) 0 от разности весовых функций и их производных. После вычисления этих интегралов получаем матрицу: 0 1 1 5 1 5 1 A 0 1 5 1 5 . (20) 15 15 0 130 15 1 5 130 0 Суммирование составляющих Si по всем N участкам замкнутой сплайновой кривой даёт формулу для вычисления площади: N 1 N T S n1 Sn 2 n1 un A vn , (21) где: T un uk n [u1 u2 T u3 u4]n [xn1 xn hn TX n1 hn TX n ] , (22) vn vkn [v1 v2 v3 v4]n [ yn1 yn hn TY n1 hn TY n ] . (23) Отметим, что если параметр на сегменте сплайновой кривой меняется от нуля до единицы, то шаг hn=1 в формулах (22), (23) может быть опущен. Имея это в виду и обозначая для краткости производные hn TX n , hn TY n по параметру t соответственно через pn , qn : pn1 hn TX n1, pn hn TX n , qn1 hn TY n1, qn hn TY n , (24) приведём запись формулы (21) в виде алгебраического (не матричного) выражения: S 1 N x y x y xn1 xn qn1 qn yn1 yn pn1 pn pn1qn pn qn1 . (25) 2 n1 n1 n n n1 5 30 Заметим также, что в случае нулевых производных, когда сплайновая кривая вырожда- ется в полигон, «работает» только левая верхняя (2×2)-часть матрицы A в формуле (20) и первое слагаемое в квадратных скобках формулы (25). При этом формулы совпадают с упо- мянутой выше формулой (2). Рассмотрим теперь вычисление статического момента площади, например, относитель- но оси OY. Этот момент определим интегралом: 1 2 1 L 2 2 MY x C dy x(l) 2 0 y(l) dl , (26) предполагая, что контур C обходится против движения часовой стрелки. Также как в случае площади организуем суммированием по сегментам: N где: MY n1 MY n , (27) 1 1 2 MY n 2 0 xn (t) yn (t) dt , (28) Представим формулу с введёнными выше обозначениями: 1 1 T T T 1 1 T T MY n 2 0 u ΦΦ u Φ v dt u ΦΦ 2 u Y 1 (t) Y (t) h T (t) h T (t) dt 0 n n 1 T 1 T n Y n 1 1 T 1 n Y n T (29) Yn1 u 2 0 ΦΦ (t)dt u Yn u 2 0 ΦΦ (t)dt u 1 T 1 T 1 T 1 T hn TY n1 u 2 0 ΦΦ (t)dt u hn TY n u 2 0 ΦΦ (t)dt u Обозначив интегралы как: B ΦΦ (t)dt b dt , (30) 1 T 1 k 0 k i, j,k 0 i j k запишем формулу для составляющих статического момента: M 1 4 vk u T B u , (31) Y n 2 k 1 n n k n а статический момент всего сечения определим формулой: M 1 N 4 vk u T B u , (32) Y 2 n1 k 1 n n k n где симметричные матрицы Bk имеют вид: 1 1 5 17 1 1 5 17 3 6 84 420 3 6 84 420 1 6 3 420 84 , B2 6 3 420 84 5 17 1 1 5 17 1 1 B1 1 17 5 1 1 17 5 , 84 420 84 420 84 105 17 5 1 1 84 105 17 5 420 84 5 2 1 105 1 1 84 1 420 17 84 105 2 11 84 1 (33) 42 105 168 280 210 105 840 168 2 17 1 11 2 5 1 1 B3 105 210 168 840 , B4 105 42 280 168 . 1 1 0 1 11 1 1 1 168 168 840 840 280 420 840 1 11 1 1 1 1 1 0 280 840 840 420 168 168 840 Первые две матрицы связаны соотношением B1= -B2, а матрицы B3,B4 можно предста- вить как клеточные тремя подматрицами размером (2×2): B H C , H (C ) 3 T B4 diagT diagT T CdiagT WdiagT , (34) C W где оператор diagT означает перемену местами элементов главной диагонали указанных (2×2)-матриц. Опираясь на это выведем иной вариант формулы для расчёта статического момента: M N M k 1,2 M k 3,4 (35) Y n1 Yn Yn с алгебраическим (не матричным) выражением для вычисления внутренней суммы в (32). Учитывая равенство B2 B1 , запишем: k 1,2 1 2 T 1 T MYn 2 k 1 vkn un Bk un yn yn1 2 un B2un , (36) где переписанный в обозначениях (24) правый сомножитель равен: x2 x x x2 17x p 25x p x p 17x p p2 2 p p p2 u T B u n 1 n 1 n n n 1 n n n n 1 n 1 n n 1 n 1 n 1 n n . (37) n 2 n 3 210 84 105 84 Второе (из двух взятых в скобки) слагаемое в (35) представляется в следующем виде: k 3,4 1 4 T 1 3 4 MYn 2 k 3 vkn un Bk un qn1 F 2 qn F , (38) где слагаемые в (38) определяются выражениями: q F 3 q xn1 xn (25xn1 17xn ) ( pn1 pn ) pn 1 3xn1 11xn pn n1 n1 105 210 420 (39) qn1 5(xn1 xn ) pn1 420 q F 4 q xn xn1 (25xn 17xn1 ) ( pn pn1 ) pn1 1 3xn 11xn1 pn1 n n 105 210 420 (40) qn 5(xn1 xn ) pn 420 ями: В итоге представим (35) как выражение с алгебраическими (а не матричными) операци- 1 N 2 M y y 2 2 xn1 xn1xn xn f (x , x , p , p , 1) f (x , x , p , p , 1) Y n1 n n1 3 n1 n n1 n n n1 n n1 (41) q f 1 x , x , p , p , 1 q f 1 x , x , p , p , 1 5 xn1 xn qn1 pn1 qn pn n1 где: n1 n n1 n n n n1 n n1 420 f (a, b, c, d, sgn) sgn (25c 17d ) a c d c (42) 210 84 105 f 1(a, b, c, d, sgn) a b (25a 17b) 210 (c d ) sgn 3a 11b d 420 (43) Покажем, что представленные формулы (32) и (41) - (43) в случае вырождения замкну- той сплайновой кривой в полигон (при нулевых производных) дадут совпадение с формулой: 2 2 M 1 N y y yn1 yn1 yn yn (44) Y 2 n1 n n1 3 для статического момента многоугольника. Действительно, используя в (32) и в (41) - (43) только первые две компоненты xn1, xn , yn1, yn векторов u, v и считая нулевыми две последние (связанные с производными) компоненты этих векторов, получаем формулу (44). Для вычисления статического момента относительно оси OX при сохранении направления обхода контура перед множителем ½ следует указать знак «-», а в формуле (32) поме- нять местами векторы u и v: 1 N 4 T . 2 M X n1 k 1 ukn vn Bk vn (45) В формулах (41)-(43) для вычислении момента M X , указав знак «-» прерд множителями ½, следует также поменять местами компоненты xn1 и yn1 , xn и yn , а также компоненты pn1 и qn 1 , pn и qn . Рассмотрим в качестве примера представление четырьмя сегментами замкнутой куби- ческой параметрической сплайновой кривой окружности радиуса r = 2, получаемой в мери- диональном сечении тора (рисунок 1), для которого расстояние от оси тора до центра ука- занной окружности составляет R = 3. Рисунок 1. Тор с r=2 и R=3 При лонгальной параметризации длины hn (n 1,,4) хорд сегментов равны 8 , то есть hn 8 . Координаты узлов и производные по лонгальному параметру следующие: 5 0 0 4 2 2 x 1 , y 0 , T 0 , T 4 2 2 . u xn , v yn (46) X Y n h T n h T 3 2 4 2 2 0 n Xn1 n Yn1 hn TXn hn TYn 5 0 0 4 2 2 Вычисленная по формуле (21) и/или (25) площадь внутри представляемой окружности составит: S 4 S 1 N uT A v 12.569889 (47) n1 n 2 n1 n n (площадь круга составляет S=12.56637). Вычисленный по формуле (32) и/или формулам (41)-(43) статический момент MY пред- ставляемой площади круга равен: M 1 4 4 vk u T B u 37.709668 (48) Y 2 n1 k 1 n n k n (статический момент круга составляет 37.699112). Можно вычислить объём тора, полученный как тело вращения представляемой окруж- ности: V 2 MY 236.9368319 (49) (объём изначально заданного тора составляет 236.870506). Таким образом, в примере выполнен расчёт указанных геометрических характеристик по параметрам кубической сплайновой кривой, заданным всего лишь в четырёх её узлах. За- метим, что при аппроксимации контура полигоном для достижения той же точности потре- бовалось более 150 узлов (вершин полигона). Когда определяющий параметр t сплайновой кривой изменяется на сегменте от 0 до 1, в формулах для un и vn следует непосредственно задавать производные по этому параметру. Так следует сделать для фундаментального сплайна, а использованным выше производным dVdt hn TYn 8 4 2 2 3.314 в таком случае будет соответствовать фундаментальный сплайн с параметром натяжения w 1 8 2 2 0.657 и соответственно «степенью гладкости» («tension» в [3]) s 1 w/ 2 0.828 . Другие примеры применения формул для вычисления площадей и моментов площадей, ограниченных замкнутыми сплайновыми кривыми, можно найти в [4]. Выводы Представленные здесь (в матричном виде и в виде алгебраического выражения) форму- лы (21), (25) и (32), (41)-(43) позволяют точно вычислять площади и соответственно статиче- ские моменты площадей, ограниченных замкнутыми кубическими сплайновыми кривыми, которые часто используются для описания контуров объектов в технических приложениях. Формулы также могут использоваться для вычисления объёмов тел вращения плоских фи- гур, описываемых кубическими сплайновыми кривыми.×
Об авторах
В. И Калядин
Университет машиностроения
Email: vi_kadin@mail.ru
доц.; +7(495)-223-05-23 (1482)
Список литературы
- Завьялов Ю.С., Леус В.А., Скороспелов В.А. Сплайны в инженерной геометрии. М.: Машиностроение, 1982, 304 с.
- Gordon W., Riesenfeld R. B-spline. Curves and Surfaces. In Computer - Aided Geometric De- sign, New-York, Academic Press, 1974. P. 95-126.
- Microsoft Document Explorer, GDI+, DrawClosedCurve-metod, Microsoft Corp. 2008.
- Калядин В.И. Численные методы: решение задач в Excel на VBA. Часть 1. М.: Университет машиностроения, 2013. 142 с.