Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Posts Tagged ‘математика

Провалена співбесіда, робота над помилками і інший досвід

with 15 comments

Сьогодні в середу (ага, я деякі нотатки роблю дуже швидко) я мав першу в житті співбесіду, яка для мене не закінчилась успішно. До того, після всіх чотирьох співбесід в яких я брав участь, мене брали або в школу, або в університет, або на стажування, або на роботу.

Я не сильну жалкую що її завалив, бо по-перше, ми з фірмою 3Shape один одному таки не дуже підходили, а по-друге, невдачі дають більше досвіду (хоча може й менше запам’ятовуються, бо коли мене попросили згадати якісь свої невдалі проекти, я не зміг. Не те що я такий аж крутий, скоріше епізодична пам’ять не працює. Або я себе ніколи не переоцінював… 😯 ).

Також думаю що опис досвіду досвіду дає +50% отриманого досвіду, тому розповім про свої враження. Ну й крім того, халявний чужий досвід – це та річ яка робить блоги корисними.

Може все й не згадаю, бо співбесіда була аж вчора зранку, а я це пишу аж сьогодні ввечері, але що вийде, то вийде. Якщо не заснете на середині розповіді, то напевне теж щось нове дізнаєтесь.

Про вакансію

Отож. Справа була в офісі фірми 3Shape. Це датська компанія, заснована 10 років тому, випускником Копенгагенського університету, який в своїй дипломній описав конструкцію 3d сканера (От як треба дипломні писати!), і вони пишуть для нього різний софт, в основному CAD-системи для застосування в стоматології. Київський офіс відкрився п’ять років тому, зараз складає 50 людей, і зараз активно розширюється.
Прочитати решту цього запису »

Advertisements

Written by bunyk

Липень 31, 2011 at 12:01

Перетин променя й трикутника

leave a comment »

Для тривимірного випадку.

Це досить часта задача в комп’ютерній графіці. Зокрема, визначити чи знаходиться точка всередині меша (якщо він замкнений), можна обчисливши кількість перетинів довільного променя що виходить з цієї точки з мешем. Якщо ця кількість непарна – точка всередині меша. Про обчислення зіткнень, та трасування променів взагалі мовчу.

Нам дано вектори \vec O – початок променя, \vec D – його напрям, \vec A,\ \vec B,\ \vec C – вершини трикутника. \vec X – перетин променя й трикутника.

Прочитати решту цього запису »

Written by bunyk

Квітень 25, 2011 at 23:44

Маштабована векторна наочність

with 6 comments

Будуємо кола що проходять через дві точки


Єху! Я прорвався в анімації з SVG. Жаль тільки що wordpress, і вікіпедія не дозволяє тут їх викладати, бо вони такі інтерактивні, що й можуть містити шкідливий код. Тому клацніть на картинку.

Картинка пояснює як побудувати коло що проходить через дві точки, знаючи радіус. (Взагалі то пояснює слабо, але перспективу має). Крім того основною метою було – розібратись як створюють анімації в SVG за допомогою JavaScript. Поки що вмію малювати лише відрізки, еліпси та прямокутники.

А ще для SVG є офігенний редактор. svg-edit, який можна вбудувати прямо в веб-сторінку.

Хтось обов’язково мусить зверстати підручник з планіметрії на HTML5. Якби я був міністром освіти, то виділив б на це десь так 20000грн.

Written by bunyk

Квітень 14, 2011 at 11:44

Весна прийшла!

with one comment

Сьогодні вмовив Терещенка Василя Миколайовича змилуватись, і не змушувати на лаболаторну придумувати нові алгоритми, або вдосконалювати старі аби вони працювали не за O(log n), а за O(log log n).

Тепер якщо я напишу свій 3D редактор, то мені поставлять трійку! Ура!!!! Звісно це займе більше часу ніж курсова, але воно того має бути варте. Нових алгоритмів і так би не з’явилось, хоть би я рік тужився, а так може щось корисне напишу. Developers, developers, developers!

Приблизне технічне завдання

Давайте побудуємо свій простенький 3D-редактор, який буде працювати по скульптурному принципу – відколювати від великого кубика менші, чи приклеювати їх назад щоб отримати якусь форму. Інтерфейс будемо робити на Qt, при цьому не зраджуючи Python.

Задачки для нашого редактора:

  1. Завантаження та перегляд мешів у форматі obj.
  2. Побудова за ними октодерева.
  3. Редагування цього октодерева напиленням чи знищенням листків стрільбою від першої особи.
  4. Побудова за октодеревом мешу, і зберігання їх назад в файл.
  5. Звісно зберігання та завантаження з файлів власне октодерев.

P.S. Робота над цим проектом починається 28 лютого 2011 6:00, і подивимось скільки триватиме.

Може скласти якусь діаграму Ганта, абощо?
Прочитати решту цього запису »

Written by bunyk

Березень 1, 2011 at 00:00

Комп’ютери і здоровий глузд

with 4 comments

Відео, на яке за бажання можете витратити півтори годинки свого часу.

30 травня 2006 Дуглас Ленат розповідає про свій Cyc хлопцям з Google. З 1984 він з командою конструює та експериментує з базою знань та системою виведення “Cyc”. Доктор Ленат – професор комп’ютерних наук університету Карнегі-Меллон, та Стенфордського. Також консультує білий дім з питань національної безпеки (збирання даних що стосуються тероризму).

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

Прочитати решту цього запису »

Written by bunyk

Лютий 21, 2011 at 00:00

Побудова по комутативній ідемпотентній півгрупі піврешітки

with 4 comments

Давненько не писав нічого такого, що ніхто не буде читати раніше наступної зими. А це чудова ілюстрація попередньої статті про чисту математику.

Щоб зрозуміти про що йде мова, досить знати матеріал матаналізу за перший тиждень, бо маємо:

Словничок

Можливо занадто детальний, але це хай це буде повторенням від самого початку…

Побудова

Нехай < D, + > – комутативна ідемпотентна півгрупа. Тобто + – комутативна, ідемпотентна та асоціативна операція.

Задамо на D бінарне відношення \leq:

x \leq y\ \Leftrightarrow x + y = y

Якщо ми доведемо що \leq – відношення часткового порядку, та для будь-яких двох елементів з D існує супремум.

Доведення

Спочатку доводимо, що \leq – відношення часткового порядку, тобто:

  • рефлексивне: x \leq x \Leftrightarrow x + x  = x, а це випливає з ідемпотентності +.
  • антисиметричне: x \leq y \wedge y \leq x \Leftrightarrow x + y = y \wedge y + x = x, і з комутативності + випливає x = y
  • транзитивне: x \leq y \wedge y \leq z \Leftrightarrow x + y = y \wedge y + z = z \Rightarrow x + y + y + z = y + z \Rightarrow x + y + z = z \Rightarrow x + z = z \Leftrightarrow x \leq z.

< D,\leq > – частково впорядкована.

Придумуємо супремум підмножини двох елементів:

\sup \{ x,y \} = x + y

Доводимо що він супремум, шукаємо множину всіх верхніх граней:

\{z | x \leq z \wedge y \leq z\}. x + z = z \wedge y + z = z \Rightarrow x + z + y + z = z + z \Rightarrow x + y + z = z \Rightarrow x + y \leq z, і остання рівність показує що x + y – найменший з усієї множини верхніх граней, тобто справді супремум.

Таким чином можна сформулювати теорему:

Т. Нехай < D, + > – комутативна ідемпотентна півгрупа. Якщо x \leq y\ \Leftrightarrow x + y = y, то < D,\leq > – верхня піврешітка, при чому \sup\{ x, y\} = x + y.

Про те, як копіювати з вікіпедії статті з формулами і правильними посиланнями – буде в наступній серії :).

Written by bunyk

Лютий 10, 2011 at 00:00

Оприлюднено в Конспекти, Передруки

Tagged with

Інвестиції у вічність

with 2 comments

Чи у каналізацію:

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


Абстрактною, або чистою математикою називають області математики, які ще не знайшли свого прикладного застосування. Простіше кажучи, абстрактна математика – це не прикладна математика. Характеристиками чистих математичних теорій є абстрактність, строгість та краса.

Чиста математика не намагається отримати знання про світ, а створює свої, з схожими правилами. Її ціллю є скоріше задоволення самого математика від застосування методу, та його краси. Єдиним методами математики звісно є дедукція та уява.

Вона оперує об’єктами в ідеальному (від слова “ідея”) світі, з власними законами та надає їм довільних властивостей. В той же час, прикладна математика намагається ідеалізувати недосконалий реальний світ створюючи спрощені математичні моделі його об’єктів. Досліджуючи модель, можна визначити деякі її властивості що будуть притаманні і об’єктам реального світу.

Історія показує що області чистої математики з часом стають прикладними, і сконструйовані абстрактною математикою об’єкти, можуть знаходити своє застосування в моделях прикладної математики.

Наприклад так було з теорією чисел, яка не мала свого застосування аж до 20 століття, коли з’явилась сучасна криптографія. Так було з часів древньої Греції, хоча й тоді математика використовувалась в архітектурі й літочисленні. Цитата з “Історії західної філософії” Бертрана Рассела:

« Евклід зневажав практичну корисність яку впроваджував Платон. Кажуть, що один учень прослухавши докази, запитав, яку користь він отримає від вивчення геометрії. Тоді Евклід покликав раба і сказав: «Дай юнаку монету, оскільки він неодмінно повинен отримувати вигоду з того, що вивчає». Однак презирство до практики виявилось прагматично виправданим. Ніхто не припускав за часів греків, що вивчення конічних перерізів принесе яку-небудь користь: але, нарешті, в XVII столітті Галілей відкрив, що снаряди рухаються по параболі, а Кеплер – що планети рухаються по еліпсах. Несподівано та робота, яку греки виконали з чистої любові до теорії, стала ключем до ведення війни і до розвитку астрономії.  »

Дивись також

Джерела

  1. Бертран Рассел – Історія західної філософії

А ще я згадав чому мені більше подобається інформатика ніж математика. Бо математика оперує об’єктами в уяві, і ця уява має бути сильною і надійною. А інформатика – теж чимось нематеріальним (хоча електрони таки матеріальні), але це можна якось перевірити, побачити, одним словом проекспериментувати. Комп’ютер це світ. Не такий гнучкий як наша голова, але й не такий недосконалий і незрозумілий як реальний.

Written by bunyk

Лютий 4, 2011 at 14:55