×
×
Выделенный текст:
×

The Steppe - прогрессивный сайт о жизни, работе и увлечениях

Программист Ерсултан Сапар о приложении для решения задач по стереометрии, использующем дополненную реальность

Юный программист рассказал «Степи» о своем первом программном обеспечении, разработке собственного мобильного приложения и кумире, которым вдохновляется. 

Ерсултан Сапар родился в 2000 году в поселке Отеген батыр (Илийский район, Алматинская область). В этом году с отличием закончил Республиканскую физико-математическую школу в Алматы. Летом 2017-го года участвовал в nFactorial incubator, где занял первое место со своим мобильным приложением Platonic AR.

Начало пути 

Первый компьютер у меня появился в 8 лет, и уже через два года я научился программировать. Я смотрел разные видео-уроки на ютубе, с помощью которых я разработал кнопку, на которую нельзя было нажать. Она постоянно убегала, если вы наводили курсор.

С 5 класса я участвовал в конкурсах научных проектов по информатике. Мой первый проект - это электронный учебник по физике со сборником статей с разных источников.

В 6 классе я разработал программу для кафе, с помощью которой можно было заказать мороженое на сенсорных столиках без участия официанта. Это был первый опыт разработки серьезного программного обеспечения.

Я учил HTML/CSS по разным курсам и книгам в интернете, потом перешел на PHP & MySQL. Мне было интересно узнать, как создаются разные сайты и форумы, на которых я тогда проводил большое количество времени. В конце 7-го класса работал над программой для автоматизации процессов в отелях, с которой принимал участие в конкурсе научных проектов. А в 8 классе участвовал в Международной научно-исследовательской конференции молодых исследователей, которая проходила в Москве.

На всех научных конкурсах и конференциях, в которых я принимал участие  я занимал первые места. Моим научным руководителем был Сербин В. В.

В 9 классе я поступил в РФМШ. Именно тогда я открыл другую сторону программирования, о которой до этого понятия не имел: алгоритмы, решение задач, структуры данных. Если до этого я думал, что программирование это больше про интуитивные интерфейсы и немного логики, то в РФМШ я понял, что программирование тесно связано с математикой.

Стереометрия - раздел геометрии, изучающий фигуры в пространстве.

В 10 классе у меня были проблемы со стереометрией, потому что я не умел правильно представлять фигуры. В третьей четверти учитель посоветовал мне собирать фигуры из деревянных палочек и пластилина. Я собирал кубы, пирамиды, призмы и решал задачи с реальной 3D моделью. Для меня это намного понятнее, чем то, что объясняли на доске. Я мог осмотреть фигуру со всех сторон, заглянуть внутрь, потому что она была настоящей и занимала физическое пространство.

После таких занятий я начал лучше понимать стереометрию и начал решать задачи посложнее, а иногда даже без фигурок. Потому что их надо было собирать, решать задачу, обратно разбирать, да и постоянно работать с пластилином не очень удобно. Я хотел, чтобы они были у меня в кармане и я мог ими пользоваться где угодно, если мне трудно с визуализацией задачи.

nFactorial Incubator 2017

В конце 11-го класса друг предложил участвовать в nFactorial Incubator 2017. Это летняя программа по созданию мобильных приложений. Мы оба прошли отбор и сразу же после выпускного я вылетел в Астану. Первый месяц нас учили программировать в Swift. Практически у всех участвующих был опыт в программировании, поэтому в синтаксисе Swift мы разобрались быстро. После нескольких лекции по дизайну, все начали работу над своим продуктом. Метод обучения в инкубаторе был learning by doing, то есть обучение программированию посредством создания своего приложения.

Когда практически все начали работу над своим приложением, я все еще был на стадии идеи - я не хотел делать аналог уже существующего приложения. После недели нон-стоп просмотра рандомных роликов на ютубе я наконец смог прийти к идее - приложение для решения задач по стереометрии, использующий дополненную реальность.

О приложении Platonic AR

Фре́ймворк — программная платформа, определяющая структуру программной системы. 

Фреймворк для работы с дополненной реальности для устройств iOS (он назывался ARKit) вышел сравнительно недавно. Его документация все еще редактировалась, а в интернете было всего пару туториалов которые показывали одно и то же. Но я его обожал. Все это напоминало мне моменты с моего любимого фильма, где главный герой работал с помощью голограмм. Это воплощало мою идею карманных фигурок, о которых я мечтал в 10 классе. Так как многие ученики сталкиваются с проблемами по стереометрии, я понял, что это возможность помочь сделать предмет более доступным и интересным, чтобы в дальнейшем ученики могли углубиться в предмет и решать более сложные задачи.

Приложение довольно простое. При запуске сразу же открывается камера. Сначала вам нужно просканировать плоскость (стол, пол, ваш диван) на которую вы хотите поместить фигуру. Затем можно выбрать любую из 11 фигур из школьного курса стереометрии, начиная с треугольной призмы и заканчивая цилиндром.

Самой первой и основной функцией, которую я разработал, была постройка сечения, так как курс стереометрии начинается именно с этой темы. Очень важно, что приложение не строит сечение, не проводит вычисления и тем более не решает задачи за вас. В этом его основная миссия - помогать пользователю развивать пространственное мышление. У вас создается ощущение будто вы все еще решаете задачу на доске или на бумаге, только с реальными фигурами.

Разработка приложения

Над разработкой приложения я работал около двух месяцев. Моя работа шла очень медленно по сравнению с остальными участниками, так как я много рисовал, решал задачи и несколько раз переписывал код, чтобы получить лучшее качество дополненной реальности.

Мне было необходимо нарисовать фигуры, которых не было в стандартной библиотеке Swift SceneKit. После того, как я получил все фигуры, я начал интегрировать систему дополненной реальности и через неделю в комнате уже летали кубы и конусы, я тогда не знал как их зафиксировать на столе. Было очень интересно тестировать приложение - мне надо было вставать и ставить фигурки на разные плоскости (столы, полы, комнаты с разными уровнем освещения). Я часто ползал по полу, так было удобнее смотреть на фигуру с разных сторон. Проводил вычисления, которые хотел потом перенести в приложение на доске.

Я не мог выпустить приложение в App Store, потому что только устройства с iOS 11 могли поддерживать дополненную реальность  (iOS 11 вышел только в сентябре).

Также я никак не мог придумать подходящее название для приложения. Когда оставалась неделя до demo day, Арман Сулейменов предложил назвать приложение Platonic AR. Потому что тетраэдр и куб называются платоновскими телами, да и вообще Платон много чего внес в геометрию (Смеется).

Демо день

До выступления нам надо было подготовить презентацию, я сделал ее очень простой: белым текстом по черному фону, без лишних деталей. Я решил включить в презентацию видео-демонстрацию приложения вместо обычных статичных картинок.

На конкурсе участвовали всего два приложения,  использующих дополненную реальность. Думаю все это повлияло на финальный результат - 1 место на конкурсе, которое я совсем не ожидал.

В октябре я выпустил приложение с небольшим обновлением с поддержкой iPad. Я хотел протестировать приложение, чтобы определиться с его дальнейшим развитием. Поэтому я поехал в свою школу (физмат), чтобы показать учителям приложение и посоветоваться с ними.

Нам даже удалось провести тестовой урок. Отзывы были положительные, ученикам нравился новый взгляд на прежде не очень интересный урок.

Я был очень рад видеть, что приложение может действительно помогать и приносить пользу кому-то.

Я провел презентацию в еще одной школе. Собрал разные советы и предложения по улучшению приложения.

Планы

На данный момент приложение скачало больше 400 людей в семи странах, преимущественно в Казахстан. Сейчас я больше занимаюсь сбором фидбэка, нежели разработкой.

В приложении пока довольно много багов, поэтому я буду потихоньку их исправлять. Планирую провести схожие презентации и в других школах Казахстана. Начал разрабатывать сайт приложения, где можно будет узнать о процессе разработки и разных деталях приложения.

В будущем я планирую дальше развивать приложение, внедрить его во все школы страны и мира. Я очень заинтересован в пересечении образования и дополненной реальности. Думаю подход с визуализацией может помочь и с другими предметами.

Кумир

Мой кумир - Илон Маск, потому что он не только инженер, но и программист, предприниматель и изобретатель. Также меня привлекает его подход к работе.

Из казахстанских безусловно - Арман Сулейменов. Он занимается подготовкой IT кадров и является одним из немногих людей, кто развивает технологическую индустрию нашей страны. Благодаря Арману и его команде, я смог получить большой опыт в разработке приложений и запустить свое собственное.

Мы напишем вам о самом важном в The Steppe