Комментарии 52
А какие у вас таблетки?
Мечта эпилептика просто. А как этой штукой измерять время - непонятно.
Я добавил красивую графику, чтоб было не слишком скучноЕсли у вас предложение о пересмотре циферблата часов и вы хотите объяснить принцип, то к чему это всё? Это явно отвлекает.
я не понимаю почему таких штук нет в продажеСоздайте физический прототип и появятся. Или хотя бы циферблат для электронных часов на каком-нибудь Android Wear или ещё на чём. Выложите на github для всех или в play market и продавайте, если считаете что их бы кто-то купил.
Например, человек придумал свои бинарные часы. Взял и сделал. Заодно поделился, как он докатился до такой жизни:
А так — поток сознания получился. Попробуйте изложить свои мысли иначе.
float day() {
float iDatex=iDate.x;
float y366 = ceil(iDatex/4.0);
float y365 = iDatex-y366;
y366*=366.0;
y365*=365.0;
float d=y366+y365;
if (iDate.y >= 0.0) d+=0.0;
if (iDate.y >= 1.0) d+=31.0;
if (iDate.y >= 2.0 && int(mod(iDatex, 4.0))==0) d+=29.0;
if (iDate.y >= 2.0 && int(mod(iDatex, 4.0))!=0) d+=28.0;
if (iDate.y >= 3.0) d+=31.0;
if (iDate.y >= 4.0) d+=30.0;
if (iDate.y >= 5.0) d+=31.0;
if (iDate.y >= 6.0) d+=30.0;
if (iDate.y >= 7.0) d+=31.0;
if (iDate.y >= 8.0) d+=31.0;
if (iDate.y >= 9.0) d+=30.0;
if (iDate.y >= 10.0) d+=31.0;
if (iDate.y >= 11.0) d+=30.0;
d+=iDate.z-4.0;
return mod(d, 7.0)+1.0;
}
Я сварщик не настоящий, но ощущение, что если приходится писать 100500 иф-ов, то что-то явно идёт не так.
… это вы так день недели вычисляете, серьезно?
год, номер которого кратен 400, — високосный;-из Wiki
остальные годы, номер которых кратен 100, — невисокосные (например, годы 1700, 1800, 1900, 2100, 2200, 2300);
остальные годы, номер которых кратен 4, — високосные.
ваш календарь перестанет работать в 2100 году — он делится на 4 — но не высокосный
Взял бы стандартную библиотеку, которая учитывает особенности дурацкого человеческого календаря.
Значит, этот язык не очень подходит для решения вашей задачи в том виде, в котором вы пытаетесь ее решить.
Этот язык идеально подходит для решения этой задачи
Если вы не можете на нем нормально работать с датами — нет.
он позволяет производить быстрые вычисления на видеокарте. На других языках, не поддерживающих программирование шейдеров, такая анимация будет очень жестко тормозить
Вам для того, чтобы отрисовать часы, которые меняются раз в секунду, и еще несколько секторов, которые меняются реже, нужны шейдеры и вычисления на видеокарте? Вы точно что-то делаете не так.
(А еще, если я не ошибаюсь, там, где нужно отрисовывать сложную визуализацию, для которой-таки нужна видеокарта, входные данные для этой визуализации таки не обязательно считают на видеокарте)
Я не понимаю, почему когда когда круглый цифреблат часов способен вмещать в себя день, месяц, год, — почему в массовой продаже не выпускаются такие часы, более точные?
Потому что
(а) они не более точные
(б) востребованность низкая
(ц) весь смысл стрелочных часов в том, чтобы схватывать время при поверхностном взгляде, а ваше решение этого лишено
(д) всю прочую информацию намного проще отобразить на обычном дисплее
а может они просто воспроизводят одну и ту же технологию, с которой имеют дело ни одну сотню лет и которая имеет спрос?
Именно так. Я же говорю: на то, что вы предлагаете, нет спроса. Работает — не трогай. У меня на часах даже секундной стрелки нет, и я не страдаю особо.
но как это сделать механически, не знают
… а вы знаете, как это сделать механически?
… а вы знаете, как это сделать механически?Нет, только пиксели могу программировать. Но можно и не отбрасывать вариант с дисплеем.
Работает — не трогай.Да я просто попробовать…
Не буду комментировать нужность идеи: на всякую странность найдется любитель, а основной функционал собственно часов не страдает.
Но штука прикольная, залипательная, психоделически-гипнотическая, и, как таковая, имеет право на жизнь.
Мне вот до сего дня не приходило в голову смотреть «какой сейчас год» на часах. А ведь и правда, вдруг уже триста две тысячи двадцать первый. И часы ещё 700 тысяч лет проработают, а там, глядишь, автор запилит обновление. Ляпота.
Мне кажется вам бы сюда добавить скриншоты с примерами и пояснениями.
В общем смысле я понял что вы пытаетесь сделать, но например сказать точную дату на ваших часах не могу.
Для того чтоб вычислить год, разделяете круг циферблата на 6 частей (у вас получится по 10 секундных/минутных делений в каждом). Длина дуги в каждой из частей обозначает одну цифру года. Потом записываете их по одной цифре в порядке часовой стрелки от нуля (ноль посередине вверху): 002021 — начальные нули обрезаются.
Со стрелками вроде всё понятно; может стоит уточнить что если часовая стрелка направлена на темную область, то сейчас первая половина суток, на светлую — вторая. (циферблат, можно сказать, вращается вместе со стрелкой, кроме моментов переходов am/pm).
Граница зеленого и желтого…
Длинна зеленой дуги…
Дальтоники проходят мимо, здесь нет ничего интересного.
Для того чтоб вычислить год..
А зачем его вычислять? Дисплей — чтобы смотреть.
Я не понимаю, почему когда когда круглый цифреблат часов способен вмещать в себя день, месяц, год, — почему в массовой продаже не выпускаются такие часы, более точные?
Ну циферблат много вместить может, только зачем?
Вам не кажется, что индикация дня недели немного более важна, чем индикация года? Или я её не заметил, запутавшись в дугах, секторах и стрелках?
И месяц, я уверен, многие назовут сразу, не глядя (в крайнем случае поглядев на число, если забыли сколько дней в месяце).
Представьте, что через 2000 лет учёные/археологи обнаружат ваш код. Попытаются восстановить «Антикитерский механизм», возможно решат, что он связан с верованиями, или применялся для подсчёта движения тел небесных. Вы им задали нелёгкую задачу: с вашими ифами они могут подумают о чём-то потустороннем…
измеряющих время в 7300000-7320000 больших размерах
Вам бы поработать над изложением мыслей. Очень трудно понимать такие фразы.
Прошу вас, перепишите ваш текст как минимум три раза: первый раз развернув все абстракции на один уровень ниже, второй раз, добавив контекста к сущностям, которые слабо знакомы большинству читателей (подумайте, какие это сущности), и третий раз -- с отладчиком (человеком-редактором).
www.shadertoy.com/view/7tXGRr теперь вместо часов можно записать в кружок данные любой банковской карты со сроком активности и проверочным кодом. Так как все готовые валидные значения карт уже прорисованы внутри кольцевой матрицы, это чем-то напоминает банк, — так что это шейдерный банк.
Часы и волны