перечисление D3DXTRANSITION_TYPE
Определяет стиль перехода между значениями анимации сетки.
Синтаксис
typedef enum D3DXTRANSITION_TYPE {
D3DXTRANSITION_LINEAR = 0x000,
D3DXTRANSITION_EASEINEASEOUT = 0x001,
D3DXTRANSITION_FORCE_DWORD = 0x7fffffff
} D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;
Константы
-
D3DXTRANSITION_LINEAR
-
Линейный переход между значениями.
-
D3DXTRANSITION_EASEINEASEOUT
-
Переход между значениями с помощью специальных возможностей и специальных возможностей.
-
D3DXTRANSITION_FORCE_DWORD
-
Принудительно компилирует это перечисление до 32 бит в размере. Без этого значения некоторые компиляторы разрешали бы компиляцию этого перечисления до размера, отличного от 32 бит. Это значение не используется.
Комментарии
Вычисление для рампы от ease in до ease out вычисляется следующим образом:
- Q(t) = 2(x - y)t² + 3(y - x)t² + x
где пандус — это функция Q(t) со следующими свойствами:
- Q(t) — это кубический сплайн.
- Q(t) интерполирует между x и y, так как t в диапазоне от 0 до 1.
- Q(t) является горизонтальным, когда t = 0 и t = 1.
Математически это означает следующее:
- Q(t) = At² + Bt² + Ct + D (и, следовательно, Q'(t) = 3At² + 2Bt + C) 2a) Q(0) = x 2b) Q(1) = y 3a) Q'(0) = 0 3b) Q'(1) = 0
Решение для A, B, C, D:
- D = x (от 2a) C = 0 (от 3a) 3A + 2B = 0 (из 3b) A + B = y - x (из 2b и D = x)
Таким образом:
- A = 2(x - y), B = 3(y - x), C = 0, D = x
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел