BoxAtBox

На Пикабу
7042 рейтинг 1 подписчик 38 подписок 10 постов 3 в горячем
Награды:
10 лет на Пикабу
4165

Про ГОСТ-ы

Знакомый поведал мне такую историю.


Был он какое-то время научным руководителем по какой-то строительной специальности. И один из его студентов писал диплом, и пришел к нему с таким вопросом: "Где взять ГОСТ-ы на марки стали?". Ну а он возьми и ответь: "Вот берешь сосиски, а на них написано ГОСТ такой-то такой-то. Переписываешь в свою работу и все".


Пришла пора сдачи диплома. Студент сдает диплом, и называет один из ГОСТ-ов. А среди приемной комиссии был профессор с кафедры металлургии черных металлов. И вот он услышав цифры просто зависает. Дело в том, что марок стали не то чтобы безумно много, и если ты каждый день сталкиваешься с этими номерами ГОСТ-ов, то хочешь или нет - ты их запоминаешь. А тут - новый номер! Неужели новая марка стали? Не усидел професор, сказал - я сейчас! - и вышел в библиотеку.


Разумеется по названному ГОСТ-у оказались сосиски. А когда профессор вернулся, и рассказал, что это за ГОСТ, все знатно поржали, а студент знатно понервничал.

Показать полностью

Помогите найти видоеролик

Давно (года 3 назад) на ютубе как-то встречал видеоролик к игре The Forest. В нем демонстрировались баги, и все это было под саундтрек от AWOLNATION - Sail.

Сейчас все перерыл, не могу найти, выручайте, пикабутяне.

Комментарий для минусов унутри.

Что это? Игра №1

Привет, пикабушники. Есть у меня AppScope агрегат, он вешается на телефон, и телефон превращается в слабенький микроскоп.

А сейчас я предлагаю вам поиграть в такую игру. Ниже будут фотографии чего-то, снятого на этот микроскоп, а вы будете отгадывать, что же именно снято. Как только кто-то угадает - я сразу буду выкладывать фотоответ. Итак, поехали:


1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

Показать полностью 16
3

Делаем залипалочку на FPC + Lazarus.

Хей. А давайте ка я вам напишу залипалочку, и расскажу по шагам как это сделать.

Будем мы писать это дело в Lazarus IDE и собирать компилятором FreePascal. На всякий случай, качается эта штука тут: http://www.lazarus-ide.org/index.php?page=downloads , но я рассчитываю на то, что вы уже знакомы хотя бы отдаленно с Delphi.

Поэтому ниже - только код залипалочки по шагам. Итак, для начала создаем пустой проект, и в обработку OnPaint пишем такой код:

https://paste.ee/p/CmQHc

Пока мы закрасили форму черным, и наша задача писать в b такие значения, чтобы вышла залипалочка. Все, конец.


Да не, шучу. Итак сделаем сначала шахматную доску 100*100 ячеек. Пишем:

https://paste.ee/p/uDMeW

На выходе шахматная доска:

Пока ничего примечательного. Что ж, давайте погоним волну по одному из ребер.

Для этого нам надо просто "двигать" координату перед передачей в делитель (j div 100) mod 2

Ну и поскольку это волна - то будем само собой двигать по синусу:

y := j;

y := y + 20*sin(i*0.1);

https://paste.ee/p/zKmqA

Но пока что волна статична, а мы собирались гнать её. Для этого нам нужно делать анимацию. Бросаем на форму таймер, ставим ему минимальный интервал, и на таймере просто зовем Invalidate;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Invalidate;

end;


Возвращаемся в OnPaint. Теперь нам тут нужно время. И желательно нормализованное (это такое, которое изменяется от 0 до 1 за N миллисекунд). Пусть интервал будет 2000 миллисекунд (это 2 секунды)

t := GetTickCount64;

tn := (t mod 2000) / 2000;

но это еще не все, дело в том, что это время имеет рывок, и оно будет резко скакать с 0 до 1. А нам нужно время, которое плавно перетекает из нуля в единицу и так же плавно обратно. Поэтому делаем "мякгое" время:

tnsoft := abs(tn - 0.5) * 2;

тут сначала мы смещаем tn, и он становится от -0.5 до 0.5. Далее с помощью abs мы замыкаем его. Теперь интервал будет плавно менятся 0.5 -> 0.0 -> 0.5. Ну и множим на 2, чтобы интервал стал 1.0 -> 0.0 -> 1.0

Теперь, когда мы имеем "плавное" время, можем поправить нашу функцию, сдвигающую y координату:

y := y + (tnsoft-0.5)*20*sin(i*0.1);

Да да, мы просто умножили амплитуду на это наше значение, переведя его в диапазон [-0.5;0.5)

https://paste.ee/p/U0BaA

Так, амплитуда меняется. Теперь давайте ка эти волны двинем вправо. Это легко, просто добавим сдвиг фаз от времени под синус (для идеальной зацикленности в gif-ках пришлось помножить на пи):

y := y + (tnsoft-0.5)*20*sin((i-t*0.1)*Pi*0.02);

https://paste.ee/p/bRK1p

Но пока еще недостаточно залипаловно. Давайте ка согнем горизонтальные волны типа как по параболе. Просто пишем:

y := y*i/200; перед тем как отправить в нашу функцию с синусом (еще я чуть увеличил амплитуду на синусе до 30)

https://paste.ee/p/b6b3R

Ну вот. На первый раз хватит. Вот такими простенькими манипуляциями простенькая залипалочка готова.

Полный говнокод юнита с формой: https://paste.ee/p/Gbq2y

Специально для Пикабу, сугубо от нефиг делать. Спасибо за внимание.

Показать полностью 8
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества