Когда в техническом вузе преподаватель заставляет студентов писать конспекты от руки, получается что-то вот такое:


Фотка двух листов конспекта


Это – результат работы программы, генерирующей рукописный текст пользовательским почерком. Она может менять толщину пера и цвет пасты, писать буквы слитно или раздельно, поддерживает письмо на множестве разных языков и потенциально способна переносить слова по слогам на многих из них. Написано на C++/Qt, есть версии под Windows и Linux. Дальше будет небольшой разбор рукописного письма, описание разных способов его имитации, разбор наиболее интересных моментов работы программы и ссылка на репозиторий.


Почему программная генерация индивидуального рукописного письма – это сложно? Дело в том, что рукописное письмо очень изменчиво, здесь нет такой жёсткой предопределённости, как при печати. Для правдоподобной имитации рукописного письма надо учитывать как минимум вот такие его особенности:


  • Начертание букв зависит от того, какие буквы стоят рядом
  • Для каждого символа добавляются рандомные и не очень искажения, из-за чего абсолютно идентичные символы в тексте обычно не встречаются.
  • Слова могут быть написаны слитно или раздельно. Также можно совмещать оба варианта написания.
  • Меняются ширина, высота и наклон, как у символов, так и у строк.

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


Как это обычно делают?


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


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


А как сделать лучше?


Основная идея такая: берём печатный текст, для каждого символа берём рукописный глиф и размещаем его на виртуальном листе бумаги в нужное место. При этом для одного и того же символа глифов должно быть несколько, а конкретный должен выбираться случайным образом, иначе будут те же проблемы, что и у шрифтов OpenType. Потом уже можно будет вносить различные искажения как на весь лист бумаги, так и для отдельной строки или символа. Вероятно, можно будет искажать глифы таким образом, чтобы из одного введённого глифа получить сразу готовый набор.


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


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


Векторный или растровый шрифт?


Раз мы говорим об индивидуальном письме, надо предусмотреть возможность забить в программу свои глифы. Достаточно очевидное решение — дать пользователю возможность распечатать шаблон для заполнения и затем брать глифы со скана заполненного шаблона. Однако для этого нужно решить следующие задачи:


  • Очистить шаблон от шума
  • Распознать специальные метки на шаблоне, чтобы понять, к какому символу какие глифы
  • Вырезать каждый глиф из фона

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


Так что в моей программе используется векторная графика. Алгоритм создания шрифта теперь такой: пользователь открывает его любимый векторный редактор, рисует нужные глифы (желательно с помощью планшета), сохраняет их, а потом загружает в программу. Минусы у такого решения следующие:


  • Можно забыть об имитации вообще любых письменных принадлежностей, в том числе шариковых ручек. Теперь текст как будто написан капиллярной ручкой, и я не вижу способа это изменить.
  • Время на создание полного комплекта глифов увеличивается в несколько раз по сравнению со временем заполнения бумажного шаблона, а это осилит не каждый.
  • Графические планшеты у среднего пользователя встречаются намного реже, чем сканеры, что ещё сильнее уменьшает потенциальную аудиторию.

Но появляются разные бонусы:


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

Размещение символов на листе


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


Скриншот редактора шрифтов
Жёлтый прямоугольник – как раз та часть символа, которая находится в пределах строки


В редакторе шрифтов как раз можно задать положение символа относительно строки и других символов, указывая границы символа жёлтой рамкой. А ещё тут, разумеется, ставятся в соответствие символы и конкретные глифы.


Данные для слитного написания


Помимо жёлтой рамки в редакторе шрифтов заметны ещё и два круглых указателя. Это – точки, куда будут приходить соединительные линии от соседних букв. Да, для слитного написания слова находящиеся рядом буквы просто соединяются прямыми линиями. По идее, лучше было бы использовать сплайны, но если писать буквы без длинных хвостиков, учитывая, что программа будет рисовать хвостики за пользователя, в глаза это бросаться не будет.


Частичная автоматизация создания шрифта


Указывать всё это вручную для каждого символа – застрелиться можно. Надо как-то упростить процесс создания своего шрифта.


Во-первых, есть автоматическая загрузка глифов. При сохранении глифа из любимого векторного редактора достаточно назвать файл по определённому шаблону, и программа отнесёт его к нужному символу. Шаблон такой: сам символ, затем, если нужно, номер; можно разделить их нижним подчёркиванием. И, поскольку Windows не видит большой разницы между заглавными и строчными буквами, для заглавных нужно добавить префикс «UP_». Правда, такой трюк работает не со всеми символами, т.к. далеко не всё можно использовать в имени файла, поэтому вместо запрещённых символов можно писать их название.


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


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


Перенос слов по слогам


Чтобы правильно разбить слова на слоги используется алгоритм П. Христова в модификации Дымченко и Варсанофьева. Если коротко: с помощью регулярных выражений описываются две группы букв, между которыми должен располагаться дефис. Затем конкретное слово с помощью последовательного применения этих правил разбивается на слоги, выбирается ближайший к краю дефис и вся правая от дефиса часть слова переносится на новую строку.


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


Вот так выглядят правила для русского языка:


  • «Х-ЛЛ»
  • «Г-ГЛ»
  • «ГС-СГ»
  • «СГ-СГ»
  • «ГС-ССГ»
  • «ГСС-ССГ»

Здесь Л – любая буква, Г – гласная, С – согласная, Х – буква из набора «йьъ». Чтобы предоставить пользователям возможность изменять правила, не модифицируя исходный код, я вынес их в отдельный файл:


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


Прочие возможности


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


Скриншот настроек


Ещё немного фоток конспекта


Кликабельно:


Фото 1


Фото 2


Фото 3


Исходники


Как и обещал – ссылка на репозиторий: https://github.com/aizenbit/Scribbler

Поделиться с друзьями
-->

Комментарии (72)


  1. Scf
    29.11.2016 13:35
    +13

    Эх, а я-то подумал, что решена проблема распознавания речи лектора.


    1. kindacute
      29.11.2016 23:03

      Ну лекции наверняка тяжело распознавать в связи с обилием формул, а речь распознавать проблемы нет, ну по крайней мере в английском языке: http://www.nuance.com/for-business/nuance-transcription-engine/index.htm


      1. Oxoron
        30.11.2016 11:13

        Возможно, я ткнул не ту ссылку, но цена 500$ не вдохновляет. По крайней мере, для поставленой задачи.


  1. Framework
    29.11.2016 13:42
    +1

    Всё здорово. Но читал и думал, когда же уже про распознавание речи будет.
    Не думали прикрутить, например, Sphinx?


    1. aizenbit
      29.11.2016 19:30

      В сторону распознавания речи пока не думал. Мне кажется, что эта задача лежит несколько в другой плоскости, чем та, которую решат моя программа: генерация рукописного текста из печатного. И для решения этой задачи наверняка уже есть что-то готовое, откуда можно скопипастить текст в моё приложение.

      Но вообще идея интересная.


  1. kdenisk
    29.11.2016 13:47
    +2

    Классно получилось, я бы не отличил с ходу от настоящего рукописного текста. Есть схожий проект — http://coo.by/writer_dev, возможно вам будет интересно посмотреть.

    Что касается переносов в русском языке. Строгие правила опираются на морфемное строение слова. Так, например, не рекомендуется переносить часть приставки, если можно этого не делать. Но если без фанатизма, то можно и алгоритмическим решением ограничиться.


    1. DrPass
      29.11.2016 14:40
      +7

      Не знаю, я наоборот, сразу подумал, что текст какой-то странный. Живой человек так не пишет — все буквы рядышком, одинаковые по высоте, зато разные по наклонам. Кроме того, некорректно работает алгоритм

      Для каждого символа добавляются рандомные и не очень искажения, из-за чего абсолютно идентичные символы в тексте обычно не встречаются.

      Здесь в тексте эти самые «искажения» сделаны как-то не «по-человечески». Человек пишет в каком-то одном стиле. Поэтому все буквы обычно имеют одинаковый наклон и одинаковую форму, отличаясь в мелких деталях.


      1. aizenbit
        29.11.2016 19:36
        +1

        Кроме того, некорректно работает алгоритм

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

        все буквы обычно имеют одинаковый наклон и одинаковую форму, отличаясь в мелких деталях

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

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


  1. frog
    29.11.2016 13:50
    +5

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

    Хотя конечно если бы мне сказали, что это от руки написано, я бы поверил.


    1. evocatus
      29.11.2016 14:08
      +3

      Да. Ещё у живого человека редко скачет наклон букв


      1. Oxoron
        29.11.2016 14:19
        +15

        Вы меня только что в мертвецы записали. Плохая примета перед релизом.


  1. nikitastaf1996
    29.11.2016 13:54

    получается что-то вот такое:

    Я аж испугался.Что это за монстр?


  1. AterCattus
    29.11.2016 14:28
    +4

    Крутота. Такое бы, да лет 10 назад на время универа :-D


  1. zagayevskiy
    29.11.2016 14:53
    +2

    Ааа, статья про то, как схалтурить… Я-то думал, что будет про использование кванторов по максимуму и какую-нибудь крутую систему сокращений и/или «форматирования», чтобы не было этой стены текста. Незачёт. Конспект обычно пишется для себя, а не чтобы порадовать препода.


    1. Evengard
      29.11.2016 15:02
      +7

      Некоторые преподы требуют как «отчётность», причём обязательно в рукописном виде, всех конспектов.


      1. DrPass
        29.11.2016 15:30
        +2

        Ну так все равно в таком случае проще переписать в тетради, чем всё перенабирать, и ещё придумывать, как это распечатать, чтобы оно было похоже на рукописный текст, а не на результат работы принтера. И это при том условии, что в конспекте не было каких-нибудь графиков, схем и т.д. А ещё препод и с почерком студентов обычно знаком… В общем, данную проблему подобной программой, как по мне, решить можно только в очень-очень редких частных случаях.


        1. j_wayne
          29.11.2016 19:24

          Краудсорсинг же! Раздаешь одну тетрадь одногруппникам по частям…
          В свое время мы так делали сборники билетов для экзаменов (в т.ч. миниатюрные).

          >> А ещё препод и с почерком студентов обычно знаком…
          Лектор, как правило, не знаком


        1. khanid
          29.11.2016 23:54

          Шрифты сделать из своих каракуль несложно, в принципе.


        1. Free_ze
          30.11.2016 11:18

          Один человек пишет на ноутбуке (за шоколадку), остальные печатают.

          А ещё препод и с почерком студентов обычно знаком…

          Чаще всего лекции читают нескольким группам. Да и чаще всего проверяют наличие конспекта, а не его содержание ("… Материалом для изготовления корпуса прибора выбран дуб, потому что препод тоже дуб и не станет читать это...").


      1. zagayevskiy
        29.11.2016 20:27

        В ВУЗе с таким не сталкивался. Препод заставлял купить книгу за своим авторством — было. А конспекты проверять… Нет, не помню такого.


        1. Free_ze
          30.11.2016 11:24

          Этим часто страдают преподаватели «побочных» и глубоко теоретических дисциплин, вроде гуманитарных кафедр в технических вузах. Никогда не забуду, как препод по истории нарисовала мне красной ручкой полконспекта полей (как в школе, по краям, тогда как тетрадь была «на пружине» и мне удобнее было их делать в середине разворота). И не лень же было, хотя она у всего потока (около 300 человек) проверяла =)


    1. iborzenkov
      29.11.2016 15:10
      +5

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

      UPD: согласен с Evengard — просто более развернуто — почему


      1. DrPass
        29.11.2016 15:33
        +1

        Хороший специалист по гуманитарной дисциплине не пойдет в технический вуз, так-же как и хороший специалист по технической в гуманитарный

        Почему? Преподаватели — это не студенты, если они не ведут параллельно с преподаванием научную работу, то они выбирают ВУЗы по зарплате и условиям труда, а не по специализации. Кроме того, многие университеты прекрасно сочетают в себе и гуманитарные, и технические факультеты.


        1. synedra
          30.11.2016 10:29
          +1

          Если взглянуть на дело с другой стороны, получается примерно вот что. У гуманитариев есть такая дисциплина, как КСЕ, концепции современного естествознания. Может, сейчас её переименовали, но раньше так называлась. Это довольно разрозненные обрывки современной биологии, физики, химии чуть выше школьного уровня, призванные дать общее представление о том, чем примерно сейчас занимаются не-гуманитарии. Гениальность идеи втолкнуть всю не вошедшую в школьный курс науку в семестр или два вроде бы очевидна, но вот есть курс в программе и никуда его не денешь.

          Как вы думаете, насколько реально уболтать читать этот курс человека, который серьёзно занимается, скажем, человеческой транскриптомикой в связи с раком? Он, во-первых, даже в пределах биологии едва ли хорошо разбирается в нейронауках или экологии экстремофильных бактериальных сообществ. А во-вторых, у него есть пара-тройка более увлекательных занятий, чем пересказывать википедию для аудитории, которая на его предмет плевать хотела. Преподаватели, не ведущие параллельно с преподаванием научную работу, кстати, не нужны. Так что КСЕ читает либо молодой преподаватель с какого-нибудь естественнонаучного факультета, который не успел от этого сомнительного удовольствия отмазаться, либо кто-то, кто на нормальный факультет не попал в принципе.

          Так вот, у гуманитариев примерно то же самое. Хорошему (даже просто сносному) экономисту нет смысла идти на биофак рассказывать первокурсникам про эластичный и неэластичный спрос, он занимается какими-то делами, у которых эти первокурсники и названия-то не поймут. Так же поступают хороший лингвист, хороший политолог и хороший философ, а соответствующие предметы читают кому придётся. Философии дополнительно не повезло, потому что соответствующие кафедры для непрофильных факультетов в девяностые формировали из кафедр марксизма-ленинизма и научного атеизма, и по крайней мере у нас в ИНЦ СО РАН это откровенное фрик-шоу.


          1. merlin-vrn
            30.11.2016 10:47

            Я думаю, можно уже ржать и валяться под столом, но я учился на физфаке и у нас, тем не менее, БЫЛ этот курс КСЕ. Гениально, правда?


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


          1. Roman_Yankovskiy
            01.12.2016 01:13

            Вы путаете «хорошего экономиста» с «хорошим преподавателем», а это пересекающиеся множества. И в вузе требуется именно умение преподавать, а не уровень специализации в предмете. Другое дело – организация, на факультете создается кафедра чего-то там для других факультетов, и на нее попадают худшие преподаватели. Впрочем, с появлением MOOC и подобных вещей появляется все больше выдающихся популяризаторов вроде того же В.Г. Сурдина – разве его не назовешь «даже сносным астрономом»?


    1. Lomil
      29.11.2016 20:05

      Я как-то писал конспект по электронике псевдокодом с выделением информации вложенными блоками а-ля Python. Удобно и препод не возражал. Но как такое провернуть с какой-нить экономикой? Препод, увидев что-то совсем непонятное просто не примет конспект и крутись как хочешь.


    1. Randl
      30.11.2016 09:22
      -1

      Как писать конспекты? В LaTeX и упаси боже даже задуматься об этом шрифте, их же читать потом


  1. AntonRiot
    29.11.2016 15:06
    +1

    Так что с этим делать – распечатывать в тетрадях? Или сейчас конспекты проверяют по фотографиям?


    1. Free_ze
      29.11.2016 15:21
      +4

      Интересно о том, как попадать в разметку) Да и держа в руках, мне кажется, очень просто отличить следы ручки от чернил.
      Нужно устройство вроде плоттера, которое бы писало ручкой, но чтобы само листы переворачивало и затем позиционировалось в разметку. Кажется, дешевле будет найти раба-копирайтера на все время обучения


      1. aizenbit
        29.11.2016 19:44
        +1

        Чтобы попадать в разметку, приходится подгонять расположение строк вручную (мне на это потребовалось примерно 5 проб), а потом просто надеяться, что разметка не сильно сползает от листа к листу.

        Чернила может быть довольно сложно распознать на глаз, тут смотря какой инструмент имитируется. У этой программы беда в том, что её «перо» не похоже на наиболее распространённую шариковую ручку, а вот от капиллярной будет сложно отличить.


        1. Vjatcheslav3345
          29.11.2016 21:42
          +1

          Разметку можно сразу печатать вместе с текстом на чистых листах, которые потом перегибать и сшивать под обложку обычной тетради — у современных качественных тетрадей бумага уже мало чем отличается от обычного принтерного листа.
          А вот по поводу "стиля письма" идея интересная. Можно попробовать для анализа программе несколько листов своего реального рукописного текста, чтобы она определяла по нему характерные для почерка наборы наклонов линий, соединений углов, радиусы дуг, типичные комбинации их соединений в фигуре и местоположение этих соединений в фигуре а потом накладывала эти параметры, с небольшими вариациями, на стандартный набор кривых, изображающий буквы алфавита. искажая его в едином стиле.
          Между прочим, есть ещё один интересный, но менее известный вариант требований преподавателей — требование представлять работу напечатанной на пишущей машинке, а не набранной на компьютере — пережиток эпохи печатных машинок — и средство решения этой проблемы есть а на MetaPost или Asymptote вроде как можно было рисовать рисунки имитирующие ручные рисунки.


      1. khanid
        30.11.2016 00:01
        +1

        Есть тетради со сменными блоками. там листы близки к A5 по размеру.
        Также помимо уже упомянутой печати разметки можно просто использовать листы без неё. Я использовал именно такие в университете. Просто листы без какой-либо разметки.
        Что же касается различие чернил от ручки и принтера — принтер выдаёт результат очень похожий на результаты от капиллярной, гелевой (эти — не редкость) и перьевой ручек. Последние не сильно распространены, но у меня, на вскидку, как минимум, три знакомых, кто в университете пользовался перьевыми ручками.


  1. alan008
    29.11.2016 16:16

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


  1. leremin
    29.11.2016 16:36
    +1

    Я свои конспекты прямо в LaTeX писал на ноутбуке. Пока все тупили иногда успевал и формулы набрать.


  1. Nadoedalo
    29.11.2016 17:18
    +1

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


    1. Mingun
      29.11.2016 17:28
      +2

      Эм. Никогда ничего не сокращал, и каллиграфию всегда старался выдерживать. Его же ещё потом читать и желательно понимать, что там написано :), а с обилием сокращений и прыгающими буквами он уже через неделю превращается в китайскую грамоту, которую понять совершенно невозможно.


      1. Nadoedalo
        29.11.2016 18:10
        -1

        Омг, кто-то читает конспекты вместо книг при подготовке? Конспект он в большинстве случаев бесполезен, в нём нет ни нумерации страниц ни оглавления, найти необходимую информацию в нём — это конспект нужно знать. А если ты знаешь свой конспект — ты знаешь и информацию, находящуюся в нём.
        Плюс без базовых навыков скорописи конспект не будет полным никогда(был у нас лектор который на аудиторию из 100+ человек утыкался носом в экран с лекцией и не отрывался на протяжении всей лекции)

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


        1. DrPass
          29.11.2016 18:33
          +5

          Омг, кто-то читает конспекты вместо книг при подготовке?

          При подготовке к экзамену? Подавляющее большинство. Если экзамен принимает тот же преподаватель, что и лекции читал, то спрашивать он будет не по книгам, а по своему конспекту.

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

          Ну сколько у вас страниц в конспекте-то за семестр накопится? Двадцать? Тридцать? Да ещё и вопросы к экзамену в списке обычно соответствуют последовательности тем в конспекте.

          Плюс без базовых навыков скорописи конспект не будет полным никогда

          Вы слишком плохо думаете про студентов и про преподавателей.


          1. Nadoedalo
            29.11.2016 19:37
            +1

            При подготовке к экзамену? Подавляющее большинство. Если экзамен принимает тот же преподаватель, что и лекции читал, то спрашивать он будет не по книгам, а по своему конспекту.

            Есть такая штука как электронный конспект у преподавателя, у нас он у всех был. Так что можно по нему готовиться, он по сути — книга.
            Хотя лично я готовился всегда по учебникам если это было необходимо. Учебник -> составление конспекта -> повторение непосредственно перед сдачей или поиск необходимой инфы прямо из него
            Ну сколько у вас страниц в конспекте-то за семестр накопится? Двадцать? Тридцать? Да ещё и вопросы к экзамену в списке обычно соответствуют последовательности тем в конспекте.

            Бухучёт — две тетрадки по 64 листа(это вот как раз тот лектор, который за конспекты давал 15 баллов). Высшая математика — где-то 120 страниц. Ещё пара предметов на матанализ и специфичные моему курсу предметы тоже 60+ страниц. Просто потому что без подробного конспекта с ВНЯТНЫМИ комментариями сдать эти предметы было невозможно.

            Но могу сказать в своё оправдание что подробные конспекты — только на профильные предметы и те, которые я не понимал с ходу. Как пример могу привести экономику предприятия где за весь семестр дали 3 формулы. После 4-й лекции и 2-й практики я там больше не появлялся, пришёл на «годовой» письменный экзамен, получил высший балл и пришёл на зачёт за своей 4.
            Вы слишком плохо думаете про студентов и про преподавателей.

            Я просто сам был студентом и видел некоторых наших преподов. К некоторым хотелось ходить в свободное время а к некоторым я ходил что бы поспать на лекциях.


          1. zagayevskiy
            29.11.2016 20:25
            +2

            За пару матанализа, линейной алгебры, аналитической геометрии и ещё пары-тройки математических дисциплин у меня выходило до 16 страниц конспекта. По две тетради 96 листов в семестр. Формул, по большому счёту. Сразу скажу, что препода "из головы" читали — то есть у них материалов обычно был один листочек с содержанием.


            @Nadoedalo


            Конспект он в большинстве случаев бесполезен, в нём нет ни нумерации страниц ни оглавления

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


            1. DistortNeo
              29.11.2016 20:39

              И каким же образом такие объёмистые конспекты помогали при сдаче экзамена?

              Вот примеры моих обработанных конспектов: раз, два, три, четыре.

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

              А больше и не надо. Доказательства и выкладки смысла записывать нет — они же очевидные.


              1. zagayevskiy
                29.11.2016 21:05
                +1

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


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

                Это я к замечанию выше о преподах, которые читают, уткнувшись куда-нибудь. Для меня, как студента, далеко не всегда доказательства были очевидными. Хотя были у нас люди с подобными способностями:)


          1. BarrelRoll
            30.11.2016 13:44

            У многих препов есть свои учебники. У нас большинство студентов не ходило на лекции, потом перед экзаменом ботали учебник и сдавали на отл.


        1. DistortNeo
          29.11.2016 19:36

          Даже исследования были по этому поводу — кажется даже опровергли что вести конспект во время лекции продуктивно, вовсе даже наоборот.

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

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

          Хороший конспект — это краткая, но очень информационно ёмкая выжимка. Но чтобы написать такой конспект, нужно полное понимание материала и достаточное количество времени. А самое главное — источник информации должен быть не потоковый, а с произвольным доступом, например, книга или другой конспект, на худой конец видеозапись лекции.

          Именно поэтому во время лекций я писал китайские грамоты, а составлял непосредственно конспекты в процессе подготовки к экзамену, вдумчиво анализируя материал. Двойная выгода — я их потом сканировал и мелко распечатывал на шпаргалки.


          1. 3aicheg
            30.11.2016 05:37

            Вот на первом курсе думал примерно так же — фуу, конспект контрпродуктивно. Обдумать, творчески осмыслить и переработать, актуализировать и абсорбировать, а ещё по книгам, ага. Едва не отчислили, в итоге.

            Ко второму курсу дошло, как надо — никаких книг, никакого осмысления или, боже упаси, творческой переработки — писать, писать быстро, писать всё, а думать будем после! Так и стал бы отличником боевой и политической, да вот зачётка уже была испорчена тройками за первый курс, а это навсегда…


      1. DistortNeo
        29.11.2016 19:06

        Да, люди всегда делились на тех, кто писал конспекты каллиграфическим почерком, ещё и ручками разных цветов и тех, кто писал киайскую грамоту (типа меня).


        1. Mingun
          29.11.2016 19:59

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


          1. DistortNeo
            29.11.2016 20:08

            Это хорошо, но проблема будет при чёрно-белом сканировании или печати.


    1. shoorick
      30.11.2016 09:30

      Однокурсники перестали переписывать мои конспекты начиная со второго семестра — там было слишком много сокращений: наиболее распространённые слова сокращались обычно до 3 букв, нередко латинских.


    1. Free_ze
      30.11.2016 11:32
      +1

      Студенты конспекты так не пишут. Особенно программисты. Во первых сокращения, во вторых неважная инфа опускается

      Так в чем же проблема софтины? Если текст набирать вручную, то все эти «спецэффекты» будут присутствовать.


  1. Mingun
    29.11.2016 17:24

    Я смотрю, уже на первом скриншоте глобализация захватила правую страницу, а также проникла в конспект по дискретной математике(?) :) Или это такой способ пошутить над преподом?


    1. aizenbit
      29.11.2016 21:36

      Отвлёкся на что-то, сменил там раскладку на латинскую, а когда преподаватель начал диктовать следующее предложение, не сразу переключил обратно. При печати решил оставить всё как есть. :)


  1. Akon32
    29.11.2016 18:10
    +1

    Но при таком способе страдает правдоподобность: символы будут абсолютно одинаковыми, строки безупречно ровными.

    Где-то слышал, что то ли у TrueType, то ли у OpenType есть возможность задавать разные глифы для символа, и правила, по которым они будут выбираться при рисовании (с элементами случайности). Так можно создать реалистичный рукописный шрифт.


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


    1. aizenbit
      29.11.2016 19:58

      Разные глифы есть, правила есть, а случайность… Насколько мне известно, в OpenType нельзя реализовать псевдослучайный генератор, который инициализировался бы хоть сколько-нибудь случайным зерном.

      Про кляксы и исправления уже давно думал, это действительно было бы неплохо сделать, но руки пока не дошли.


  1. Sovent
    29.11.2016 19:24

    Если дотошный преподаватель принимает зачёт\экзамен только при наличии рукописных конспектов, он, наверняка, сверит почерк в конспекте и на листе с ответами. Раньше — как защита от чужих конспектов, выданных за свои, сейчас — как защита от подобных решений.
    Решение хорошее, я видел рукописи, даже больше похожие на печатные шрифты и почерки с разным наклоном тоже встречал.


  1. IronHead
    29.11.2016 19:59

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


    1. aizenbit
      29.11.2016 20:03

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


      1. r3code
        01.12.2016 09:52

        Отступ прямо таки идеален, как и линия текста. Наш такое палил.


  1. Jemdo
    29.11.2016 20:09

    А бывает преподаватель всё же проверяет продавлена ли бумага…


    1. aizenbit
      29.11.2016 20:11

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


      1. zagayevskiy
        29.11.2016 21:07
        +5

        lol
        То есть мало того, что вы намучались, изобретая и печатая это лабуду, так ещё и предлагаете обводить её ручкой? Верх маразма.


        За один подход можно продавить несколько листов.

        Особенно интересно буду смотреть продавленные не там следы. Дедовский способ с расчёской уже забыт?


        1. aizenbit
          29.11.2016 22:23
          +1

          Обводить прямо всё — бесполезная трата времени. Несколько букв, слогов или слов на некоторых листах; мне кажется, этого будет достаточно, чтобы убедить подозрительного преподавателя. Речь, если что, не о диком нажиме на 10+ листов, а о чём-то более слабом, на 2-3 листа максимум. Продавленные «не там» следы — это нормально, они же и так регулярно появляются в самых настоящих конспектах.

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


      1. 3aicheg
        30.11.2016 05:46

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


    1. Areso
      05.12.2016 11:03

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


  1. lola_term
    29.11.2016 21:49

    Получив первую хорошую стипендию с прибавкой за какие то там заслуги и хорошую учебу, а вышло примерно 12-15к пошел и взял себе первый из нетбуков которые тогда были, и уже с тех лет давно забыл что такое писать от руки. Конечно встречается архаичность — когда в какой нибудь конторе тупоголовый офис-менеджер просит писать заявление от руки т.к. у них так принято. Так что иначе зачем переводить обратно в плохо читабельный почерк не совсем понятно :)


  1. mwambanatanga
    30.11.2016 06:10

    Да, для слитного написания слова находящиеся рядом буквы просто соединяются прямыми линиями.

    То есть, самая главная проблема рукописных шрифтов, указанная Вами в начале статьи
    Начертание букв зависит от того, какие буквы стоят рядом

    так и не решена.

    P.S.: Сам бьюсь над той же проблемой.


  1. pacman667
    30.11.2016 23:25

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


    1. aizenbit
      30.11.2016 23:50

      При первом запуске должен подгружаться шрифт по умолчанию (он должен располагаться рядом с исполняемым файлом в Font/DefaultFont.ini), при следующих — последний использованный. Впрочем, под Mac я не собирал и не тестировал, так что не исключено, что что-то просто не работает.

      А зачем зашивать шрифт в исполняемый файл? Насколько мне известно, его при этом нельзя будет изменить, и придётся добавлять в меню специальный пункт для выбора шрифта по умолчанию.


      1. pacman667
        01.12.2016 00:34

        Шрифт лежит в папке с исполняемым файлом. Программа рендерит только после выбора шрифта (font > load font). После выбора шрифта рендерит как на windows сборки. Сохранение и печать работает.

        Исполняемый файл в MacOS можно открывать как папку (а так же можно сослаться на любой файл в исполняемом файле). Например, вот путь до файла настроек /Users/pacman667/build-Scribbler-Desktop_Qt_5_7_0_clang_64bit-Debug/Scribbler.app/Contents/MacOS/Settings.ini


        1. aizenbit
          01.12.2016 15:56

          Settings.ini, по идее, также должен создаваться в папке с исполняемым файлом, а не где-либо ещё. Вы запускаете программу из QtCreator? На Windows при запуске из QtCreator с настройками по умолчанию рабочая директория программы отличается от расположения бинарного файла, и, насколько мне известно, на MacOS такая же ситуация.

          Если я угадал, проверьте настройки запуска (Projects->Run Settings->Working Directory). Ещё, как вариант, можно собрать программу в релиз и запустить её как обычный исполняемый файл. Но при этом могут возникнуть проблемы с зависимостями, правами доступа или ещё с чем-нибудь; что конкретно, к сожалению, не знаю, потому что никогда не имел дела с MacOS.


  1. Alexeyslav
    01.12.2016 09:58

    Нет, не верю. Сам текст выглядит рукописно но… расположение на странице просто идеально! Причем левая граница будто под линейку, и правая выровнена будто в ворде за счет изменения межсимвольных ширин и пробелов…
    В реальном конспекте левая граница будет гулять и испытывать тенденцию к съезжанию в сторону к концу страницы(ибо анатомия), а в левой части будут заезды из слов ибо не всегда можно с точностью спрогнозировать поместится слово до поля или нет, потому что человек который пишет конспект в сжатых временных рамках редко думает о переносах слов, и когда слово приближается к границе буквы начинают уплотнятся.
    А такой конспект как в статье можно написать только если у тебя просто масса времени и над каждой страницей можно работать по пол часа и больше, никуда не торопясь и обдумывать дизайн каждой строчки.