Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Curves.doc
Скачиваний:
51
Добавлен:
01.09.2019
Размер:
4.51 Mб
Скачать

Кривизна

Тут объясняется про кривизну.

Значение кривизны, k(u), можно найти так:

k(u) = | f'(u) × f''(u) | / | f'(u) |3

Возьмем круговую спираль из предыдущего примера. Из вычислений f'(u) и f''(u), имеем

f'(u) = ( -asin(u), acos(u), b ) f'(u) × f''(u) = ( absin(u), -abcos(u), a2 ) | f'(u) | = SQRT(a2 + b2) | f'(u) × f''(u) | = aSQRT(a2 + b2) k(u) = a / (a2 + b2)

Отсюда, кривизна спирали в каждой точке постоянна и равна a/(a2 + b2).

Так как радиус окружности кривизны равен 1/k, получается, что центр этой окружности расположен на расстоянии (a2 + b2)/a от f(u) в направлении n(u).

Еще примеры

  • Дана прямая:

f(u) = ( a + up, b + uq, c + ur )

Имеем:

f'(u) = ( p, q, r ) | f'(u) | = SQRT(p2 + q2 + r2) f''(u) = ( 0, 0, 0 ) f'(u) × f''(u) = ( 0, 0, 0 ) k(u) = 0

То есть, в любой точке прямой ее кривизна равна 0.

  • Дана окружность на плоскости xy:

f(u) = ( rcos(u) + p, rsin(u) + q, 0 )

Так как она на плоскости xy, третья координата всегда 0. Имеем:

f'(u) = ( -rsin(u), rcos(u), 0 ) f''(u) = ( -rcos(u), -rsin(u), 0 ) f'(u) × f''(u) = ( 0, 0, r2 ) | f'(u) | = r | f'(u) × f''(u) | = r2 b(u) = (f'(u) × f''(u)) / | f'(u) × f''(u) | = ( 0, 0, 1 ) n(u) = (b(u) × f'(u)) / | b(u) × f'(u) | = ( -cos(u), -sin(u), 0 ) k(u) = 1/r

Таким образом, касательный вектор равен (-sin(u), cos(u), 0), бинормальный ( 0, 0, 1), а нормальный ( -cos(u), sin(u), 0). Кривизна окружности постоянна и равна 1/r. Получаем, что радиус окружности кривизны равен r и окружность сама является окружностью кривизны.

  • Дана кубическая кривая [space cubic] в пространстве:

f(u) = ( u, u2, u3 )

Вычисление кривизны: k(u):

f'(u) = ( 1, 2u, 3u2 ) | f'(u) | = SQRT(1 + 4u + 9u4 ) f''(u) = ( 0, 2, 6u) f'(u) × f''(u) = ( 6u2, -6u, 2 ) | f'(u) × f''(u) | = 2SQRT(1 + 9u2 + 9u4) k(u) = 2SQRT(1 + 9u2 + 9u4) / (SQRT(1 + 4u2 + 9u4 ))3

Почему Направляющая Тройка Важна?

Направляющая тройка векторов - это не только математическое понятие. Оно также дает важную информацию о движущемся объекте. Например, в полете самолет движется по кривой. То есть, он движется по направлению касательного вектора, вектор "вверх" направлен по бинормальному вектору, а показатель и направление поворота - это соответственно кривизна и направление нормального вектора.

Есть еще такой показатель, как кручение, он мы его тут обсуждать не будем. Нафиг надо... Неохота.

Вопросы Непрерывности

Как и упоминалось ранее, грани и ребра могут быть не только отрезками и многоугольниками, но и соответственно отрезками кривых и элементами поверхностей. Вот тут-то и могут появиться проблемы. На рисунке показаны две поверхности, соединяющиеся по кривой. Два отрезка кривых, показаны желтым и белым, соединяются в вершине X. Пусть эти кривые заданы уравнениями f(u) и g(v), где u и v - в интервалах [a,b] и [m,n] соответственно. Проблема в том, как проверить, сходятся ли они "гладко".

Возьмем "правый" конец отрезка кривой f(b) и "левый" конец отрезка кривой g(m). Если f(b) и g(m) равны, как, например, на рисунке, говорят, что кривые f() и g() C0 непрерывны в точке f(b)=g(m). Если для всех i <= k i-ые производные в точках f(b) и g(m) равны, говорят, что кривые Ck непрерывны в точке f(b)=g(m).

Прямо из определения следует, что, если два отрезка кривых Ck непрерывны в f(b)=g(m), они также Ci непрерывны для всех i <= k. С другой стороны, если k-ые производные двух кривых в точке соединения не равны, они не могут быть Ci непрерывными для любых i >= k.

Вот простой пример. Кривая состоит из двух отрезков парабол:

f(u) = ( u, -u2, 0 ) g(v) = ( v, v2, 0 ) ,

где f(), кривая слева, и g(), кривая справа, соответственно в пределах [-1,0] и [0,1]. Проверим, являются ли эти отрезки кривых C2 непрерывными в начале координат.

Вот инфа, необходимая для такой проверки:

f'(u) = ( 1, -2u, 0 ) f''(u) = ( 0, -2, 0 ) g'(v) = ( 1, 2v, 0 ) g''(v) = ( 0, 2, 0 )

Так как f'(0) = g'(0) = ( 1, 0, 0 ), эти кривые C1 непрерывны в начале координат. Тем не менее, так как f''(0) = ( 0, -2, 0 ) не равно g''(v) = ( 0, 2, 0 ), они не являются C2 непрерывными в начале координат. f''(u) направлено вниз, а g''(u) - вверх и оба постоянны, т.е. не зависят от u и v. Таким образом, при переходе точки через начало координат - от зеленого к желтому отрезку, вторая производная резко меняет свое направление. Получается, что эти отрезки кривых не являются C2 непрерывными в начале координат.

Найдем выражения для их кривизны:

Кривизна f(u) = 2/(1 + 4u2)1.5 Кривизна g(v) = 2/(1 + 4v2)1.5

Они имеют одинаковый вид, хотя u на отрезке [-1,0], а v - на отрезке [0,1]. Фактически, кривизна этих двух криволинейных отрезков от одной и той же кривой и, следовательно, они непрерывны по кривизне в точке соединения (т.e., f(0)=g(0))! Получается, кривые могут быть C1 непрерывными и даже непрерывными по кривизне, но в то же время не C2 непрерывными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]