Трюки с формой 2.1: Edit в заголовке окна
Не являюсь поклонником запихнуть что-нибудь в заголовок, но аргумент «жаль столько места пропадает» принимаю и поддерживаю. Поэтому статья про то, как разместить компоненты в заголовке, не теряя AeroSnap, не имитируя заголовок панелью, не подменяя системных кнопок окна.
Работает на Windows 10 и выше.
Исходники Delphi XE7, XE12
Читать тут...
Не являюсь поклонником запихнуть что-нибудь в заголовок, но аргумент «жаль столько места пропадает» принимаю и поддерживаю. Поэтому статья про то, как разместить компоненты в заголовке, не теряя AeroSnap, не имитируя заголовок панелью, не подменяя системных кнопок окна.
Работает на Windows 10 и выше.
Исходники Delphi XE7, XE12
Читать тут...
🔥10👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Тёмная тема Windows в Delphi
С возникновением тёмной темы Windows, появились вопросы, почему Delphi её не поддерживает. Вне зависимости от текущей темы, окошки серые, заголовки белые. Давайте попробуем разобраться, что такое тёмное тема в понимании Windows, и как её реализовать в Delphi малыми усилиями.
Трюки с формой 2.2.1: Тёмная тема Windows в Delphi 12
Трюки с формой 2.2.2: Тёмная тема Windows в Delphi XE7
С возникновением тёмной темы Windows, появились вопросы, почему Delphi её не поддерживает. Вне зависимости от текущей темы, окошки серые, заголовки белые. Давайте попробуем разобраться, что такое тёмное тема в понимании Windows, и как её реализовать в Delphi малыми усилиями.
Трюки с формой 2.2.1: Тёмная тема Windows в Delphi 12
Трюки с формой 2.2.2: Тёмная тема Windows в Delphi XE7
🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Матрицы аффинных преобразований в пространстве
Дополнил справочник матрицами для 3D.
Исходники прилагаются.
Матрицы аффинных преобразований в пространстве аналогичны матрицам на плоскости с той лишь разницей, что добавляется ещё одна координата. Соответственно, матрицы становятся размером 4✕4 и их... Читать далее >>
❗️❗️❗️
Оказывается, на мобильных устройствах, телега открывает ссылки в собственном браузере, и в нём вместо формул надпись "Latex formula". Чтобы увидеть формулы, надо в "тележном" браузере ткнуть в три точки справа сверху, выбрать самый верхний пункт "Открыть в браузере" и все формулы покажет.
Дополнил справочник матрицами для 3D.
Исходники прилагаются.
Матрицы аффинных преобразований в пространстве аналогичны матрицам на плоскости с той лишь разницей, что добавляется ещё одна координата. Соответственно, матрицы становятся размером 4✕4 и их... Читать далее >>
❗️❗️❗️
Оказывается, на мобильных устройствах, телега открывает ссылки в собственном браузере, и в нём вместо формул надпись "Latex formula". Чтобы увидеть формулы, надо в "тележном" браузере ткнуть в три точки справа сверху, выбрать самый верхний пункт "Открыть в браузере" и все формулы покажет.
🔥7👍2
WaveFront OBJ-файл: Описание
Файл WaveFront OBJ хранит данные для построения 3D-модели. Если хотим работать в 3D, а мы хотим, надо уметь читать этот формат. В статье представлена необходимая справочная информация для построения 3d-модели.
Эти данные мне были нужны для написания читалки obj-файла. Постараюсь в скором времени выложить. На этот раз без исходников, но, надеюсь, с полезной информацией. А исходники скоро будут )))
Файл WaveFront OBJ хранит данные для построения 3D-модели. Если хотим работать в 3D, а мы хотим, надо уметь читать этот формат. В статье представлена необходимая справочная информация для построения 3d-модели.
Эти данные мне были нужны для написания читалки obj-файла. Постараюсь в скором времени выложить. На этот раз без исходников, но, надеюсь, с полезной информацией. А исходники скоро будут )))
🔥10👍2
WaveFront OBJ-файл: Загрузчик 3D-модели
Сделал загрузчик 3D-модели из OBJ-файла. Всё оформлено одним модулем. Ничего стороннего не используется. Просто подключаем и пользуем.
Исходники прилагаются.
Статья тут...
Сделал загрузчик 3D-модели из OBJ-файла. Всё оформлено одним модулем. Ничего стороннего не используется. Просто подключаем и пользуем.
Исходники прилагаются.
Статья тут...
🔥9👍4
Smooth-Minimum operator
Сегодня поделились шикарной статьёй.
Smooth-Minimum operator — это оператор в компьютерной графике, который позволяет сглаживать и объединять формы. Помогает создавать непрерывные поверхности, объединяя отдельные элементы.
https://iquilezles.org/articles/smin/
Сегодня поделились шикарной статьёй.
Smooth-Minimum operator — это оператор в компьютерной графике, который позволяет сглаживать и объединять формы. Помогает создавать непрерывные поверхности, объединяя отдельные элементы.
https://iquilezles.org/articles/smin/
iquilezles.org
Inigo Quilez :: computer graphics, maths, shaders, fractals, demoscene
Tutorials and articles of Inigo Quilez on computer graphics, fractals, math, art, demoscene, shaders and more.
🔥9
Маркус Бейкер, 110 формул для нахождения площади плоского треугольника
Возник недавно разговор, что формул для площади треугольника есть на самом деле штук восемь-десять, ...надцать. Но я ж помню, что один товарищ в 19-м веке собрал их что-то около сотни. Пришлось настырно гуглить. Редкий экземпляр оказался. Между тем, теперь он есть, лежит в справочниках, можно ознакомиться, ничего не качая.
Дополнительно: одна интересная беседа по поводу нахождения площади треугольника и критика некоторых формул Бейкера (номера 20, 63, 80, 94).
Заставку придумал Recraft. С тех пор он очень сильно поумнел, похорошел и подорожал...
Возник недавно разговор, что формул для площади треугольника есть на самом деле штук восемь-десять, ...надцать. Но я ж помню, что один товарищ в 19-м веке собрал их что-то около сотни. Пришлось настырно гуглить. Редкий экземпляр оказался. Между тем, теперь он есть, лежит в справочниках, можно ознакомиться, ничего не качая.
Дополнительно: одна интересная беседа по поводу нахождения площади треугольника и критика некоторых формул Бейкера (номера 20, 63, 80, 94).
Заставку придумал Recraft. С тех пор он очень сильно поумнел, похорошел и подорожал...
🔥7👍3
Шпаргалка: Основные формулы площади треугольника
Небольшая шпаргалка по основным формулам нахождения площади любого треугольника.
Обозначения повторяют описание из предыдущего поста. Все формулы, кроме координат, можно найти в справочнике Бейкера (38, 48, 1, 50, 73, 5)
Возможно, если время позволит и будет ваша заинтересованность, сделаю аналогичное для прямоугольного, равнобедренного и равностороннего треугольников.
Небольшая шпаргалка по основным формулам нахождения площади любого треугольника.
Обозначения повторяют описание из предыдущего поста. Все формулы, кроме координат, можно найти в справочнике Бейкера (38, 48, 1, 50, 73, 5)
Возможно, если время позволит и будет ваша заинтересованность, сделаю аналогичное для прямоугольного, равнобедренного и равностороннего треугольников.
🔥7
Поздравляю всех с наступающим Новым Годом!
Справочник: Формулы площади треугольника
Закругляемся с темой треугольников. Сделал такой вот справочник основных формул нахождения площади треугольника, включая прямоугольный, равнобедренный и равносторонний. Со схемами и выводами.
Отдельно шпаргалки:
Произвольный треугольник (jpg)
Прямоугольный треугольник (jpg)
Равнобедренный треугольник (jpg)
Равносторонний треугольник (jpg)
Сводная шпаргалка (jpg) (та, что на картинке, только больше в два раза)
Интерактивная шпаргалка (pdf) (кликаем на формулу, приходим к выводу формулы) Внимание! На телефонах и планшетах скорее всего ссылки внутри PDF не будут работать! Правда, у меня на планшете работает.
Посмотреть справочник
❗️❗️❗️ На мобильных устройствах, телега открывает ссылки в собственном браузере, и в нём вместо формул надпись "Latex formula". Чтобы увидеть формулы, надо в "тележном" браузере ткнуть в три точки справа сверху, выбрать самый верхний пункт "Открыть в браузере" и все формулы покажет.
Справочник: Формулы площади треугольника
Закругляемся с темой треугольников. Сделал такой вот справочник основных формул нахождения площади треугольника, включая прямоугольный, равнобедренный и равносторонний. Со схемами и выводами.
Отдельно шпаргалки:
Произвольный треугольник (jpg)
Прямоугольный треугольник (jpg)
Равнобедренный треугольник (jpg)
Равносторонний треугольник (jpg)
Сводная шпаргалка (jpg) (та, что на картинке, только больше в два раза)
Интерактивная шпаргалка (pdf) (кликаем на формулу, приходим к выводу формулы) Внимание! На телефонах и планшетах скорее всего ссылки внутри PDF не будут работать! Правда, у меня на планшете работает.
Посмотреть справочник
❗️❗️❗️ На мобильных устройствах, телега открывает ссылки в собственном браузере, и в нём вместо формул надпись "Latex formula". Чтобы увидеть формулы, надо в "тележном" браузере ткнуть в три точки справа сверху, выбрать самый верхний пункт "Открыть в браузере" и все формулы покажет.
🔥13
This media is not supported in your browser
VIEW IN TELEGRAM
Простой пример анимации
В последнее время был беспощадно руган за сложность исходников. Вот максимально простой исходник для такой вот анимашки.
Тут три слоя - ёлки, сугробы (за которые можно спрятать Гринча), и бодрый Дед.
Дед - спрайты. Сугробы - png с альфой. Ёлки - bmp.
Всё очень просто, без GDIPlus, без Direct2D, только Canvas.
Исходник (751 Кб) Delphi XE7
Прога (1.43 Мб)
В последнее время был беспощадно руган за сложность исходников. Вот максимально простой исходник для такой вот анимашки.
Тут три слоя - ёлки, сугробы (за которые можно спрятать Гринча), и бодрый Дед.
Дед - спрайты. Сугробы - png с альфой. Ёлки - bmp.
Всё очень просто, без GDIPlus, без Direct2D, только Canvas.
Исходник (751 Кб) Delphi XE7
Прога (1.43 Мб)
🔥10
Тождество Никомаха и 2025
Тождество Никомаха - теоретико-числовое утверждение о том, что сумма кубов первых n натуральных чисел равна квадрату суммы первых n натуральных чисел:
1³ + 2³ + 3³ + ... + n³ = (1 + 2 + 3 + ... + n)²
Таким образом:
1³ + 2³ + 3³ + 4³ + 5³ + 6³ + 7³ + 8³ + 9³ = 2025
(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 2025
45² = (20+25)² = 2025
Наблюдение не моё ))) Поделились...
Тождество Никомаха - теоретико-числовое утверждение о том, что сумма кубов первых n натуральных чисел равна квадрату суммы первых n натуральных чисел:
1³ + 2³ + 3³ + ... + n³ = (1 + 2 + 3 + ... + n)²
Таким образом:
1³ + 2³ + 3³ + 4³ + 5³ + 6³ + 7³ + 8³ + 9³ = 2025
(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 2025
45² = (20+25)² = 2025
Наблюдение не моё ))) Поделились...
👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Пример использования AlphaBlend
Как выяснилось, есть определённые вопросы, связанные с динамическим формированием альфа-канала. Вот пример, где всё рисуется исключительно AlphaBlend'ом. Альфа-наложение используется как статическое - одно значение на всю картинку, так и динамическое - формирование альфа-градиента.
Заодно, пример масштабирования через эту функцию. Можно посмотреть, как изменится скорость отрисовки при максимизированном окне.
Галка IsRight - работа с альфой более правильная, вид станет немного другой
Галка Crazy - станет истерить.
Описание функции AlphaBlend.
Как AlphaBlend смешивает цвета.
Исходник (2.6 Мб) Delphi XE7
Прога (3.0 Мб)
Как выяснилось, есть определённые вопросы, связанные с динамическим формированием альфа-канала. Вот пример, где всё рисуется исключительно AlphaBlend'ом. Альфа-наложение используется как статическое - одно значение на всю картинку, так и динамическое - формирование альфа-градиента.
Заодно, пример масштабирования через эту функцию. Можно посмотреть, как изменится скорость отрисовки при максимизированном окне.
Галка IsRight - работа с альфой более правильная, вид станет немного другой
Галка Crazy - станет истерить.
Описание функции AlphaBlend.
Как AlphaBlend смешивает цвета.
Исходник (2.6 Мб) Delphi XE7
Прога (3.0 Мб)
🔥10👍1
Маркус Бейкер. Скромный герой
Не так давно опубликовал сборник формул нахождения площади треугольника доселе никому неизвестного Маркуса Бейкера. Теперь это не так. Теперь ещё как известного!
Данил Близнец провёл замечательное скрупулёзное исследование и составил жизнеописание нашего героя. Приглашаю ознакомиться: Маркус Бейкер и его коллекция формул для площади треугольника.
И да, может быть кто-то скажет, у нас тут не исторический кружок. Но быть дотошным занудой в нашем деле, это очень приветствуется. Данил, спасибо, что закончил картину. 👍
Не так давно опубликовал сборник формул нахождения площади треугольника доселе никому неизвестного Маркуса Бейкера. Теперь это не так. Теперь ещё как известного!
Данил Близнец провёл замечательное скрупулёзное исследование и составил жизнеописание нашего героя. Приглашаю ознакомиться: Маркус Бейкер и его коллекция формул для площади треугольника.
И да, может быть кто-то скажет, у нас тут не исторический кружок. Но быть дотошным занудой в нашем деле, это очень приветствуется. Данил, спасибо, что закончил картину. 👍
www.x117.ru
Маркус Бейкер и его коллекция формул для площади треугольника.
Некоторые сведения о личности Маркуса Бейкера, коллекционера формул для площади треугольника, а также географа и исследователя Аляски по данным открытых источников.
👍8
OpenGL: Сглаживание краев. ARB-Multisample
Логичное развитие темы с 3D-моделью obj-формата. Теперь её надо отобразить в OpenGL, посмотреть, правильно ли прочитана модель из файла.
Модель прочитана правильно, но при отображении возникла проблема со ступенчатыми краями. Безусловно эстетическая, но сильно бесящая. Из-за которой двигаться дальше было нельзя никак.
Пришлось решать.
Ознакомиться как...
Логичное развитие темы с 3D-моделью obj-формата. Теперь её надо отобразить в OpenGL, посмотреть, правильно ли прочитана модель из файла.
Модель прочитана правильно, но при отображении возникла проблема со ступенчатыми краями. Безусловно эстетическая, но сильно бесящая. Из-за которой двигаться дальше было нельзя никак.
Пришлось решать.
Ознакомиться как...
🔥6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Другой алгоритм пламени
Давно ничего не придумывал не по работе. А тут появилось немного времени, и кто-то меня просил подумать про то, как сделать огонь, например, для факела или очага. Вот, мысли по этому поводу.
Исходник очень минималистичен и прост.
Пламя строится на путях, построенных на кривых Безье. Для закраски используется градиентная кисть сложной формы.
GDI+
Исходник (59 Кб) Delphi XE7
Прога (903 Кб)
Давно ничего не придумывал не по работе. А тут появилось немного времени, и кто-то меня просил подумать про то, как сделать огонь, например, для факела или очага. Вот, мысли по этому поводу.
Исходник очень минималистичен и прост.
Пламя строится на путях, построенных на кривых Безье. Для закраски используется градиентная кисть сложной формы.
GDI+
Исходник (59 Кб) Delphi XE7
Прога (903 Кб)
🔥8🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Запоминаем таблицу синусов и косинусов навсегда )))
Поделились видео (youtube), где женщина лихо воспроизводит таблицу значений.
Такого метода не знал, был в восхищении, нашел вот такую интерпретацию, чтобы не заходить никуда.
Поделились видео (youtube), где женщина лихо воспроизводит таблицу значений.
Такого метода не знал, был в восхищении, нашел вот такую интерпретацию, чтобы не заходить никуда.
🔥7
Ада Лавлейс - первый программист в истории человечества. Этот факт меня всегда восхищал 🔥
С праздником, милые дамы! 🌹🌹🌹
5 гениальных женщин-программистов и их вклад в развитие IT
До 1984 года женщин-программистов было больше, чем мужчин: 6 удивительных фактов о женщинах в IT
С праздником, милые дамы! 🌹🌹🌹
5 гениальных женщин-программистов и их вклад в развитие IT
До 1984 года женщин-программистов было больше, чем мужчин: 6 удивительных фактов о женщинах в IT
🔥7
Получение повёрнутого TBitmap средствами Windows GDI
История такая. Спросили, нет ли у меня готового исходника для поворота картинки. А у меня есть куча всего понаписанного, но не опубликованного. То времени нет, то азарт кончился. Поэтому, вот модуль, который получает повёрнутый битмап двумя способами. Вдруг пригодится ещё кому-нибудь. Без экзотики, чистый Win GDI:
1) Аффинные преобразования поворота
2) Использование API функции PlgBlt.
utlRotatePicGDI.zip
История такая. Спросили, нет ли у меня готового исходника для поворота картинки. А у меня есть куча всего понаписанного, но не опубликованного. То времени нет, то азарт кончился. Поэтому, вот модуль, который получает повёрнутый битмап двумя способами. Вдруг пригодится ещё кому-нибудь. Без экзотики, чистый Win GDI:
1) Аффинные преобразования поворота
2) Использование API функции PlgBlt.
utlRotatePicGDI.zip
🔥12👍1
Дожили... Теперь 22 апреля - День Старого Программиста.
Старого, Карл! Раньше степень древности не обозначали.
Всех программистов сердечно поздравляю 🍾🤟🥳
А особенно выпускников специальности 2204.
День старого программиста — неофициальный профессиональный праздник, который отмечается ежегодно 22 апреля. Он возник среди советских и российских программистов, обучавшихся по специальности с кодом 2204 — «Программное обеспечение вычислительной техники и автоматизированных систем». Число 2204 символически интерпретируется как 22.04, то есть 22 апреля.
https://dzen.ru/a/aAeTmz3O9Q32Qz9W
Старого, Карл! Раньше степень древности не обозначали.
Всех программистов сердечно поздравляю 🍾🤟🥳
А особенно выпускников специальности 2204.
День старого программиста — неофициальный профессиональный праздник, который отмечается ежегодно 22 апреля. Он возник среди советских и российских программистов, обучавшихся по специальности с кодом 2204 — «Программное обеспечение вычислительной техники и автоматизированных систем». Число 2204 символически интерпретируется как 22.04, то есть 22 апреля.
https://dzen.ru/a/aAeTmz3O9Q32Qz9W
👍7🔥5
Подключаем DeepSeek к Delphi
Купить API Key проблематично, в списке возможных помощников Delphi этой нейронки нет, а попробовать хочется. Поэтому:
1. Надо закачать себе DeepSeek. Инструкция. Ничего не смотрим, сразу листаем на пункт "5. Продвинутый способ: скачать Дипсик на компьютер".
2. По ссылке в этом пункте качаем и ставим LM Studio. Запускаем, идём в обзор моделей и выбираем DeepSeek Coder V2 Lite (10.4 Gb 😱) и качаем. Это необязательно, можно и на базовой, но он хотя бы про Delphi знает.
3. Из tray-меню студии запускаем сервер.
4. В Delphi опциях выбираем настройки Smart CodeInsight, включаем его, выбираем ChatGPT, указываем BaseURL=http://127.0.0.1:1234/V1 и Api key = not-needed. Из списка моделей выбираем deepseek-coder-v2-lite-instruct. Остальное на свой вкус.
Помощник так себе, но, думаю, найдутся желающие поэкспериментировать.
Купить API Key проблематично, в списке возможных помощников Delphi этой нейронки нет, а попробовать хочется. Поэтому:
1. Надо закачать себе DeepSeek. Инструкция. Ничего не смотрим, сразу листаем на пункт "5. Продвинутый способ: скачать Дипсик на компьютер".
2. По ссылке в этом пункте качаем и ставим LM Studio. Запускаем, идём в обзор моделей и выбираем DeepSeek Coder V2 Lite (10.4 Gb 😱) и качаем. Это необязательно, можно и на базовой, но он хотя бы про Delphi знает.
3. Из tray-меню студии запускаем сервер.
4. В Delphi опциях выбираем настройки Smart CodeInsight, включаем его, выбираем ChatGPT, указываем BaseURL=http://127.0.0.1:1234/V1 и Api key = not-needed. Из списка моделей выбираем deepseek-coder-v2-lite-instruct. Остальное на свой вкус.
Помощник так себе, но, думаю, найдутся желающие поэкспериментировать.
🔥5👍2🤔2