Опубликовано 18 июля 2012, 02:06 под Regina Spektor - Open

Вчера катался в академ по традиционному маршруту, заехав в Щ (даже не догадывался о существовании этого микрорайона; думал, там лес). Одного не могу понять: если это те же самые 65 километров, что с Ритой (причём тут, в отличие от её спортивного стиля, на ночь глядя ЕБАШИЛ СО ВСЕЙ ДУРИ БЛЯДЬ, ибо «депрессия»), то почему тогда у меня аж в ушах трещало, а теперь я даже не устал и, приехав в 01:00, сел делать придуманную по дороге свистелку (не единственную, кстати, но для второй нужна собственная квартира): слайд-шоу из фотографий играющего исполнителя с last.fm. Спустя сутки получилось вот что: (Далее)

Опубликовано 27 марта 2011, 17:15 под The Velvet Underground - I'll Be Your Mirror (monophonic)

Вот такой класс: (Далее)

Опубликовано 4 декабря 2010, 04:07 под Pendulum - Propane Nightmares

Накурившись сативы и возлюбив весь мир, решил начать юзать твиттер. Включил кросспостинг вконтакте, пару раз грязно выругался в тестовых целях1 — и пол-дела сделано, теперь Тина Канделаки сможет читать мои шутки про бусы и подоконники. А вот я не смогу — держать вкладку с твиттером постоянно открытой почему-то не сильно охота2, а десктопного клиента, чтобы был красивый и розовенький почему-то не нашлось.3 Попробовал Firefox + отдельный профиль + Hide GUI bars + оконным менеджером убрать заголовок и рамку + юзерскриптом выкинуть часть интерфейса — вроде норм получалось, но на середине процесса вспомнил, что ссылки надо будет открывать другим браузером, и почему-то эта проблема показалась мне неразрешимой4. Ну что же, всё к тому и шло: Qt + WebKit. Пишем собственный Twitter-клиент (Далее)

[1] — Кое у кого телефон Fly, и когда с ним разговариваешь, слышно себя с секундной задержкой и довольно громко. То есть получается можно взглянуть на себя со стороны. Я ужасно разговариваю: не то, чтобы мат через слово — слово через мат, а то и через два.
[2] — И чем это интересно твиттер так принципиально отличается от GMail и Google Reader? А вот неохота и всё. Неудобно. Koromshuk
[3] — Точнее, я попробовал только один: TwitterDeck. Эта падла, будучи написанной на Air, отказалась нормально работать вне GNOME/KDE, при этом огромный, бесполезный и плохо отключаемый Welcome, появляющийся через 10 секунд после запуска, напомнил ICQ5. То, что не на Air, даже смотреть бесполезно: оно всё убогое, с нативными контролами. Хорошо если не падучее. В опере был хороший виджет когда-то давно, и, наверное, есть и сейчас, но с оперой мы попрощались. Даже не установлена.
[4] — Я просто уверен, что можно написать расширение. Так и не посмотрел в доке, когда уже смотреть, время без пятнадцати четыре!
Опубликовано 26 февраля 2010, 10:39 под Muse - Starlight

Проект ConvertFS близится к выкладыванию версии 0.1a на гуглокод. И там возникла такая ситуация: есть некий относительно медленно пополняемый буфер (инкапсулирован в c), и к нам приходит запрос на чтение size байт из него, начиная с offset'ого. Если в буфере уже доступны offset + size байт, всё прекрасно, а если нет, надо дождаться, пока они там появятся, или будет ясно обозначено, что буфер кончился, и присланный запрос на чтение может быть удовлетворён лишь частично, а то и не может быть удовлетворён вовсе. Думаю, по названию поста, все уже догадались, что сейчас будет код на C++, причём хамский: (Далее)

Опубликовано 28 июля 2009, 21:15

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

Опубликовано 24 июля 2009, 21:44 под Three Days Grace - Get Out Alive

Хорошо, когда ПАРЕНЬ1 умеет убеждать людей в чём угодно; плохо, когда в том же самом он способен убедить себя. Да-да, курение — это не привычка, он может бросить в любой момент, просто это глупо и бессмысленно. Только почему-то стоило взять у него зажигалку и отлучиться на полчаса2, как начинаются попытки прикуривания от плитки и тому подобное. На это смотреть, конечно, не настолько страшно, как на небритых матерящихся девственников, шутящих про секс, но всё равно получается как-то не очень. (Далее)

[1] — ПРИДУМАЙТЕ УЖЕ ЧТО-НИБУДЬ НАКОНЕЦ, НЕВОЗМОЖНО!
[2] — И ещё один миф разрушен: затулинка пол-второго ночи — это абсолютно не страшно. Неадекватных компаний действительно много (особенно для будней), действительно ничего не видно, но на двух несчастных забитых наркоманов, кроме каких-то упоротых чикс, внимания никто не обращает.
Опубликовано 28 апреля 2009, 18:06

Хитрый план дописывать подобное в stdlib.h и наблюдать за процессом отладки:

(Далее)

Опубликовано 28 января 2009, 22:54
Опубликовано 20 января 2009, 19:23

Система:

Поскольку правые части уравнений равны, можем перейти к эквивалентной системе

Раскрывая скобки и выполняя преобразования первого уравнения, получаем:

Для второго соответственно:

Приравнивая, получаем

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

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

Проверка на C:

#include <math.h>
#include <stdio.h>
#define EPSILON 10E-5

typedef struct {
    float x;
    float y;
} dot;

int getCircleEquation(dot dot1, dot dot2, dot dot3, float *x0, float *y0, float *r, int performTest)
{
    float det = (dot1.x * dot2.y + dot2.x * dot3.y + dot3.x * dot1.y
               - dot1.x * dot3.y - dot2.x * dot1.y - dot3.x * dot2.y);
    if (fabs(det) < EPSILON)
    {
        // Три точки на одной прямой, нельзя построить окружность
        return 0;
    }

    // Вычисляем ординату центра
    *y0 = (dot2.x * dot3.x * dot3.x - dot3.x * dot2.x * dot2.x +
           dot1.x * dot1.x * dot3.x - dot1.x * dot3.x * dot3.x +
           dot1.x * dot2.x * dot2.x - dot2.x * dot1.x * dot1.x +

           dot2.x * dot3.y * dot3.y - dot1.x * dot3.y * dot3.y +
           dot1.x * dot2.y * dot2.y - dot2.x * dot1.y * dot1.y +
           dot3.x * dot1.y * dot1.y - dot3.x * dot2.y * dot2.y) / (2 * det);

    // Вычисляем абциссу центра
    if (fabs(dot1.x - dot2.x) < EPSILON)
    {
        *x0 = (dot3.x * dot3.x + dot3.y * dot3.y
             - dot2.x * dot2.x - dot2.y * dot2.y
             + 2 * *y0 * dot2.y
             - 2 * *y0 * dot3.y) / (2 * (dot3.x - dot2.x));
    } else {
        *x0 = (dot2.x * dot2.x + dot2.y * dot2.y
             - dot1.x * dot1.x - dot1.y * dot1.y
             + 2 * *y0 * dot1.y
             - 2 * *y0 * dot2.y) / (2 * (dot2.x - dot1.x));
    }

    // Вычисляем радиус
    *r = sqrt(pow(dot1.x - *x0, 2) + pow(dot1.y - *y0, 2));

    // Тестирование
    if (performTest)
    {
        float r2 = sqrt(pow(dot2.x - *x0, 2) + pow(dot2.y - *y0, 2));
        float r3 = sqrt(pow(dot3.x - *x0, 2) + pow(dot3.y - *y0, 2));

        if (fabs(*r - r2) > EPSILON || fabs(*r - r3) > EPSILON || fabs(r2 - r3) > EPSILON)
        {
            printf("TEST FAIL: (%f,%f) (%f,%f) (%f,%f) => (%f %f) %f %f %f\n", dot1.x, dot1.y, dot2.x, dot2.y, dot3.x, dot3.y, *x0, *y0, *r, r2, r3);

        }
    }

    // Получили уравнение окружности
    return 1;
}

int main()
{
    float x0, y0, r;
    for (float x1 = -10.0; x1 < 10.0; x1 += 1)
    {
        for (float y1 = -10.0; y1 < 10.0; y1 += 1)
        {
            for (float x2 = -10.0; x2 < 10.0; x2 += 1)
            {
                for (float y2 = -10.0; y2 < 10.0; y2 += 1)
                {
                    for (float x3 = -10.0; x3 < 10.0; x3 += 1)
                    {
                        for (float y3 = -10.0; y3 < 10.0; y3 += 1)
                        {
                            dot dot1, dot2, dot3;
                            dot1.x = x1; dot1.y = y1;
                            dot2.x = x2; dot2.y = y2;
                            dot3.x = x3; dot3.y = y3;

                            if (!getCircleEquation(dot1, dot2, dot3, &x0, &y0, &r, 1))
                            {
                                printf("Unable to build (%f, %f) (%f, %f) (%f, %f)\n", dot1.x, dot1.y, dot2.x, dot2.y, dot3.x, dot3.y);
                            }
                        }
                    }
                }
            }
        }
    }
}
Опубликовано 20 сентября 2008, 00:02 под Relanium - Leel Lost

Спустя полтора года постоянного использования Linux наконец-то решил написать отключатель флэшек как в своей родной-дорогой1 и заодно посмотреть Python + PyGTK. Скопипастил Hello World — не вставило. Пару раз пробежался глазами по индексу доки — не нашёл класса для списка. Ну и чёрт с вами, добро пожаловать обратно в QDevelop. (Далее)

[1] — Поясняю смысл шутки: так в Великом Лицее НГТУ называют эту обычную школу.
Теги
1nsk C++ E-Business GNU/GPL-софт HTML/CSS ICQ IDE KDE last.fm Linux Linuxnsk Microsoft Motivator MySQL P2P Party PCI PHP Python Qt SATA SEO Sibnet thelogin.ru Timelapse USB VHDL Web 2.0 Webstream Windows Wireless А я говорил! Авто Админ Алкоголь Аниме Атмосфера Аудио Безобразие Бизнес Блоги Боты Бред Быт Велосипед Весна Вечер Взлом Видеозахват Винил Винтаж Вконтакте Вода Воспоминания Гетто Гламур Гопота Горский Графити Грузовики Дача Девушки Деньги Дизайн Домофон Драки Европа Еда Железо Затулинка Зима Игрушки Игры Идея Интересно Интернет Исследование История Казань Карикатуры Квартира Класс Концерты Коромшук Коты КПК Красиво Криминал Крыши Курение Лето Литература Лицей НГТУ Лохи Магнитофоны Маркса Мат Математика Машинный перевод Мегафон Менты Метро Мечты Мифы Мне стыдно Мобайл Можга Москва МТС Музыка Мультикассы Мультфильмы Мы помним Надписи Наука Недвижимость Непоняятно Новосибирск Ночь Обидно Обман Образование Омск Опечатки Орфография Осень Парк Пиратство Плохо Погода Поезда Политика Помойка Праздники Презрение Природа Провайдеры Программирование Протест Психология Путешествия Радиотехника Растения Реклама Религия Ремонт Рисунки Руины Рэп Салют Серверы Сервис Сериалы Скриншоты Смешно СМИ Снег Собаки Совет Софт Спам Спасём Россию Стоп-ляп Страх Стройка Студяга Танцы ТВ Трамваи Транс Транспорт Уважаю Ужас Умный дом Утро Филдрепорты Философия Форум ФПМИ Франция Хикки Хостинг Цитатник Школа 208 ЭГ Эксперимент Юго-Западный