We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being pushed «down» the sloped table by the gravity vector in every frame, we found that floating point error would gradually accumulate until the ball's position was suddenly on the other side of the barrier!
(To simplify collision detection, the ball was reduced to a single point/vector and all barriers were inflated by the ball radius. So, if the mathematical point got too «close» to the mathematical line barrier, a tiny amount of floating point rounding or truncation error could push the point to the other side of the line)
To mitigate that, we added a tiny amount of extra bounce to push the ball away from the barrier when it was nearly at rest, to keep the floating point error accumulation at bay. This became known as the Brownian Motion solution.
Since much of the original code was written in x86 asm to hand tailor Pentium U/V pipelines and interleave FPU instructions, but wiki says Microsoft ported the code to C for non-Intel platforms, I'm sure the code had passed through many hands by the time it got to you. The Brownian Motion solution may have been refactored into oblivion.
Если бы он бумагу в труху перемалывал, смешивал с клеем и краской и полученной пастой печатал, то получилось бы практически без отходов. Но тогда принцип печати совсем другой получился бы.
Наши CAD-овцы плюются. Им всем из головного офиса прислали, но им удобней в солиде мышкой елозить. Возможно, дело в привычке. В том же головном офисе все инженеры этими навигаторами на ура пользуются.
Поддержу человека. Зря минусов ему наставили, потому что игнорирование наследования от интерфейса действительно вводит в ступор. А на счет создания итератора в стеке, так никто наследования структур от интерфейсов не отменял. Приведенный ниже пример работает отлично. Ну а то, что он без интерфейса может работать, так это, как по мне, большой недочет.
public struct Iterator: IEnumerable
{
public IEnumerator GetEnumerator()
{
for (int i = 0; i < 10; i++)
{
yield return i;
}
}
}
Вы тогда еще с размером байта определитесь. Есть системы, в которых машинный байт отличен от 8 бит. Недавно как раз статейка была, в которой об этом упоминалось.
капец. попробовал на свою голову.
там чем больше шариков собираешь, тем жестче эффекты становятся. на 83 из 100 меня уже начало подташнивать, голова закружиласть и т.п.
буэ
установите себе вин8 и посмотрите до конца вступительную обучалку при первом логине — там объясняются все жесты. пока вы виндой пользоваться не начнёте, вы об этих жестах не узнаете, но оно и не нужно будет. показать обучалку перед началом использования — довольно распространенная практика. а видео еверноут рассчитано на тех, кто уже новой виндой пользуется. так что ничего удивительного.
Для начала, винда там не может быть Mango — у неё в требованиях 512 МБ ОЗУ, так что там может быть только «специальная» редакция Tango. Во-вторых там не может быть miniUSB, только micro. Ну и в-третьих, я не пойму с чего вы вдруг так на него накинулись. Китайца с виндой вы не найдете, цена указана не окончательная, а только, что она не должна превысить 200 баксов. Если кто вдруг не помнит, так и 610 по началу, не сильно дешевле 710 была. Думаю, смарт найдет своих почитателей, когда цена устаканится и станет гривен 1300-1400 (~160-170 $), что вполне реально. В конце-концов, есть огромные полчища потребителей, которым нафик не упали дополнительный софт и музыка, им главное, чтоб аппарат был красивый и умел звонить. Интерфейс WP7 должен роль свою тут сыграть. Интеграция с Exchange, при правильной работе маркетологов, может подсадить и корпоративный сектор на них, как на дешевую альтернативу дорогим топовым смартам (конечно андроид тоже умеет с ексчейнджем работать, но тут, как я уже сказал, работа маркетологов нужна). Короче, я не разделяю пессемизма в отношении этого аппарата — он найдет свою нишу.
поддерживаю вашу мысль, но хочу отметить, что у гугла того же на андроиде есть свой клиент для почты in general и для gmail отдельно. зачастую оба клиента проверяют один и тот же ящик
Ah, the quantum tunneling pinball!
We ran into this while writing the original code at Cinematronics in 1994. Since the ball motion, physics, and coordinates were all in floating point, and the ball is constantly being pushed «down» the sloped table by the gravity vector in every frame, we found that floating point error would gradually accumulate until the ball's position was suddenly on the other side of the barrier!
(To simplify collision detection, the ball was reduced to a single point/vector and all barriers were inflated by the ball radius. So, if the mathematical point got too «close» to the mathematical line barrier, a tiny amount of floating point rounding or truncation error could push the point to the other side of the line)
To mitigate that, we added a tiny amount of extra bounce to push the ball away from the barrier when it was nearly at rest, to keep the floating point error accumulation at bay. This became known as the Brownian Motion solution.
Since much of the original code was written in x86 asm to hand tailor Pentium U/V pipelines and interleave FPU instructions, but wiki says Microsoft ported the code to C for non-Intel platforms, I'm sure the code had passed through many hands by the time it got to you. The Brownian Motion solution may have been refactored into oblivion.
public struct Iterator: IEnumerable
{
public IEnumerator GetEnumerator()
{
for (int i = 0; i < 10; i++)
{
yield return i;
}
}
}
там чем больше шариков собираешь, тем жестче эффекты становятся. на 83 из 100 меня уже начало подташнивать, голова закружиласть и т.п.
буэ