Posts Tagged ‘графіка’
Як збудувати геодезичний купол?
Я простий програміст, але іноді свербить побути архітектором. Всякий ентерпрайз проектувати ще не пускають, але тут випала нагода зпроектувати проект іграшкової хатинки для донечки. Тому що після покупки меблів в порожню квартиру в нас все ще залишається вільна кімната і в ній куууупа картону.
Я погуглив які можна робити хатинки і знайшов таке на instructables. Але там виміри подані все ще в імперській системі і я вирішив перерахувати. І взагалі зробити проект правильною водоспадною методологією – поетапно.
Прочитати решту цього запису »
Побудова “скриньок з вусами” львівських квартир що здаються на сьогодні
Я ще минулого року помітив що в питаннях про Python на StackOverflow обговорюють якісь панди. Це, як виявилось обгортка навколо matplotlib, numpy і подібних гарних речей. А ще, лазячи по своїх документах в Google знайшов скачану вже позаминулого року стіну групи пошуку нерухомості вконтакті. І так співпало що я і мій колега-аналітик зараз шукаємо квартиру у Львові. Я йому показав цей файл, і він загорівся бажанням проаналізувати ще якийсь сайт оголошень.
При всій повазі до lun.ua, але тут я прорекламую dom.ria.com. Передовсім, там є українська версія. А ще, можливість скачати результати пошуку як електронну таблицю, хоч і в xls форматі, і лише одну сторінку.
В python читати xls вміє бібліотека xlrd, тому треба доставити ще й її. Pandas взагалі має багато необов’язкових залежностей:
sudo pip3.5 install jupyter pandas xlrd matplotlib jupyter notebook # дуже модний графічний інтерпретатор
Якщо все поставити як вище і запустити “jupyter”, то можна робити обчислення в отакому документі: https://github.com/bunyk/mypandas/blob/master/dom.ria/dom.ria.ipynb
Прочитати решту цього запису »
Як намалювати стрілочку в SVG

Креслення стрілочки, з позначенням деяких змінних
Поточна ситуація така, що на запит “як намалювати стрілочку”, Google видає купу порад дівчатам про те як зашпаклювати лице. Але проблема трапляється часто, і не тільки в SVG, ось наприклад старий пост про те як малювати вектори в OpenGL, для програмки що проводить структурний аналіз кінематики машин і механізмів. Тому треба виправити цю ситуацію, і написати ще пару публікацій про малювання стрілочок. 🙂
Тут буде код який було весело писати, і яким варто поділитись. Присутній також JsFiddle. Код дозволяє малювати стрілочки наступного вигляду:
Написано з використанням D3.js, але код можна причепити де завгодно, так як головне тут – функція arrow_path
, яка генерує значення атрибуту d
для тега path
. Приймає вона координати початку і кінця стрілки, ширину лінії стрілки, радіус (задає розмір трикутника на кінці стрілки, і радіус gizmo (пімпочки на середині)). directed
– булевий аргумент, що вказує чи малювати стрілочку на кінці лінії взагалі. gizmo
– якщо false – пімпочки не буде, 'circle'
– буде коло, 'diamond'
– буде ромбик.
Прочитати решту цього запису »
Грандіозніше ніж всесвіт і фантастичніше за уяву
Фрактали всі вже бачили, всі вже знають, та все ж… Тут мова піде про світові рекорди. 🙂
Всесвіт настільки великий, що його розміри важко уявити. Всесвіт, досліджуваний астрономами, — частина матеріального світу, що доступна дослідженню астрономічними засобами, які відповідають досягнутому рівневі розвитку науки (часто цю частину всесвіту називають метагалактикою), простягається на метрів і нікому не відомо, наскільки він великий за межами видимої частини.
Атомне ядро має розмір метрів.
Тепер, якщо ми маємо зображення всесвіту (в PNG наприклад :)), то для того щоб побачити на ньому ядро атома потрібно збільшити його в рази. Уявляєте собі цей зум?
А тепер я вам покажу картинку, на якій роблять зум . Це не в мільйони разів більше ніж оцей маштаб всесвіту. Це в мільйони мільонів мільйонів… і так повторити ще сто раз. Одним словом дивіться:
Для такого відео потрібна ефективна реалізація високоточної арифметики (це вам не double), написаної спеціалістом з оптимізації чисел з плаваючою комою компанії Valve, і дні і ночі обчислень на швидких багатоядерних комп’ютерах.
Те відео – здається світовий рекорд. Але думаю це не довго, бо зроблене воно більш ніж рік тому. Може з того часу хтось рік рендерив нове відео, і щоб побити рекорд залишилось ще кілька місяців обчислень?
Перетин променя й трикутника
Для тривимірного випадку.
Це досить часта задача в комп’ютерній графіці. Зокрема, визначити чи знаходиться точка всередині меша (якщо він замкнений), можна обчисливши кількість перетинів довільного променя що виходить з цієї точки з мешем. Якщо ця кількість непарна – точка всередині меша. Про обчислення зіткнень, та трасування променів взагалі мовчу.
Нам дано вектори – початок променя,
– його напрям,
– вершини трикутника.
– перетин променя й трикутника.
Прочитати решту цього запису »