"Устойчивое" отображение r^3 в r
это не непрерывное отображение, а очень часто хочется именно такое.

малое изменение аргумента приводит к малому изменению значения функции

Например, если R немного изменится, а остальные компоненты не изменятся, то в вашем предложенном отображении, результат поменяется сильно!
Если у нас числа - целые и от 0 до 255 (множество ограничено). Сформулируй, что значит "мало"! Тут нет такого понятие, как малое/большое изменение, все изменения одинаковы!
Определи "малое изменение" на конечном множестве!

А определение непрерывности остаётся таким же:
для любого ε > 0 (ε \in R) существует δ > 0 (δ \in R для любого x: |x - x0| < δ
|F(x) - F(x0)| < ε.
Следует обратить внимание на тот факт, что ε -- любое положительное число (если оно окажется меньше 1, например, то возьмём δ тоже меньше 1).
c=(r,g,b)
для любого c должно выполнятся следующее:
|f(c)-f(c')| <= Delta *|c-c'|
Delta - некоторая величина, не зависящая от c, но, скажем "соизмерима" с диапозоном изменения r,g,b.
в твоём преобразовании Delta = 2^24=16777216 в то время как r,g,b меняются 0..255
А ты попробуй ВСЕГДА брать дельта меньше 1. И тогда у тебя как раз любая функция на дискретном множестве получится непрерывной - существует дельта? Существует!
Ну так и скажи тогда ещё, что значит "соизмерима"? Почему 256^3 несоизмеримо с 256, а 256 соизмеримо с 256? Какое максимальное число "соизмеримо" с 256?
То есть, функция из R в R, заданная формулой f(x)=65536*x, по твоему определению, тоже получается точно такой же разрывной?

Ты, насколько я поняла, определяешь непрерывность по каким-то _глобальным_ свойствам функции? Это вообще неверно - функция может быть непрерывна в одной точке, но разрывна в другой, и т.д. А у тебя получается - либо непрерывна везде, либо разрывна везде


Вобщем определим так:
Считаем r, g и b вещественными числами из интервала (0, 1).
Тогда нужно придумать на ней непрерывное преобразование... А непрерывность его понимаем в обычном смысле.
При переходе к дискретному случаю получаем соответствующее преобразование.
Только остаётся пока непонятным момент, что такое "соизмеримы"?!
2) Есть непрерывное отображение из отрезка в квадрат, и, как следствие, и из квадрата в отрезок, но, когда ты ограничишь область определения на нужные точки - у тебя получится не лучше того, что было предложено мной, а гораздо хуже. Потому что между двумя соседними нужными тебе точками кривая может обойти вообще весь квадрат, и точки будут соседними, но значения, в том смысле, как это нам думается, нет.


r, g, b \in [0, +∞)
Это ближе к действительности.
Вот только воспроизводить мы можем цвета с ограниченной яркостью (r, g, b \in [0, A]).
Определяем F(r, g, b).
Переходим к дискретному случаю.
Тогда непрерывность соответствующей F -- это равномерная непрерывность самой F!


Можешь объяснить свою идею с нуля, без обращения к предыдущим постам? Просто - как ты определяешь непрерывность функции из (Z/\отрезок)^n в Z/\отрезок?


А про соизмеримость - Delta зависит от f.
И зависимость определим такую: <= максимум модуля функции * на диаметр области определения. в данном случае получится ~92000 (если метрику евклидову брать - корень из суммы квадратов)
в случае [0,1]^3->[0,1] получаем: Delta <=1.41 (имеется в виду нормализация аргументов и значений - r/256...)
опять косяк - мы имеем дело с конечными множествами


2)
Можешь объяснить свою идею с нуля, без обращения к предыдущим постам? Просто - как ты определяешь непрерывность функции из (Z/\отрезок)^n в Z/\отрезок?
[0..65535] и [0..255] я не понял что куда пойдёт - но приведённая функция x*65535 тут вообще боком.
что у неё область значений, что - область определения?

> как ты определяешь непрерывность функции из (Z/\отрезок)^n в Z/\отрезок?
Это я не понял, поэтому попытаюсь объяснить идею.
T = [0, +∞)
(r, g, b) \in TxTxT
Идея в том, что свет разложим на составляющие, померим их яркости в некоторых единицах и получим соответствующий вектор.
Нужное отображение определим для такой модели:
F: TxTxT → R
Но реально монитор даёт яркость ограниченную, то есть T ' = [0, A].
Поэтому, для начала, мы рассматриваем ограничение F на T ' x T ' x T ' .
После этого переходим к дискретному случаю.
Непрерывность полученного отображения определим как равномерную непрерывность F.
Понятно, что непрерывность F нужна. В чём смысл равномерной непрерывности?
А смысл в том, что, вроде бы, при этом получим приращения "соизмеримое" -- хотя я в этом уже стал сомневаться...
Функция, множащая х на 256, с областью определения [0.255] и значений [0..65535] - по-твоему, получается разрывная, т.к. при изменении икса "всего на 255" получаем изменение значения "на целых сколько-то-там, больше 65000".
в этом случае верхняя оценка Delta равна 256^4 и что? А саму дельту можно положить 256

По-моему, нельзя указать непрерывную функцию из R^3 в R


Заметьте, что я нигде не использовал сколько именно значений может принимать составляющие.
При этом дискретной функции, предложенной , соответствует функция
F(r, g, b) = A*A*r + A*g + b (для однозначности).
У неё нет равномерной непрерывности, а значит, если r увеличится на A, то значение F изменится на A^3 (разные порядки).
Взяв этот факт в основе, я предположил, что нужна равномерная непрерывность!
например, F = C, F = ax + by + cz ...
Зато, похоже, не существует взаимнооднозначной такой функции!
ЗЫ На самом деле, в матане у нас доказывалась теорема об обратной функции (её непрерывности в частности) в достаточно общей формулировке. Помучавшись над ней, я пришёл к выводу, что доказательство лажовое и непрерыность обратной из непрерывности самой функции в общем случае не следует.
1) Если мы рассматриваем целые числа - равномерная непрерывность есть, т.к. можно всегдя взять дельта, равное 0!
2) Если даже мы рассматриваем целый отрезок - из простой непрерывности там всегда следует равномерная!
3) То есть, ты расширяешь функцию на отрезке на всю прямую, и говоришь, что назовём функцию на отрезке "непрерывной при ограничении на целые точки", если она равномерно непрерывна на всей прямой. Но расширить-то на прямую функцию можно по-разному? Почему ты считаешь, что мой вариант должен выдавать то же самое и на всей прямой? Давай, я определю так:
Моя_функция(r,g,b)=256*256*r+256*g+256*b, если r,g,b<256 и целые, и ЧТО-ТО такое, что итоговая функция будет равномерно непрерывным на R^3, во всех остальных точках.
Получаем, опять же, моя функция по твоему определению - непрерывна, но в нужных точках совпадает с той, которую я дала раньше.
И вообще, если ты будешь прибегать к расширениям области определения до плотной, и там проверять какие-то "хорошие" свойства, как, например, равномерная непрерывность - я всегда могу ТАК расширить свою функцию из конечного множества на это полное, что она будет удовлетворять твоим свойствам! Достаточно взять ЛЮБУЮ функцию, удовлетворяющую твоим свойствам, и в целых точках с координатами от 0 до 255 и точках в достаточно малых их окрестностях изменить её значения на значения моей функции!
Если существует хоть одна функция из R^3 в R, равномерно непрерывная, то существует сколько угодно функций из R^3 в R, равномерно непрерывных на R^3, и совпадающих с моей на моей области определения!
Поэтому на дискретном множестве НЕЛЬЗЯ определить непрерывность! Либо для каждой функции на нём существует её расширение, обладающее непрерывностью, либо для каждой не существует!
Сорри за оффтоп, но почему нельзя использовать не RGB, а HSB? Может в этом случае проблемы непрерывности не будет?
2) мы рассматриваем не отрезок, а T.
3) и всё по полочкам.
Я рассматриваю F: TxTxT → R, а потом сужаю на отрезок и уже только после этого перехожу к дискретному случаю.
Такой подход, естественно, можно подвергнуть критике. Об этом я немного ещё подумаю.
Непрерывность в таких задачах - редко нужна.
В основном, как правильно заметил , нужна "устойчивость" - малое изменение аргумента приводит к малому изменению функции.
Причем порядок малости полностью определяется спецификой задачи: в каких-то задачах и экспонециальный рост - будет малым.


2) Не важно, сколькимерный, главное, что компакт - значит, равномерная непрерывность есть всегда, когда есть простая

3) Не уверена, а даже считаю, что не существует непрерывного отображения из T^n в T, где n>1. Обратно - да, есть. А вот так - нет.
А непрерывность на конечном множестве в обычном смысле есть всегда! Даже равномерная


Если тебе надо как можно меньше - скажи, что именно мы минимизируем - среди каких чисел, и что - минимум, максимум, ср.арифметическое, ср.квадратичное и т.д.

c=(r,g,b)
для любого c должно выполнятся следующее:
|f(c)-f(c')| <= 3 *|c-c'|
Тогда, если мы отображаем в отрезок [0..256*256*256-1] - нельзя. Ведь переходит какая-то точка в 0, а какая-то в очень большое число!
С другой стороны - если рассматривать все числа вида n/6*256*256*256, где n - из прежнего большого отрезка, мы получим, что различные значения функции отличаются не больше, чем на 1/6, т.е. твоё условие выполняется.
Итак, скажи, какая твоя область определения и значений функции f?
Тогда, если мы отображаем в отрезок [0..256*256*256-1] - нельзя. Ведь переходит какая-то точка в 0, а какая-то в очень большое число!Этого не понял. Пусть переходит, как это с непрерывностью связано, если условие выполняется?
Множества - {1,...,256}^3 и N, хотя N можно заменить даже на {0,...,3*256*(2)^(1/3)}, если мы задаем естественную метрику.
ЗЫ Только, само собой, не 2^(1/3 а 3^(1/2)

2) |f(c)-f(c')| <= 3 *|c-c'|. Но, если |f(c)-f(c')| - очень большой, то это ни при каких c и c' не может быть меньше, чем 3*|c-c'|!
2. Может, см. п.1



Если не важно, инъективна ли функция, чем плоха, например, такая: r+g+b?
Перепиши верхнюю границу, расставляя ВСЕ скобки! Непонятно, из чего ты извлекаешь корень, и почему тройка в скобках!
1) ничего вы не поняли.
Я рассматриваю не расширение. Пояснение содержалось здесь:
3) и всё по полочкам2) не поняли вы ничего.
Про компакт я и не говорил. В моих обозначениях T = [0, +∞) (см. выше)
3) вы ничего не поняли.
из T^n в T существует уйма непрерывных отображений ( но, скорее всего, не существует взаимнооднозначного непрерывного!
------------
День прошёл зря...
3) Искали-то как раз биективную!
Тогда нужно убрать верхнюю границу, функция должна быть биективной.
Давай попробуем точно сформулировать условия: требуется найти биективную функцию f: {(a,b,c}->N; a,b,c принадлежат Z, <= 256, обладающую "некоторым" свойством неприрывности, так? Если да, то чем плох мой пример, когда второе множество - N?

Я рассматриваю F: TxTxT → R, а потом сужаю на отрезок и уже только после этого перехожу к дискретному случаю.
Верхняя граница (уже не нужная) - [3*256*3)^(1/2]+1
Опять: ТАК КАК У НАС 16777216 ЗНАЧЕНИЙ, и все целые, то есть два значения, РАЗЛИЧАЮЩИЕСЯ БОЛЬШЕ, ЧЕМ НА 16 МИЛЛИОНОВ! При этом различие их аргументов будет не больше 1000, т.к. не больше 1000 диагональ куба определения, ОТКУДА |f(c)-f(c')|<=3*|c-c'| НЕВЕРНО!

Мне кто-нибудь на вопрос про HSB ответит?
Сначала, полностью и в одном посте! ЧТобы мог понять человек, никогда не читавший этот тред!
Он плох тем, что требуемые функции НЕ МОГУТ СУЩЕСТВОВАТЬ!
Ты придумал свойство. Я доказала, что функция существовать не может потому что слишком большая область значений. Ты сузил её, тогда я сказала, что функция не получится биективной. В ответ на что ты расширил область обратно. Зачем?

Ты что, считаешь, что таких:
f: {1,..,256}^3->{N}
c=(r,g,b)
для любых c, с' должно выполнятся следующее:
|f(c)-f(c')| <= 3 *|c-c'|
фукнкций не существует?
Биективных - нет! И тут уже постов пять, где я доказала, почему!

Я попытался вам растолковать нечто, что теперь считаю устойчивостью.
Итак, у нас r, g, b -- целые числа в диапазоне от 0 до N - 1
яркости соответственно A * r / N, A* g / N, A * b / N.
И есть функция F: TxTxT → R.
Так вот я от неё хочу потребовать устойчивость (по N и по A). Предположил, что это эквивалентно её равномерной непрерывности -- это может не совсем верно!
Далее мы сужаем F на T ' x T ' x T '. А потом рассматриваем "дискретизацию"

Полученную функцию обзываем непрерывной.
Корме того:
r, g, b -- целые числа в диапазоне от 0 до N - 1Откуда взялся тогда бесконечный диапазон, который ты куда-то сужаешь?
В общем, это была неудачная попытка, попробуй опять


Из постановки задачи, сомневаюсь, что нужна равномерная неприрывность.
Нужно просто как следует подумать, что есть биективная неприрывная функция на дискрете.
Я не собираюсь переписывать то, что уже писал выше. Вернитесь и прочитайте ещё раз. Моих постов здесь не так много, как, например, ваших.
Все обозначения я уже делал раньше, описание тоже там.
Но этот случай, скажем так, "особенный".
А именно, используется лишь конечное число цветов, и это модель "реальных" цветов.
Я попытался ввести определение непрерывности за счёт более глубокой и реальной модели, представив вещественными неотрицательными числами.
При этом, скорее всего, окажется так, что интересующее отображение имеет естественное продолжение на эту модель.
Далее я попытался понять, чем отличается F1(r, g, b) = 256 * 256 * r + 256 * g + b от, например, F2(r, g, b) = (r + g + b) / 3.
Оказалось попросту разный порядок роста для разных компонент.
И ни про какое А речь вначале вообще не шла!
И скорее всего нет равномерно непрерывных функций из T*T*T в R+!
Но реально монитор даёт яркость ограниченную, то есть T ' = [0, A].Невнимательно читаете!
Подумай сначала, что есть просто непрерывная функция из V в V, где V={0,1,2,3,4,5}! Там не может быть такого понятия, все функции непрерывны, т.к. множество неплотно! Кроме того, для любой функции можно доопределить её на всём R так, что непрерывность останется! (Хотя бы по т.Лагранжа)!
Кроме того - всё-таки у тебя r,g,b имеются в виду произвольные положительные? В первом посте, на странице 40-80, ты сказал, что они из 0..N-1!
Построил отображение (точнее, рассмотрел произвольное

Далее его сузил, провёл "дискретизацию"...
Что же вам непонятно до сих пор?
Возможно, что от A ничего не зависит.
И в третий раз повторяю свой вопрос - зачем переводить из RGB. Мне кажется, это естественнее делать из HSB, и задать при необходимости переход RGB -> HSB.
Обратное отображение не инъективно - это не проблема?


Обратное отображение не существует, ничего?
Итак, у нас r, g, b -- целые числа в диапазоне от 0 до N - 1
Построил отображение (точнее, рассмотрел произвольное ).Ты ведь собирался брать именно непрерывное, более того, равномерно непрерывное?

Буду как Барт Симпсон.
Я рассматриваю произвольное отображение, исследую его, чтобы в итоге получилось то, что я хотел бы увидеть... А именно, "при малом приращении цвета, функция мало изменяется, причём с одинаковым порядком". Я выдвинул гипотезу, что это эквивалентно не просто непрерывности, а равномерной непрерывности. После чего я и попытался определить непрерывность в данном конечном случае.
И опять - ты понял, что сказал? Если обратная функция не-инъективна, значит, у некоего её образа - два прообраза. Но этот образ - прообраз исходной функции, получается, в нём исходная функция принимает несколько значений!
"при малом приращении цвета, функция мало изменяется, причём с одинаковым порядком"Это где? На всём пространстве, или только на кубе, или только на целых точках в кубе?
В расширенной модели -- там, где r, g, b вещественные неотрицательные числа.
Так что если обратная функция не инъективна, это значит, что у некоторого ее элемента 2 образа.
А не-биекцию, которая будет включать в себя мой пример, можно легко придумать - при r,g,b вещественных до 256 F(r,g,b)=256*256*r+256*256*g+256*256*b, снаружи этого куба - чтобы было непрерывно на его границах вместе с той функцией, которая внутри, непрерывно в остальных местах и стремилось к большой константе на бесконечности. Тогда будет равномерная непрерывность!
Если область определения двумерная, это даже представить, как будет выглядеть, легко

Если "обратное отображение неинъективно", то есть
f^{-1} (x1) = f^{-1}(x2)=y, x1 ≠ x2
То есть
f(y) = x1, но с другой стороны
f(y) = x2
Такого быть не может. Мы не можем просто в данном случае говорить об обратной функции.
Во-вторых, это не называется функцией! Функция - когда образ ровно один!

Надо было слово "функция" взять в кавычки.
Тем более, скорее всего, непрерывной биективной функции из R^3 в R не существует. Это я уже говорил. И какую же функцию ищу я. А?

С чего всё началось? помните?
Ты говоришь, что его функция плоха тем, что обратная неинъективна? Обратную к несуществующей функции как-то сложно брыть, во-первых, а во-вторых, почему бы так сразу было не сказать - "твоя функция неоднозначна"?
ЗЫ: Вот проснётся автор утром, зайдёт на форум - и обрадуется - больше сотни ответов!




Я давал возможное определение непрерывности.
Почитайте заново.
Семь раз.

А биективая на нашем дискрете - я уже сказала, как расширить мою функцию, чтобы она стала таковой

Да, конечно. Тебе ведь как-то нужно будет "раскодировать" цвета. Значит, должно существовать f^-1Только это. Я постулирую необходимость "расшифровки", и ее называю "функцией". Хотя по ходу обсуждения она и оказалась "обратной".

Не заработало

Предположим, F - исходная функция, которая цвету сопоставляет ОДНО число. Тогда про какую функцию ты говорил, что она будет не-инъективной?
Ну надо же! Кто бы мог подумать... Просто поразительно.



Перечитайте тред всё-таки! Очень рекомендую.

Хотя бы начало.
Про функцию, которая сопоставляет числу цвет, который был ему перед этим сопоставлен.
1) Ты говорил, что РАСШИРЕННАЯ (на всём пространстве) функция должна быть биективной. Таких фукнкций, как ты заметил, нет.
2) Ты этого не говорил. Тогда отлично подходит МОЁ расширение МОЕЙ функции (которая 256*256*r+256*g+b)!

Не, лучше ты перечитай середину. Определение и правда не работает.
Если функция, сопоставляющая числу цвет, неинъективна, то сопоставляющая цвету число - неопределена!

1) Ты говорил, что РАСШИРЕННАЯ (на всём пространстве) функция должна быть биективной. Таких фукнкций, как ты заметил, нет.Процитируйте, пожалуйста, то место, где я сказал, что функция должна быть биективной!
Единственное место, где это упоминается, -- где я написал продолжение вашей функции, аргументировав такое продолжение соображением, что вы её выбрали так, чтобы была взаимная однозначность!
Я, за четыре поста до этого твоего (первый пост на этой странице) сказала, что не знаю, говорил ли ты про биективность! Но в любом случае получается... (см. тот пост)
Да, согласен.
Если ты нигде в определении не говорил под биективность - опять же, к нему подходит расширение моей функции!
f: R^3->RЭто, знаете ли, далеко не для всех непрерывных... Очень далеко...
c=(r,g,b)
для любого c должно выполнятся следующее:
|f(c)-f(c')| <= Delta *|c-c'|
altajka
Если он спрашивает о прикладной реализации в обычных программах - что-то типа 256*256*к)+з)+с