|
Okay so in your riddle the colors are mixed in 0.9 and 0.1 proportions where the main color gets 0.9 and the next color gets 0.1?
Perhaps you would have said the formula
new_color = floor(a*X) + floor(b*Y)
where a,b are variable proportions such that a + b = 1. Mathematically correct, in your case a = 0.9 ,b = 0.1. My question is why 0.9 and 0.1,is it how it is? or 0.9 and 0.1 proportions are just for illustration purposes? I want to fully understand the riddle before i think of a solution, i'am not trying to be difficult.
“Be at war with your vices, at peace with your neighbors, and let every new year find you a better man or woman.”
|
|
|
|
|
it is a fixed formula :
new_color = floor(0.9*x)+floor(0.1*b)
"it is how it is"...
Thanks.
|
|
|
|
|
Okay i googled "color mixing riddle" and your questions here http://www.mymathforum.com/viewtopic.php?f=20&t=31242[^]
is clearer. Okay now I get the question, will see if i can think of a faster solution, will get back to you.
“Be at war with your vices, at peace with your neighbors, and let every new year find you a better man or woman.”
|
|
|
|
|
|
mixing two colors in uneven quantities can do almost that, but then I would expect only one floor action, something like
new_color = floor(0.9*X + 0.1*Y)
as the mixing would be a continuous operation, the result may need quantisation.
|
|
|
|
|
its a given question...
i think its like that (the floor) because then mixing same color with itself decreases final most higer value by one.(mix(color1,color1) results in [150,0,254])
|
|
|
|
|
And that, while unnatural, is a clue to an upper bound on the complexity of the solution...
|
|
|
|
|
So the factors 0.9 and 0.1 are just variable proportions, well i thought they were constants as initially illustrated by the OP. Now i get it.
Thanks.
“Be at war with your vices, at peace with your neighbors, and let every new year find you a better man or woman.”
|
|
|
|
|
0.9 and 0.1 are constants.
|
|
|
|
|
Well knowing the reason why 0.9 and 0.1 are constants might have been fun. Because colors can be mixed in any proportion a,b such that new_color = floor(a*X) + floor(b*Y) where a + b = 1. But in your case it seems the colors are forced to be mixed in 0.9 and 0.1 proportions which means that the order of mixing becomes important, So you are looking for the order in which one can mix basic colors in 0.9 and 0.1 proportions, I must say that there might be no ways of solving it other than a brute force search method, the truncation operation "floor" further complicates matters when one attempts a mathematical analysis.
“Be at war with your vices, at peace with your neighbors, and let every new year find you a better man or woman.”
|
|
|
|
|
In terms of algebra, your question is ill posed. You are in 3D space (the RGB cube). All possible mixtures of the two colors form a line segment (a whole straight line if you allow negative values of the mixing coefficients).
(In this discussion, I admit that the mixture constraint X + Y = 1 is enforced, which you didn't mention.)
Unless by coincidence, there is no reason that your third color belongs to the segment(or the line). You get a system of three equations in one unknown, usually without a solution.
To handle this we can look for the "best approximation", i.e. the mixture that will minimize the discrepancy with the desired color. Even though it is not recognized as "perceptually uniform", you can use the Euclidean distance.
In other words, you will project the desired color to the line segment by means of an orthogonal projection.
Let X C0 + (1-X) C1 be a color between C0 and C1 . The vector from this point to C2 needs to be perpendicular to the direction C0C1 . Hence, (X C0C2 + (1 - X) C1C2).C0C1 = 0 (. is the dot product). I.e. X C0C2.C0C1 + (1 - X) C1C2.C0C1 = 0 , or X = C1C2.C0C1 / (C1C2.C0C1 - C0C2.C0C1) = - C1C2.C0C1 / C0C1.C0C1 .
To restrict the solution to the range of positive coefficient mixtures, just clamp the value of X to the range [0..1] .
Rather than a week of computation, this should take less than 100 nanoseconds in compiled code.
modified 19-Jun-12 2:59am.
|
|
|
|
|
Help me!
i have a problem about AND/OR Graph Search Demo.
Who can help me???
Thank you very much!
|
|
|
|
|
chipchip_boy wrote: i have a problem about AND/OR Graph Search Demo.
No one here can guess what the problem is, you need to explain it.
|
|
|
|
|
The last chapter of the Course Reader for the Stanford University CS106B course (http://www.stanford.edu/class/cs106b/[^]) is on Graphs. You can download the book from that site. This would be of help.
|
|
|
|
|
how to made the algorithms in the tree
|
|
|
|
|
|
|
is this?
Programming is work, it isn't finger painting. Luc Pattyn
|
|
|
|
|
Get yourself a ladder, climb a tree (a mature one), now create some algorithms.
When inspiration is running low, choose a different tree.
And finally, write some CodeProject articles about them.
|
|
|
|
|
Now I know how you wrote those CP articles.
Signature construction in progress. Sorry for the inconvenience.
|
|
|
|
|
Yeah, I did build myself a nice little tree house, so I can write without being disturbed...
|
|
|
|
|
Yes, tree houses rock!
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
Veni, vidi, vici.
|
|
|
|
|
|
Luc Pattyn wrote: climb a tree
Apples, peaches, oranges, it doesn't matter does it?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|