91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】LVGL移植前菜篇-程序員就要晚點(diǎn)有藝術(shù)的(生成藝術(shù)圖片)

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-14 15:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2307400_1_1.html


前言

話說沒有藝術(shù)細(xì)胞的程序員不是好碼農(nóng)!

上一次我們進(jìn)行了LCD的刷屏測試,我們覺得太單調(diào)了,程序員就應(yīng)該玩點(diǎn)有藝術(shù)性的。這次我們使用LCD點(diǎn)陣畫出各類具有藝術(shù)性的圖像。

參見https://codegolf.stackexchange.com/

代碼

有用到浮點(diǎn)算數(shù)運(yùn)算,需要包含算術(shù)庫

#include

代碼如下

//圖片尺寸:

#define DIM 130

//圖片尺寸-1

#define DM1 (DIM-1)

#define _sq(x) ((x)*(x))                           // 平方

#define _cb(x) abs((x)*(x)*(x))                    // 立方的絕對值

#define _cr(x) (unsigned short)(pow((x),1.0/3.0))  // 立方根

 

unsigned char RD(int i,int j){

return (char)(_sq(cos(atan2(j-65,i-65)/2))*255);

}

 

unsigned char GR(int i,int j){

return (char)(_sq(cos(atan2(j-65,i-65)/2-2*acos(-1)/3))*255);

}

 

unsigned char BL(int i,int j){

return (char)(_sq(cos(atan2(j-65,i-65)/2+2*acos(-1)/3))*255);

}

 

unsigned char RD0(int i,int j)

{

float s=3./(j+99);

float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;

return ((int)((i+DIM)*s+y)%2+(int)((DIM*2-i)*s+y)%2)*127;

}

 

unsigned char GR0(int i,int j){

float s=3./(j+99);

float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;

return ((int)(5*((i+DIM)*s+y))%2+(int)(5*((DIM*2-i)*s+y))%2)*127;

}

 

unsigned char BL0(int i,int j){

float s=3./(j+99);

float y=(j+sin((i*i+_sq(j-700)*5)/100./DIM)*35)*s;

return ((int)(29*((i+DIM)*s+y))%2+(int)(29*((DIM*2-i)*s+y))%2)*127;

}

 

unsigned char RD1(int i, int j) {

#define r(n)(rand()%n)

    static char c[DIM][DIM]; return!c[i][j] ? c[i][j] = !r(999) ? r(256) : RD((i + r(2)) % 1024, (j + r(2)) % 1024) : c[i][j];

}

unsigned char GR1(int i, int j) {

    static char c[DIM][DIM]; return!c[i][j] ? c[i][j] = !r(999) ? r(256) : GR((i + r(2)) % 1024, (j + r(2)) % 1024) : c[i][j];

}

unsigned char BL1(int i, int j) {

    static char c[DIM][DIM]; return!c[i][j] ? c[i][j] = !r(999) ? r(256) : BL((i + r(2)) % 1024, (j + r(2)) % 1024) : c[i][j];

}

 

unsigned char RD2(int i, int j) {

    static double k; k += rand() / 1. / 0x7FFF; int l = k; l %= 512; return l > 255 ? 511 - l : l;

}

unsigned char GR2(int i, int j) {

    static double k; k += rand() / 1. / 0x7FFF; int l = k; l %= 512; return l > 255 ? 511 - l : l;

}

unsigned char BL2(int i, int j) {

    static double k; k += rand() / 1. / 0x7FFF; int l = k; l %= 512; return l > 255 ? 511 - l : l;

}

 

unsigned char RD3(int i, int j) {

    return (unsigned char)sqrt((double)(_sq(i - DIM / 2) * _sq(j - DIM / 2)) * 2.0);

}

unsigned char GR3(int i, int j) {

    return (unsigned char)sqrt((double)(

        (_sq(i - DIM / 2) | _sq(j - DIM / 2)) *

        (_sq(i - DIM / 2) & _sq(j - DIM / 2))

        ));

}

unsigned char BL3(int i, int j) {

    return (unsigned char)sqrt((double)(_sq(i - DIM / 2) & _sq(j - DIM / 2)) * 2.0);

}

 

unsigned char RD4(int i, int j) {

    static int r[DIM]; int p = rand() % 9 - 4; r[i] = i & r[i] ? (r[i] + r[i - 1]) / 2 : i ? r[i - 1] : 512; r[i] += r[i] + p > 0 ? p : 0; return r[i] ? r[i] < DIM ? r[i] : DM1 : 0;

}

unsigned char GR4(int i, int j) {

    static int r[DIM]; int p = rand() % 7 - 3; r[i] = i & r[i] ? (r[i] + r[i - 1]) / 2 : i ? r[i - 1] : 512; r[i] += r[i] + p > 0 ? p : 0; return r[i] ? r[i] < DIM ? r[i] : DM1 : 0;

}

unsigned char BL4(int i, int j) {

    static int r[DIM]; int p = rand() % 15 - 7; r[i] = i & r[i] ? (r[i] + r[i - 1]) / 2 : i ? r[i - 1] : 512; r[i] += r[i] + p > 0 ? p : 0; return r[i] ? r[i] < DIM ? r[i] : DM1 : 0;

}

 

void StartHdfSPITest(void)

{

    static uint16_t gcolor = 0xFFFF;

    LcdInit();

    while (1) {

        for(int i=0;ifor(int j=0;jstatic unsigned short color[3];

                color[0] = RD(i,j)&255;

                color[1] = GR(i,j)&255;

                color[2] = BL(i,j)&255;

                uint16_t c = (color[0]>>3) << 11;

                c |= (color[1]>>2) << 5;

                c |= (color[2]>>3) << 0;

                lcd_draw_point(i,j,c);

            }

        }

        LcdPush();

        LOS_Msleep(2000);

 

        for(int i=0;ifor(int j=0;jstatic unsigned short color[3];

                color[0] = RD1(i,j)&255;

                color[1] = GR1(i,j)&255;

                color[2] = BL1(i,j)&255;

                uint16_t c = (color[0]>>3) << 11;

                c |= (color[1]>>2) << 5;

                c |= (color[2]>>3) << 0;

                lcd_draw_point(i,j,c);

            }

        }

        LcdPush();

        LOS_Msleep(2000);

 

        for(int i=0;ifor(int j=0;jstatic unsigned short color[3];

                color[0] = RD2(i,j)&255;

                color[1] = GR2(i,j)&255;

                color[2] = BL2(i,j)&255;

                uint16_t c = (color[0]>>3) << 11;

                c |= (color[1]>>2) << 5;

                c |= (color[2]>>3) << 0;

                lcd_draw_point(i,j,c);

            }

        }

        LcdPush();

        LOS_Msleep(2000);

 

        for(int i=0;ifor(int j=0;jstatic unsigned short color[3];

                color[0] = RD3(i,j)&255;

                color[1] = GR3(i,j)&255;

                color[2] = BL3(i,j)&255;

                uint16_t c = (color[0]>>3) << 11;

                c |= (color[1]>>2) << 5;

                c |= (color[2]>>3) << 0;

                lcd_draw_point(i,j,c);

            }

        }

        LcdPush();

        LOS_Msleep(2000);

 

        for(int i=0;ifor(int j=0;jstatic unsigned short color[3];

                color[0] = RD4(i,j)&255;

                color[1] = GR4(i,j)&255;

                color[2] = BL4(i,j)&255;

                uint16_t c = (color[0]>>3) << 11;

                c |= (color[1]>>2) << 5;

                c |= (color[2]>>3) << 0;

                lcd_draw_point(i,j,c);

            }

        }

        LcdPush();

        LOS_Msleep(2000);

    }

}
;j++)>;i++)>;j++)>;i++)>;j++)>;i++)>;j++)>;i++)>;j++)>;i++)>

效果

image.png

image.png

image.png

image.png

總結(jié)

代碼中有大量的浮點(diǎn)運(yùn)算,本身也可以作為CPU性能的一個(gè)對比測試,同時(shí)也可以測試刷屏的速率。從效果來看CPU的性能是不錯(cuò)的,刷頻效果也可以,后面就正式開始LVGL的移植了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 開鴻智谷
    +關(guān)注

    關(guān)注

    2

    文章

    182

    瀏覽量

    1910
  • NiobeU4
    +關(guān)注

    關(guān)注

    3

    文章

    31

    瀏覽量

    755
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    niobeu4 esp32 開發(fā)板無法連接有密碼的wifi

    (1) niobeu4 開發(fā)板,系統(tǒng)正常運(yùn)行,串口正常輸出。 (2)測試 wifi 功能,按照 openharmony wifi sta 功能 api 開發(fā) wifi 程序,結(jié)果發(fā)現(xiàn)只
    發(fā)表于 01-23 10:36

    “以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    10月24日,由聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)在長沙圓滿落幕。本次活動(dòng)以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙
    的頭像 發(fā)表于 10-27 17:58 ?718次閱讀
    <b class='flag-5'>開</b><b class='flag-5'>鴻</b>智<b class='flag-5'>谷</b>“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    【作品合集】潤HH-SCDAYU800A開發(fā)板測評

    防護(hù),包含豐富的異構(gòu)計(jì)算和高速IO資源。 活動(dòng)詳情地址:【OH專題】潤HH-SCDAYU800A開發(fā)板免費(fèi)試用 作者:傘振凱【潤
    發(fā)表于 09-19 14:09

    【上海晶珩睿莓1開發(fā)板試用體驗(yàn)】移植LVGL9.3并使用32位色進(jìn)行顯示

    在之前的開發(fā)板試用帖子中,我使用Linux開發(fā)板移植LVGL9.1,而LVGL9系版本目前最新
    發(fā)表于 09-18 00:52

    開發(fā)板深度體驗(yàn):從開源鴻蒙開發(fā)到AI場景實(shí)踐

    開發(fā)板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗(yàn)開源鴻蒙能力學(xué)習(xí)開源鴻蒙開發(fā)●●●搭載KaihongOS
    的頭像 發(fā)表于 07-03 17:03 ?1645次閱讀
    <b class='flag-5'>開</b><b class='flag-5'>鴻</b><b class='flag-5'>開發(fā)板</b>深度體驗(yàn):從開源鴻蒙<b class='flag-5'>開發(fā)</b>到AI場景實(shí)踐

    【潤HH-SCDAYU800A開發(fā)板試用體驗(yàn)】潤HH-SCDAYU800A開發(fā)板(二)

    (三)潤HH-SCDAYU800A開發(fā)板固件燒錄 注意:本燒錄方法僅可用于Windows10及之前版本。 1.安裝USB驅(qū)動(dòng) 1.1下載潤
    發(fā)表于 07-02 09:30

    基于RK3576處理器,米爾RK3576開發(fā)板免費(fèi)試用

    年7月19日 ? 評測數(shù)量: 3塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費(fèi)試用 RIS
    的頭像 發(fā)表于 06-09 15:00 ?1195次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用

    : 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V
    的頭像 發(fā)表于 06-05 16:45 ?1286次閱讀
    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)

    數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V
    的頭像 發(fā)表于 06-05 16:31 ?1190次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗(yàn)

    性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)

    月19日 ? 評測數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC
    的頭像 發(fā)表于 06-05 16:30 ?1501次閱讀
    性能強(qiáng)悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗(yàn)

    免費(fèi)試用開發(fā)板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發(fā)板等你試用~

    道OpenHarmony、RISC-V、Rockchip(下稱RK)全面覆蓋前沿技術(shù)方向,等你用代碼與創(chuàng)意點(diǎn)燃科技未來!——點(diǎn)擊開發(fā)板圖片立即申請————點(diǎn)擊開發(fā)板圖片立即申請———
    的頭像 發(fā)表于 06-05 08:05 ?986次閱讀
    【<b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>】<b class='flag-5'>開發(fā)板</b>評測大賽開啟!OH 、RISC-V、Rockchip頂級<b class='flag-5'>開發(fā)板</b>等你<b class='flag-5'>試用</b>~

    有獎(jiǎng)丨米爾 NXP i.MX91開發(fā)板免費(fèi)試用來啦

    米爾與NXP合作發(fā)布的新品基于NXPi.MX91應(yīng)用處理器的MYD-LMX91開發(fā)板免費(fèi)試用名額來啦~~米爾提供了3套價(jià)值588元的MYD-LMX91開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-05 08:02 ?1355次閱讀
    有獎(jiǎng)丨米爾 NXP i.MX91<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>來啦

    【評測試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)

    【評測試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?997次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>體驗(yàn)

    免費(fèi)丨米爾 STM32MP257開發(fā)板有獎(jiǎng)試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應(yīng)用處理器的MYD-LD25X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了2塊價(jià)值488元的MYD-LD25X開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?1152次閱讀
    <b class='flag-5'>免費(fèi)</b>丨米爾 STM32MP257<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    有獎(jiǎng)試用??!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動(dòng)報(bào)名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動(dòng)
    的頭像 發(fā)表于 03-13 12:10 ?1535次閱讀
    有獎(jiǎng)<b class='flag-5'>試用</b>?。A-Eco-RA<b class='flag-5'>4</b>M2-100PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動(dòng)報(bào)名