| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| RGB - алгоритъм за плавно преливане. http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7038 |
Страница 1 от 3 |
| Автор: | Цецо [ Пон Авг 10, 2009 12:46 pm ] |
| Заглавие: | RGB - алгоритъм за плавно преливане. |
Имам следната хоби постановка. Трицветен светодиод, управлява се от микроконтролер, всеки цвят има 100 степени на яркостта. Искам да направя плавно преливане през всички цветови комбинации, като се почне от бяло та до черно. Да ви хрумва някакъв прост алгоритъм за целта? |
|
| Автор: | sthx [ Пон Авг 10, 2009 1:01 pm ] |
| Заглавие: | Re: RGB - алгоритъм за плавно преливане. |
Цветовата диаграма е двукоординатна, а не вектор. Трудно ще минеш демонстрационно през всички цветове. Трябва да направиш някакво ограничение. |
|
| Автор: | sthx [ Пон Авг 10, 2009 1:02 pm ] |
| Заглавие: | Re: RGB - алгоритъм за плавно преливане. |
Цветовата диаграма е двукоординатна, а не вектор. Трудно ще минеш демонстрационно през всички цветове. Трябва да направиш някакво ограничение. |
|
| Автор: | ToHu [ Пон Авг 10, 2009 1:23 pm ] | |||||||||
| Заглавие: | Re: RGB - алгоритъм за плавно преливане. | |||||||||
Плавно с преливане теоретично май няма как да стане, обаче човешкото око както и човешкото ухо са доста непрецизни, или по скоро човешкият ум е твърде тъп, та може би е възможно да ги врътнеш някак за да получиш илизуя за плавно преминаване през всички цветове, нещо като ефекта с безконечните октави .... |
||||||||||
| Автор: | kiiid [ Пон Авг 10, 2009 1:35 pm ] |
| Заглавие: | |
for (r=0; r<100; r++) for (g=0; g<100; g++) for (b=0; b<100; b++) { loadLEDvals(r,g,b); delay(xxx); } |
|
| Автор: | sthx [ Пон Авг 10, 2009 2:00 pm ] |
| Заглавие: | |
Хвани някоя цветова палитра по вкус от Corel или друга рисувателна програмка и вземи RGB координатите на цветовете. |
|
| Автор: | Цецо [ Пон Авг 10, 2009 2:09 pm ] |
| Заглавие: | |
Общо взето "дъгата" мисля че може да се докара. Ама наистина преливане през всички възможни цветове няма как да стане. Kiid твоя алгоритъм ще извърти всичко, ама преливането..... няма да е много преливащо |
|
| Автор: | MYXATA [ Пон Авг 10, 2009 2:18 pm ] | |||||||||
| Заглавие: | ||||||||||
Не му разбирам много, но с плавно инкрементиране по трите цвята нема как да стане.... по добре първо си направи палитра демек пробай комбинации от трите основни цвята за да си изкараш цветове, които ти харесват. то ще е състояние на и яркост на всеки от основните на цветодиода взети заедно с така получената палитра от цветове, което ще е крайно множество си поиграй с широчинно импулсна модулация на готовия цвят за да докараш яркост на 100 степени |
||||||||||
| Автор: | Wise [ Пон Авг 10, 2009 2:32 pm ] |
| Заглавие: | |
Тая работа без намесата на художник няма как да стане! Не, че и тате не може, ама..................................она си сака пръчо Работил съм с такива хора и придобих чувство за малоценност относно цветовете.......... С формула - не ми се вярва. По-вероятно е с таблица - показваш и той определя! Ти заместваш, подреждаш........Той е пак недоволен................. |
|
| Автор: | ToHu [ Пон Авг 10, 2009 2:53 pm ] | |||||||||
| Заглавие: | ||||||||||
Ами аок се търси наистина добър ефект освен някой човек на музата друг не мое ти помогне, ама трябва да внимаваш с тия, ако имаш по слаби нерви са напълно способни да те докарат до убийство. За PWM-a, 0-100 не е много, пустия светодиод не се регулира много линейно, може би преди това не е лошо да си калибрираш регулирането, какво имам в предвид, вземи от най-простат рисувателна програма различни отношение и ги задай съобразно твойта скала, виж колко са разминаванията при различни отношения, кофти е че тъпия светодиод не се регулира много добре, и като цяло скалата ти ще излезе предполагам поне наполовиат апо тясна, може би 6 бита, т.е. 18 битов цвят. Освен това ако нямаш допълнително регулиране на тока става още по зле защото нямаш никава яркост. |
||||||||||
| Автор: | Цецо [ Пон Авг 10, 2009 3:55 pm ] |
| Заглавие: | |
Не става въпрос за професионално изпълнение. Хоби - домашна декорация. Един приятел си е направил някакво творение от светловоди и иска да стане шарено. Той разбира до там да ми каже - абе направи го нещо да мига, там да се преливат цветовете. И аз търся най простия и ефектен начин не ми се мисли много |
|
| Автор: | Cekins [ Пон Авг 10, 2009 4:03 pm ] |
| Заглавие: | |
Сега направих една проба с корела. Там има един миксер и ще ти свърши работа за алгоритъма. 1. Почваме от жълто : R=100, G=100, B=0 2. Към червено : намаляваме G с 1 докато стане 0 ; R=100, G=0, B=0 3. Към синьо : увеличаваме B с 1 и намаляваме R с 1 докато R=0, G=0, B=100 4. Към циан : увеличаваме G с 1 докато R=0, G=100, B=100 5. Към зелено : намаляваме B; R=0, G=100, B=0 6. Към жълто : увеличаваме R; R=100, G=100, B=0 Така обаче няма бяло - само цветове. Ако имаш Corel можеш да си поиграеш там с палитрите - може да излезе и някаква друга зависимост. Това гореописано прави нещо като дъга. |
|
| Автор: | zaphod [ Пон Авг 10, 2009 4:44 pm ] |
| Заглавие: | |
потърси в интернет за хилбертови криви, с тях ще стане гарантирано. те минават през всяка точка на равнина, скачайки само на съседни точки безда повтарят. ще трябва да си го пренапишеш за 3д, също е възможно. има и други начини за обхождане в 3д, например със сноване напред-назад, но това е неприятно циклично. |
|
| Автор: | Цецо [ Пон Авг 10, 2009 4:58 pm ] |
| Заглавие: | |
Да бе ей сега ще седна да пренаписвам за 3Д, как пък не. Аз едвам се навих да лепна един PIC и три транзистора та да направя нещо въобще. Отде излишно време за игрички. Просто питах ако някой е правил нещо елементарно да каже. Засега ще гледат дъга. |
|
| Автор: | bateAz [ Пон Авг 10, 2009 4:59 pm ] |
| Заглавие: | |
Цецо, абстрахирай се от RGB, окото е по-толерантно настроено към яркост / наситеност / фаза ( не помня как се казваше точно терминът ... ) Но пак си е 3Д |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|