Pull to refresh
-6
0

Пользователь

Send message

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

Попробуйте на желаемых кривых. Времени накидать полноценную программу не было.
Пример кода
from math import sqrt


def b3(x0, y0, x1, y1, x2, y2, x3, y3, d):
    px = (x3 - x0) / 3
    py = (y3 - y0) / 3
    mx1 = x1 - x0 - px
    my1 = y1 - y0 - py
    mx2 = x2 - x3 + px
    my2 = y2 - y3 + py
    d1 = sqrt(mx1 ** 2 + my1 ** 2)
    d2 = sqrt(mx2 ** 2 + my2 ** 2)
    if d1 < d and d2 < d:
        print(f' {x3} {y3}', end='')
    else:
        x01 = (x0 + x1) / 2
        y01 = (y0 + y1) / 2
        x12 = (x1 + x2) / 2
        y12 = (y1 + y2) / 2
        x23 = (x2 + x3) / 2
        y23 = (y2 + y3) / 2
        x012 = (x01 + x12) / 2
        y012 = (y01 + y12) / 2
        x123 = (x12 + x23) / 2
        y123 = (y12 + y23) / 2
        x0123 = (x012 + x123) / 2
        y0123 = (y012 + y123) / 2
        b3(x0, y0, x01, y01, x012, y012, x0123, y0123, d)
        b3(x0123, y0123, x123, y123, x23, y23, x3, y3, d)


def b3svg(x0, y0, x1, y1, x2, y2, x3, y3, d):
    print('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="500" height="500">')
    print('<rect x="0" y="0" width="500" height="500" fill="white" stroke="none" />')
    print(f'<path d="M {x0} {y0} L', end='')
    b3(x0, y0, x1, y1, x2, y2, x3, y3, d)
    print('" fill="none" stroke="black" stroke-width="1" />')
    print('</svg>')


if __name__ == '__main__':
    # Сюда вписать координаты нужной кривой и перенаправить вывод в файл
    b3svg(50, 250, 300, 50, 200, 450, 450, 250, 0.1)


Прошу заметить, цели мои и автора приведённой мной статьи несколько различаются. Автор работал над растеризацией, поэтому проверял плавность при помощи эквидистанты. Я же ориентировался на звук станка и моей целью было нахождение простого метода аппроксимации траектории движения инструмента.
Ссылки в оригинальной статье (раз, два, три) чуть ниже подзаголовка «Демо-приложение и некоторые замечания» мёртвые. Я не искал так подробно, что там с AGG. Оказывается Максим умер… Когда я читал статью в первый раз, ссылки были рабочие и я успел поиграться с примерами. Действительно, теперь всё лежит на SourceForge.
Вы неверно уловили суть статьи. Деление кривой действительно осуществляется по алгоритму де Кастельжо. Алгоритм показывает, как делить кривую, а вот когда остановить деление — есть в моей статье. У меня написано о том, что мерять, чтобы понять, стоит ли дальше делить, или уже нарисовать прямой отрезок. Также мой метод использует всего одну метрику, которая например работает без принудительного первого деления пополам, как это сделано у автора приведённой мною статьи. Мой метод проще, дешевле по вычислениям и собран в одну короткую функцию.
Извините, если был груб. Я не хотел конфликтовать и претензий к Вам у меня нет.
Я не очень интересуюсь этой темой, знаю лишь в общих чертах, что такое Java. Насколько я знаю, Kotlin работает поверх JVM. В свою очередь чьей собственностью является JVM и не будет ли в определённый момент вопрос переведён в юридическую плоскость? Java — коммерческий продукт. Не сможет ли он ограничить использование виртуальной машины при возникновении конкуренции со стороны JetBrains, тем самым осложнив им жизнь?
Я зашёл в Ваш профиль. Cloud Administrator. Извините, теперь ясно, почему Вы топите за облака. И да, что же Вы поняли?
Если Вы так беспокоитесь о сохранности, зашифруйте и запишите всё на бересте в виде двоичного кода. Для бытовых нужд большинства людей, которые к слову могут не разбираться в vpn, шифровании, облаках, достаточно флешки. Вы же подходите к вопросу с точки зрения человека, всецело поглащённого технологиями.
Речь не про сохранение достояния для потомков (этим webarchive пытаются заниматься), а про ценные лично для вас данные. Носители зависят хотя бы только от вас, а не от совета директоров компании, в пятый раз сменившей собственника.

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


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


У меня так и нет ответа, почему кто-то поставил мне минус.

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

Это решается распаковкой на месте. Авито не обязан оберегать человека от явной глупости.

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

Много лет сидел на Tele2, ещё с тех времён, когда он был заграничным и был представлен всего в нескольких регионах. После невыделения частот 4G и вынужденной продажи российской части компании Tele2 стал русский и началось закономерное ухудшение. Частоты сразу нашлись, а тарифы поднялись до уровня большой тройки. Я мало того что ушёл с Tele2 на другого оператора, так ещё и номер свой крутой с кодом 900 туда перевёл. Естественно не с первого раза. Ошибка в персональных данных и всё такое. Кто делал подобное, мог столкнуться с этим. Благо не пришлось далеко бегать, всё происходило в торговом центре в офисах, находившихся друг от друга в 20 метрах.
Вот поэтому всегда лежит дома флешка с фотками, музыкой, программами, документами. Только самое необходимое и ценное. Мне хватает за глаза на 32 гига. Многим конечно и терабайта мало, но это уже плюшкинство, за редким исключением.
Да, ближе к последгим пакетикам от него воротит ужасно. Кажется, что пьёшь пластик. Подготовка была намного неприятней, чем сама колоноскопия.
Может быть у них возникли сложности в разработке или слишком сильная конкуренция и поэтому они решили не просто отступить, но и использовать это для улучшения имиджа компании?
Когда разработчик знает только javascript и собирается писать приложение для смартфона, напрашивается вывод, что он всё-таки web-разработчик. А это как бы не одно и то же. Согласно голосованию в конце статьи, самым адекватным вариантом было бы писать на нативном для этой платформы языке. Иначе ленивым web-программистам не придётся выходить за рамки любимой связки JS+фреймворки, а людям придётся обновить в очередной раз свои телефоны. Надо соблюдать баланс между удобством разработки и последующим использованием софта.

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


f'{path_to_model_images}/{x.id}/{x.image_name}'

Information

Rating
Does not participate
Registered
Activity