Russian Qt Forum
Октябрь 04, 2024, 02:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5]   Вниз
  Печать  
Автор Тема: операторы для ARGB  (Прочитано 32362 раз)
spectre71
Гость
« Ответ #60 : Сентябрь 04, 2010, 21:31 »

Короче с классами что-то типа того:
Хмм... ну а зачем мне заводить еще класс, конвертировать туда-сюда и.т.п.? Выглядит никак не проще. Чем плохи операторы предложенные в посте #21? Ну или ф-ции Mul и Div?

Именно потому что иначе не получается. Необходимо превести ваше пространство элементами которого являются ARGB в пространство на котором будут адекватны операции "+" и "*".
Использование только ARGB не даст нужного результата, что обсуждалось выше и я приводил соответствующие примеры.
Надо уж определиться:
- либо простое использование => преобразование
- либо забыть про красивости и использовать функции с подобной сигнатурой F(C1, C1, K);

====
Конечно можно сделать все это и с одним классом ARGB, но придется тащить в нем поля
float k;
ARGB* next;
Что как понимаю будет накладно для случаев не относящихся к данным операциям. И к тому же это ничего не даст с точки зрения улучшения производительности и уменьшения кол-ва операций. Внешнее использование будет выглядеть так-же.
Ведь класс Pair итак не видем при использовании.
« Последнее редактирование: Сентябрь 04, 2010, 21:55 от Spectre » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #61 : Сентябрь 04, 2010, 21:48 »

Именно потому что иначе не получается. Необходимо превести ваше пространство элементами которого являются ARGB в пространство на котором будут адекватны операции "+" и "*".
Согласен и по существу я так и делаю: оператор *  переводит в пр-во "умноженной альфы", оператор / переводит назад. Что не так?
Записан
spectre71
Гость
« Ответ #62 : Сентябрь 04, 2010, 21:55 »

Именно потому что иначе не получается. Необходимо превести ваше пространство элементами которого являются ARGB в пространство на котором будут адекватны операции "+" и "*".
Согласен и по существу я так и делаю: оператор *  переводит в пр-во "умноженной альфы", оператор / переводит назад. Что не так?

Причем здесь оператор /. Что он конкретно делает?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #63 : Сентябрь 04, 2010, 22:24 »

Именно потому что иначе не получается. Необходимо превести ваше пространство элементами которого являются ARGB в пространство на котором будут адекватны операции "+" и "*".
Согласен и по существу я так и делаю: оператор *  переводит в пр-во "умноженной альфы", оператор / переводит назад. Что не так?

Причем здесь оператор /. Что он конкретно делает?
Делит альфу на вес и RGB на (альфа * вес). Вес может быть = 1. Пост #21
Записан
spectre71
Гость
« Ответ #64 : Сентябрь 05, 2010, 00:55 »

Делит альфу на вес и RGB на (альфа * вес). Вес может быть = 1. Пост #21

Уже понял.
В моем последнем примере с классом Pair не нужна опреция "/".
Кроме того можно работать с нелинейными комбинациями (при необходимости).
Записан
Denjs
Гость
« Ответ #65 : Сентябрь 05, 2010, 02:46 »

Пытаться определять операции над элементами, без описания собственно самого пространства,
Что ж то за "пространство" которого так не хватат? RGB и ARGB прекрасно определенные вещи, более того - это самая популярная цветовая модель.
Во вторых пытаться получить решение без нормальной постановки того, что же все-таки хочется - это как минимум не корректно.
Почему простое слово "интерполяция" или даже проще "вычислить среднее 2-х значений" недостаточно? Зачем загромождать форум техническими подробностями моей задачи которые не имеют к делу никакого отношения?
Это вам так _кажется_, что технические подробности не важны.
Поверьте мне, как системному аналитику, - ваша убежденность в том, что это ваше представление о данных операциях, (тем более убежденность что оно верно) - не более чем бред сивой кобылы. по крайней мере до тех пор, пока вы не потрудитесь объяснить ваши представления подробнее. тогда, уже,  ваши предсталения (возможно) начнут обретать смысл. то как и для чего вы обрабатываете данные - очень важно.
 
Задача была именно в удобстве использования:
C1 + C2*x + C3 + C4 + C5*y ...
Да, именно это я и имел ввиду. Разумеется, цепочка должна давать корректный результат, иначе такое "удобство" не нужно  Улыбающийся
вот именно в определении того, что есть "корректный результат" - и кроется суть, которую вы, затрудняетесь объснить с самого начала топика. я вас не с проста с самого начала пытался заставить писать физическую модель процесса - все только для того, что бы мы хоть могли понять - что для вас есть корректный результат. но... "из вас клещами приходится все вытаскивать".

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

зы: вы уж извините за грубости, но надо как-то более структурированнее учиться думать... В замешательстве
имхо.
« Последнее редактирование: Сентябрь 05, 2010, 03:02 от Denjs » Записан
spectre71
Гость
« Ответ #66 : Сентябрь 05, 2010, 03:26 »

Denjs - вы не правы.

К творческим личностям такой подход не приемлем. Все мы имеем свои особенности.
Я достаточно долго общаюсь с Igors. Ну, есть у него такая особенность, расплывчатые формулировки. Приходится постепенно уточнять или вытягивать данные. И что!
Он решает серьезные задачи, держит в голове большой проект, в своей(специфичной) предметной области, не привык формулировать задачи абстрагировано.
Однако, его вопросы всегда интересны!

А по поводу того что данная тема затянулась, "вина" не столько только Igors, сколько остальных.
Практически всю тему он раскрыл за 4 первых своих поста (Ответ #6). Но мало кто вникает. Обычно отвечают, лишь бы ответить. Я тоже, этим грешу(очень надеюсь что не часто Грустный )


Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #67 : Сентябрь 05, 2010, 13:07 »

2 DenjsМне кажется что роль "великого учителя" (которую Вы пытаетесь играть) засоряет форум и тягостна для Вас же самого. Зачем переходить на личности и сивых кобыл вместо того указать/предложить по существу? Я ничего не имею против критики и если пойму что был неправ - признаю. Но с какой стати я или др. человек должен в точности повторять именно Ваш ход рассуждений, который Вы упорно навязываете, да еще со всеми лирическими отступлениями?  Улыбающийся Моей целью было просто обсудить операторы класса, а не писать для Вас диссертацию.

Я не желаю с Вами больше разговаривать до тех пор пока Вы не поймете что здесь нет "сеньоров" и "юниоров"
Записан
Страниц: 1 ... 3 4 [5]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.126 секунд. Запросов: 23.