Функция разложения цвета на оттенки. - страница 3

 
Nikolay Demko:
HSL

Посмотрел. Ужаснулся. Посмотрел снова. :)

Вопрос в том, - сколько времени займет процесс вникания в подобные решения. Я пришел к выводу, что получу большую отдачу если найду решение сам. 

  1. Получилось относительно быстро. С решением из Википедии не знаю сколько бы возился.
  2. Обогатило мой опыт. Теперь я знаю как раскладывать цвет.
  3. Найденное решение легко интегрировать в мою программу и развивать дальше.
Поэтому, выгоднее оказалось решать самому.
 
Georgiy Merts:

...

* * *

1. Как правильно указали выше - есть системы HSL и HLS, которые давно стандартизированы, и переходы к ним от RGB осуществляются стандартными формулами. Кроме того, имеется система Lab. Какой смысл изобретать велосипед ?

...

2. Хотелось бы видеть конкретные примеры применения, пусть даже без раскрытия исходного кода - просто саму идею, где это все можно с пользой применить ?  

1. По поводу велосипеда. Смотри, Джорж, Николай предоставил решение из класса CCanvas. Ты как разработчик, как считаешь, - его удобно читать/использовать/развивать? Лично я считаю, что неудобно. Вот почему:

  • Читабельность оставляет желать лучшего.
  • Использование осложняется тем, что нет целостной функции, возвращающей все оттенки. Нужно сохранять взаимосвязь со всей библиотекой. Все разбито на много функций. Это неудобно. 
  • Развитие и интеграция такого решения осложняется запутанной взаимосвязью с сопровождающими функциями и объектами подключенного класса. Решение нецелостно.

Теперь по поводу моего решения. 

  • Читается практически без комментариев. Если известна концепция, вспомнить нюансы можно быстро.
  • Использование облегчено. Нет необходимости что либо подключать. Функция - один простой механизм. Послали запрос - получили результат.
  • Интегрировать и развивать мое решение очень просто. Вставили функцию в программу, послали цвет, получили массив оттенков. Далее, придумываем и строим циклы в которых рисуем различные градиенты, формируем рельеф поверхности и достигаем 3D-эффекта. 

Так что, это решение - вовсе не велосипед, как тебе кажется. 


2. Странно, что ты не видел примеры практического использования. У меня в профиле их полно. 
 
Georgiy Merts:


Многие пишут мелкие полезные примочки. Но, пока что я вижу, что только fxsaber представил библиотеку, которая, на мой взгляд, очень полезна буквально всем. Такого объемного, и при этом общеполезного труда - я не знаю. В данном же случае, с Canvas'ом - и вовсе грустно - мне сложно представить, куда это все можно применить так, чтобы было нужно сколь-нибудь заметной части форумчан.

Да, мне тоже грустно Джордж. Почти три года на этом форуме я пытаюсь объяснить зачем нужен графический интерфейс торговым программам. Я решил огромное количество задач по его созданию. Среди этих задач были и простые, и невероятно сложные. Но более железобетонной задачи, чем объяснить людям здесь, зачем это нужно, я еще не решал. 

То, что для меня является абсолютно понятным, для них непонятно.  Это феноменальная разница в понимании. 

Ты пишешь сотни торговых роботов. Разве, эти роботы не нуждаются в корректировке? Нуждаются. Значит, - нужны настройки. Элементы управления. 

Ты торгуешь на рынке. Разве, на рынке не происходят неожиданные события о которых ты хочешь сразу узнавать?  Происходят. Значит нужны окна сообщений.

Ты проводишь исследования рыночных закономерностей. Разве, закономерности не лучше наблюдать через графики и таблицы? Лучше. Значит нужны окна с графиками и таблицами.

Ты проводишь оптимизацию роботов. Разве, не лучше выводить результаты оптимизации в отчетные окна? Лучше. Значит нужны окна с отчетами.

Ты собираешь статистику торговли каждого робота. Разве, не лучше видеть эту статистику в подробном виде в окнах? Лучше.  Значит, нужны окна для вывода статистики.

Тоже самое можно сказать про настройки рискменеджмента, про ИИ, МО и прочее. Чем сложнее программа, тем больше настроек, таблиц и графиков она должна иметь. Тем больше она должна взаимодействовать с пользователем.


После всего этого, ты все еще считаешь, что GUI торговым программам не нужен? Если да, то мне более нечего тебе сказать.

 
Реter Konow:

Джорж, я отлаживаю код в голове. :)  Всегда так делал. Ищу ошибки рассуждая логически. Очень помогает функция Alert()

Это круто. Я так тоже могу, правда, использую вывод в лог-файл, но для меня это -  большой напряг.  Гораздо удобнее прямой просмотр переменных.

 
Georgiy Merts:

Это круто. Я так тоже могу, правда, использую вывод в лог-файл, но для меня это -  большой напряг.  Гораздо удобнее прямой просмотр переменных.

В том то и дело, что обойтись без отладчика вполне можно, а пожертвовать ради него удобством разработки на родном языке, я оказался не готов. 

Я всегда выбираю лучшее решение. Поверь. Если я его не знаю, то я чуствую, где его искать. Разработка на родном языке дает преимущество, которое не покроет никакой отладчик.

 
Реter Konow:

Да, мне тоже грустно Джордж. Почти три года на этом форуме я пытаюсь объяснить зачем нужен графический интерфейс торговым программам. Я решил огромное количество задач по его созданию. Среди этих задач были и простые, и невероятно сложные. Но более железобетонной задачи, чем объяснить людям здесь, зачем это нужно, я еще не решал. 

То, что для меня является абсолютно понятным, для них непонятно.  Это феноменальная разница в понимании. 

Ты пишешь сотни торговых роботов. Разве, эти роботы не нуждаются в корректировке? Нуждаются. Значит, - нужны настройки. Элементы управления. 

Ты торгуешь на рынке. Разве, на рынке не происходят неожиданные события о которых ты хочешь сразу узнавать?  Происходят. Значит нужны окна сообщений.

Ты проводишь исследования рыночных закономерностей. Разве, закономерности не лучше наблюдать через графики и таблицы? Лучше. Значит нужны окна с графиками и таблицами.

Ты проводишь оптимизацию роботов. Разве, не лучше выводить результаты оптимизации в отчетные окна? Лучше. Значит нужны окна с отчетами.

Ты собираешь статистику торговли каждого робота. Разве, не лучше видеть эту статистику в подробном виде в окнах? Лучше.  Значит, нужны окна для вывода статистики.

Тоже самое можно сказать про настройки рискменеджмента, про ИИ, МО и прочее. Чем сложнее программа, тем больше настроек, таблиц и графиков она должна иметь. Тем больше она должна взаимодействовать с пользователем.

После всего этого, ты все еще считаешь, что GUI торговым программам не нужен? Если да, то мне более нечего тебе сказать.

Дело в том, Петер, что все это я считаю должно быть "раз и навсегда, намертво" забито в бота. Мои роботы - не имеют НИ ОДНОЙ (!!!) настройки. Если я их буду кому-то предлагать (хоть бесплатно, хоть за деньги) - в них появится лишь одна настройка - процент риска. Все !

Смотри.

Безусловно, роботы постоянно корректируются. Однако, эта коррекция - на мой взгляд, не должно быть из гуи-интерфейса. В идеале - как только робот остановился - он тут же должен автоматом прогнаться по истории, отобрать лучшие параметры, записать себе, и работать дальше. Никаких настроек "от человека" ему не положено.

Информация по неожиданным событиям - действительно, требуется вывод. Но, на мой взгляд, вполне хватает того вывода, что есть. Окно сообщений - чем оно лучше того же Print'a ? Окно - полезно, если у нас информация должна выводиться структурированно, в виде таблиц, связей, и прочего. Однако, это совсем не случай "важных событий" !

Вывод результатов оптимизации - опять же, для восприятия человеком, и правда, вроде как удобно отдельное окно. Но как эти результаты должны использоваться ? В моем случае - по ним создается блок кода, который потом - "забивается" в бота. Тебе не кажется, что окно здесь вобще лишнее ?  Результаты оптимизации у меня формируются в файле сразу в виде блока кода, который потом - через copy-paste переносится в бота. Отдельное окно на графике - этого, боюсь, не позволит.

Тоже самое касается статистики - она же мне не в окнах нужна, она мне нужна в файлах отчета !

Взаимодействие с пользователем, я не раз говорил, что я сторонник самых простых и "дубовых" ТС. Таким системам никакое "взаимодействие с пользователем" не положено.

Резюме:

Мне было бы приятно иметь GUI, но, боюсь, моих потребностей тот GUI, что есть - не покрывает, а сложность программ он повышает серьезно.

Однако, я признаю, что другим - вполне себе может GUI быть полезно. В первую очередь - для полуавтоматической торговли.

Поэтому - я и говорю, Петер, тебе надо "драматизировать идею". Вызвать у аудитории "вау-эффект".  Тогда появятся интересующиеся, а там и пользователи.

Вот же, на примере той же Лиги ТС. Сейчас мало кто помнит ветку, в которой я полтора года назад изложил идею Лиги. В основном был скепсис, лишь пара заинтересованных участников. Фактически - тоже самое, как и у тебя, я вижу прямые аналогии. Так вот, на другом форуме - один участник мне так и сказал - "драматизируй идею". Сделай так, чтобы твоя работа была запоминающейся, а лучше - и яркой. Он мне привел какие-то примеры, из которых я помню только Лавуазье (Лавуазье доказывал неверность теории флогистона. Опыты по сжиганию в запаянном сосуде различных веществ не впечатляли его коллег. И тогда он сжег алмаз. Опыт стоил очень дорого, и это привлекло внимание многих, об опыте заговорили, а заодно - заговорили и о теории флогистона, против которой стало появляться все больше фактов). Вот этот участник мне и указал, что надо открыть ветку, в которой регулярно публиковать результаты работы набора ТС (тогда Лига ТС еще так не называлась), и устроить что-то вроде "отчета о соревнованиях", чтобы это заинтересовывало. Я открыл ветку (прошлую), и убедился, что это так и есть. Нашлись даже двое человек, которые помогали мне в тестировании. Сейчас - открыта новая ветка. И любой завсегдатай форума, думаю, знает, что такое Лига ТС. Многие иронично посмеиваются, другие с интересом наблюдают. Но, уверен, уже все давно "связали" в уме мое имя, Чертову Вилку (мой аватар) и Лигу ТС. Кстати, "звучное", эффектное название "Лига ТС", похоже, тоже играет роль.

Тебе надо иметь готовое что-то, что было бы интересно народу. Скажем, вот, с той же, полуавтоматической торговлей, в которой окна и GUI очень даже кстати. Тем более, что GUI для "яркости" имеет кучу возможностей.

 
Georgiy Merts:


Взаимодействие с пользователем, я не раз говорил, что я сторонник самых простых и "дубовых" ТС. Таким системам никакое "взаимодействие с пользователем" не положено.

Джордж, судя по всему, сторонников самых простых и "дубовых" ТС здесь очень много. Поэтому, я им не могу объяснить ничего...)))

Georgiy Merts:


Безусловно, роботы постоянно корректируются. Однако, эта коррекция - на мой взгляд, не должно быть из гуи-интерфейса. В идеале - как только робот остановился - он тут же должен автоматом прогнаться по истории, отобрать лучшие параметры, записать себе, и работать дальше. Никаких настроек "от человека" ему не положено.

Дубовым роботам действительно много настроек не нужно. Простенькая стратегия, оптимизация и вперед!

Georgiy Merts:


Информация по неожиданным событиям - действительно, требуется вывод. Но, на мой взгляд, вполне хватает того вывода, что есть. Окно сообщений - чем оно лучше того же Print'a ? Окно - полезно, если у нас информация должна выводиться структурированно, в виде таблиц, связей, и прочего. Однако, это совсем не случай "важных событий" !

Зачем нам иномарка, если нам телега хорошо служит?...)) Какая там, структурированность вывода информации? Зачем?! )) 

 
Вот чудеса... Раскладывали цвет, и разложили его в GUI. Впрочем - всё как обычно
 
Georgiy Merts:


Резюме:

Мне было бы приятно иметь GUI, но, боюсь, моих потребностей тот GUI, что есть - не покрывает, а сложность программ он повышает серьезно.

Однако, я признаю, что другим - вполне себе может GUI быть полезно. В первую очередь - для полуавтоматической торговли.

Поэтому - я и говорю, Петер, тебе надо "драматизировать идею". Вызвать у аудитории "вау-эффект".  Тогда появятся интересующиеся, а там и пользователи.

Вот же, на примере той же Лиги ТС. Сейчас мало кто помнит ветку, в которой я полтора года назад изложил идею Лиги. В основном был скепсис, лишь пара заинтересованных участников. Фактически - тоже самое, как и у тебя, я вижу прямые аналогии. Так вот, на другом форуме - один участник мне так и сказал - "драматизируй идею". Сделай так, чтобы твоя работа была запоминающейся, а лучше - и яркой. Он мне привел какие-то примеры, из которых я помню только Лавуазье (Лавуазье доказывал неверность теории флогистона. Опыты по сжиганию в запаянном сосуде различных веществ не впечатляли его коллег. И тогда он сжег алмаз. Опыт стоил очень дорого, и это привлекло внимание многих, об опыте заговорили, а заодно - заговорили и о теории флогистона, против которой стало появляться все больше фактов). Вот этот участник мне и указал, что надо открыть ветку, в которой регулярно публиковать результаты работы набора ТС (тогда Лига ТС еще так не называлась), и устроить что-то вроде "отчета о соревнованиях", чтобы это заинтересовывало. Я открыл ветку (прошлую), и убедился, что это так и есть. Нашлись даже двое человек, которые помогали мне в тестировании. Сейчас - открыта новая ветка. И любой завсегдатай форума, думаю, знает, что такое Лига ТС. Многие иронично посмеиваются, другие с интересом наблюдают. Но, уверен, уже все давно "связали" в уме мое имя, Чертову Вилку (мой аватар) и Лигу ТС. Кстати, "звучное", эффектное название "Лига ТС", похоже, тоже играет роль.

Тебе надо иметь готовое что-то, что было бы интересно народу. Скажем, вот, с той же, полуавтоматической торговлей, в которой окна и GUI очень даже кстати. Тем более, что GUI для "яркости" имеет кучу возможностей.

Это мне приятнее читать...))

 
Реter Konow:

Джордж, судя по всему, сторонников самых простых и "дубовых" ТС здесь очень много. Поэтому, я им не могу объяснить ничего...)))

Дубовым роботам действительно много настроек не нужно. Простенькая стратегия, оптимизация и вперед!

Зачем нам иномарка, если нам телега хорошо служит?...)) Какая там, структурированность вывода информации? Зачем?! )) 

Пока что есть лишь нарисованная иномарка. Зачем людям нарисованная иномарка, если телега-таки настоящая, и служит?