RSS

Комментарии

Что значит break после case?
Как решить проблему Microsft Visual C++ 2017-2019 Redistributable (x64)????
Статья про нотации
Вопросы и консультации: +7 (495) 139-09-60

Наша телега, подписывайтесь
Наш канал ДЗЕН, тут есть что почитать
Несколько типов анимаций:
//простая линейная анимация — без замедления, без ускорения
double Linear(double curentTime,double startValue,double changeVaue,double duration)
{
return changeVaue * curentTime / duration + startValue;
}
//квадратичное замедление — ускорение с нулевой скорости
double QuadraticIn(double curentTime,double startValue,double changeVaue,double duration)
{
curentTime /= duration;
return changeVaue * Math.Pow(curentTime,2) + startValue;
}
//квадратичное замедление — ускорение до половины, затем замедление
double QuadraticOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return changeVaue / 2 * Math.Pow(curentTime, 2) + startValue;
}
return -changeVaue / 2 * (curentTime * (curentTime — 2) — 1) + startValue;
}
//кубическое замедление — ускорение с нулевой скорости
double CubicIn(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
return changeVaue * Math.Pow(curentTime, 3) + startValue;
}
//кубическое ослабление — замедление до нулевой скорости
double CubicOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
curentTime--;
return changeVaue * (Math.Pow(curentTime, 3) +1) + startValue;
}
//кубическое ослабление — ускорение до половины, затем замедление
double CubicInOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return changeVaue / 2 * Math.Pow(curentTime, 3) + startValue;
}
curentTime -= 2;
return changeVaue / 2 * (Math.Pow(curentTime, 3) + 2) + startValue;
}
//квартальное ослабления — ускорение с нулевой скорости
double QuarterIn(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
return changeVaue * Math.Pow(curentTime, 4) + startValue;
}
//квартальное ослабление — замедление до нулевой скорости
double QuarterOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
curentTime--;
return -changeVaue * (Math.Pow(curentTime, 4) — 1) + startValue;
}
//квартальное ослабление — ускорение до половины, затем замедление
double QuarterInOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return changeVaue / 2 * Math.Pow(curentTime, 4) + startValue;
}
curentTime -= 2;
return -changeVaue / 2 * (Math.Pow(curentTime, 4) — 2) + startValue;
}
//пятикратное ослабление с ускорение с нулевой скорости
double QuinticIn(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
return changeVaue * Math.Pow(curentTime, 5) + startValue;
}
//пятикратное ослабление — замедление до нулевой скорости
double QuinticOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
curentTime--;
return changeVaue * (Math.Pow(curentTime, 5)+1) + startValue;
}
//пятиступенчатое ослабление — ускорение до половины, затем замедление
double QuinticInOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return changeVaue / 2 * Math.Pow(curentTime, 5) + startValue;
}
curentTime -= 2;
return changeVaue / 2 * (Math.Pow(curentTime, 5) + 2) + startValue;
}
//синусоидальное замедление — ускорение от нулевой скорости
double SinIn(double curentTime, double startValue, double changeVaue, double duration)
{
return -changeVaue * Math.Cos(curentTime / duration * (Math.PI / 2)) + changeVaue + startValue;
}
//синусоидальное ослабление — замедление до нулевой скорости
double SinOut(double curentTime, double startValue, double changeVaue, double duration)
{
return changeVaue * Math.Sin(curentTime / duration * (Math.PI / 2)) + changeVaue + startValue;
}
//синусоидальное ослабление — ускорение до половины, затем замедление
double SinInOut(double curentTime, double startValue, double changeVaue, double duration)
{
return -changeVaue / 2 * (Math.Cos(Math.PI * curentTime / duration) — 1) + startValue;
}
//экспоненциальное замедление — ускорение с нулевой скорости
double ExpIn(double curentTime, double startValue, double changeVaue, double duration)
{
return changeVaue * Math.Pow(2, 10 * (curentTime / duration — 1)) + startValue;
}
//экспоненциальное ослабление — замедление до нулевой скорости
double ExpOut(double curentTime, double startValue, double changeVaue, double duration)
{
return changeVaue * (-Math.Pow(2, -10 * curentTime / duration) + 1) + startValue;
}
//экспоненциальное замедление — ускорение до половины, затем замедление
double ExpInOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return changeVaue / 2 * Math.Pow(2, 10 * (curentTime — 1)) + startValue;
}
curentTime--;
return changeVaue / 2 * (-Math.Pow(2, -10 * curentTime) + 2) + startValue;
}
//круговое замедление — ускорение с нулевой скорости
double CirculIn(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
return -changeVaue * (Math.Sqrt(1 — Math.Pow(curentTime, 2)) — 1) + startValue;
}
//круговое ослабление — замедление до нулевой скорости
double CirculOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration;
curentTime--;
return changeVaue * Math.Sqrt(1 — Math.Pow(curentTime, 2)) + startValue;
}
//круговое замедление — ускорение до половины, затем замедление
double CirculInOut(double curentTime, double startValue, double changeVaue, double duration)
{
curentTime /= duration / 2;
if (curentTime < 1)
{
return -changeVaue / 2 * (Math.Sqrt(1 — Math.Pow(curentTime, 2)) — 1) + startValue;
}
curentTime -= 2;
return changeVaue / 2 * (Math.Sqrt(1 — Math.Pow(curentTime, 2) + 1) + startValue);
}
Источник:
Спасибо замечательные ребята. Люди нового поколения. Как и мой сын, которому 21 год. Вы будущее планеты. Удачи вам. Я из Баку. Здесь тоже много умных ребят. Хочу добавить еще одну мысль. Вот мы смотрим сеиалы, фильмы на разных сайтах. И комп сильно нагревается или кулер как кондишн гонит. Значит мы попадаем в майнинг, какой выход не знаю. Но вот надо подумать о сверхпроводимости, о возможности доставки элеткроэнергии с мест, близких к очень низким температурам посредством,… вот не знаю каким образом. к потребителю. Об этом подумайте. В общем может и бредовая идея, но все же. И вот насчет CO2. Надо найти способ ускоренно роста больший растений, отвечающих за поглощение СО2. Например дерево за 2 года выратит до 15 летней высоты. (как соседский ротвейлер щенок Бакс, который был с размером с моей Йоркши полгода назад а сейчас огромный пес) Тоже подумайте. Можем работать над грантом. Если заинтересует ответьте.
большое спасибо, очень ценная лекция!

А если товар — это искусство?
function GetCursorPosition(context: any): number
{
const selection = window.getSelection();
if (!selection) return 0;
const range = selection.getRangeAt(0);
range.setStart(context, 0);
return range.toString().length;
}

function setCursorPosition(context: any, len: number): void
{
const selection = window.getSelection();
if (!selection) return;
const pos = getTextNodeAtPosition(context, len);
selection.removeAllRanges();
const r = new Range();
r.setStart(pos.node, pos.position);
selection.addRange®;
}

function getTextNodeAtPosition(root: any, index: number): { node: any, position: number }
{
const treeWalker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT,
{
acceptNode: (elem: Node): number =>
{
const l = elem?.textContent?.length ?? 0;
if (index > l)
{
index -= l;
return NodeFilter.FILTER_REJECT;
}
return NodeFilter.FILTER_ACCEPT;
}
});

return { node: treeWalker.nextNode() ?? root, position: index };
}
спасибо
Давно искал на что перейти с visio. Спасибо за программу
Футболки будут?
2019 поизносилась уже )
после просмотра возникает вопрос, почему Listв шарпе используется как динамический массив, а не как двусвязный список, как в тех же плюсах?
всегда считал что Listв шарпе это двусвязный список, а не массив, основываясь на его названии
А с ботом вайбера возможно подружить 1С?
спасибо за урок, очень полезно и самое главное доступно, like подписка соответственно )
Есть вопрос и благодарность)
Благодарность: интересные уроки. спасибо тебе за них. Начинал еще с ++
сейчас не так давно начал шарпы. быстро просмотрел весь твой курс и проставил лайки))) но понял что книги куда больше уже дают, как ты и говорил.

вопрос: как получить возможность сравнивать обобщенный тип данных Т в обобщенном классе?
кажется это делается как-то через class MyClasswhere T: какой-то интерфейс