Автор: Пользователь скрыл имя, 09 Июня 2013 в 14:42, отчет по практике
Мльтитач или сенсорные столы - это новый продукт на российском рынке, но, тем не менее, данное оборудование уже зарекомендовало себя как очень интересное бизнес-решение для компаний, занимающихся продажей товаров и услуг. Данные столы можно использовать для различных целей. Таких как:
1. Развлечения (игры, интернет – серфинг и т.д.);
2. Проведение презентаций;
3. Работа с мультимедиа (просмотр фото, видео) и т.д.
Введение 3
Раздел I. Постановка задачи 4
Деятельность предприятия 4
Постановка задачи 6
Раздел II. Решение поставленной задачи 7
Инструментальные средства и технологии 7
Реализация 8
Заключение 21
Список использованных источников 22
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
…
<TextBlock.RenderTransform>
<TransformGroup>
<TranslateTransform X="0" Y="0" x:Name="transX"/>
</TransformGroup>
</TextBlock.RenderTransform>
После структуры самой галереи идут триггеры запускающие анимации.
Первый триггер проверяет
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="transX" Storyboard.TargetProperty="X" To="10" Duration="00:00:00.3"/>
<ColorAnimation Storyboard.TargetName="desc" Storyboard.TargetProperty="(
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="transX" Storyboard.TargetProperty="X" To="0" Duration="00:00:00.3"/>
<ColorAnimation Storyboard.TargetName="desc" Storyboard.TargetProperty="(
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
Второй триггер проверяет
<Trigger Property="IsSelected" Value="True">
<Setter Property="Visibility" TargetName="closeButton" Value="Visible"/>
<Setter Property="Panel.ZIndex" Value="1"/>
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="img" Storyboard.TargetProperty="
<DoubleAnimation Storyboard.TargetName="img" Storyboard.TargetProperty="
<DoubleAnimation Storyboard.TargetName="
<DoubleAnimation Storyboard.TargetName="
<DoubleAnimation Storyboard.TargetName="
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard >
<Storyboard >
<DoubleAnimation Storyboard.TargetName="img" Storyboard.TargetProperty="
<DoubleAnimation Storyboard.TargetName="img" Storyboard.TargetProperty="
<DoubleAnimation Changed="DoubleAnimation_
<DoubleAnimation Storyboard.TargetName="
<DoubleAnimation Storyboard.TargetName="
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
В итоге получим следующую галерею:
При помощи страницы настроек можно изменять такие значения как:
Так же помимо, приведенного выше, шаблона были разработаны следующие вариации:
Подготовка дипломного проекта
В ходе преддипломной практики, параллельно с основным заданием, велась разработка дипломного проекта.
Были изучены следующие методы градиентной оптимизации:
Метод сопряженных градиентов
Основной принцип метода - организация поиска вдоль сопряженных направлений, используя квадратичную аппроксимацию целевой функции и значение градиента.
Операции аргумента проводятся по формуле:
x(k + 1) = x(k) + a(k)•s(x(k)).
Направление поиска на каждом шаге определяется с помощью формулы Флетчера-Ривса:
s(k) = -g(k) +
Направление s(k) будет сопряжено со всеми ранее построенными направлениями поиска.
Если функция f(x1, x2, ... , xN) квадратична, то для нахождения точки экстремума требуется определить N-1 таких направлений и провести поиски вдоль каждой прямой. Если f(x) не является квадратичной, то количество поисков возрастет.
Метод Ньютона
Данный метод использует информацию о производных высших (в нашем случае - второго) порядков целевой функции. Эта информация появляется при квадратичной аппроксимации целевой функции, когда при её разложении в ряд Тейлора учитываются члены ряда до второго порядка включительно. Вычисления производятся по формуле:
где – матрица Гессе, а – градиент.
Матрица Гессе вычисляется по формуле:
В случае, когда матрица Гессе положительно определена, то направление поиска по методу Ньютона оказывается направлением спуска.
Квазиньютоновский метод
Данный метод обладает положительными чертами метода Ньютона, однако, использует информацию только о первых производных. Приближение к очередной точке задается формулой:
x(k+1) = x(k) + a(k)s(k)
Направление поиска определяется как
s(k) = -A(k)•Ñ¦(х(k))
, где A(k) - матрица порядка N´N (метрика), вычисляющаяся по формуле Девидона-Флетчера-Пауэлла:
A(k) = A(k-1) +Ac(k-1)
, где
Ac(k-1) =
Dg(k) = g(k) - g(k-1) - изменение градиента,
Dx(k) = x(k) - x(k-1) - изменение аргумента.
Матрицу A(0) удобно выбирать единичной.
Руководство пользователя
Рис.1 Главная страница
На главной странице, перед тем как произвести вычисления, пользователю предлагается выбрать одну из трех реализованных функций.
Затем пользователю предлагается выбрать один из двух методов реализованных в данной программе. Также предлагается ввести начальные координаты (точка x0) и свободные коэффициенты, если это необходимо, в случае если свободных коэффициентов нет, поля ввода становятся недоступными (рис. 2).
Рис.2 Главная страница для функции без свободных коэффициентов
При нажатии кнопки «Выполнить» производится пошаговый расчет для выбранного метода. Результаты вычислений на каждом шаге выводятся в dataGridView (рис.3). В котором первый столбец показывает номер итерации, второй и третий столбцы это координаты градиента функции на конкретной итерации (g[i].x1,g[i].x2), четвертый и пятый столбцы отображают координаты направления поиска (s[i].x1,s[i].x2), шестой столбец выводит вспомогательный коэффициент alpha, последние два столбца, это координаты искомой точки на каждой итерации.
Рис.3 Вычисления для метода сопряженных градиентов
В случае с квазиньютоновским методом помимо основных значений которые выводятся в dataGridView2, в dataGridView3 выводятся значения метрики используемые для вычислений (рис.4). В котором каждый из столбцов отвечает за один из коэффицентов матрицы A:
Рис.4 Вычисления для квазиньютоновского метода
Заключение
В ходе практики были разработаны и внедрены шаблоны галерей. Так же были получены следующие навыки и опыт:
Были изучены технологии создания анимации на платформе Windows Presentation Foundation. А именно анимация на основе пути, в основе которой лежит траектория движения, задаваемая объекту.
Так же было рассмотрен и использован язык разметки XAML, как наиболее удобный для перспективы развития проекта (так как легко интегрируется в другие программы, например для дизайна).
Данный проект, может быть использован клиентами фирмы для демонстрации их услуг. В дальнейшем в проект может быть добавлено:
Список использованных источников
http://www.professorweb.ru
Тюмень - 2013
Информация о работе Отчет по практике в IT компания «RTI - Lab»