999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的車燈動畫效果數據化技術

2022-08-03 06:51:12孫瑜
汽車零部件 2022年7期
關鍵詞:動畫效果

孫瑜

常州星宇車燈股份有限公司,江蘇常州 213000

0 引言

LED憑借著亮度高、顏色飽和度高、低功耗、壽命長的特點逐漸取代鹵素燈成為車燈行業的主流。同時隨著車燈開始朝著智能化、個性化和人性化的方向發展,車燈上LED使用數量越來越多,對LED的控制要求也越來越高,這也無疑增加了軟件的工作量以及工作難度。因此,本文設計了一種基于Python的車燈動畫效果數據化技術,結合Excel及Python的特點,將車燈動畫效果數據化。從而實現車燈效果可視化配置以及快速修改更新,大大減小了軟件的工作量以及工作難度,適用于以后更加設計復雜、難度更高的LED車燈項目。

1 Excel動畫效果時序圖設計

1.1 燈組分布簡圖制作

根據結構設計將燈組簡圖通過Excel進行繪制,并進行編號。圖1為燈組分布簡圖。

圖1 燈組分布簡圖

如圖1所示,灰色部分為后組合1燈組,黑色為后組合燈2燈組,淺灰色為后組合2的側標部分。其中,1~36號燈組只需要點亮熄滅功能,37~51號燈組帶呼吸效果,因此需要使用PWM進行控制。本文示例后組合燈共包含51組LED燈,將詳細呈現該后組合燈動畫效果數據化的過程。

1.2 動畫效果時序圖制作

動畫效果時序圖如圖2所示,按照燈組分布簡圖編號制作動畫效果時序圖,縱坐標為燈組編號及燈名,橫坐標為下一幀動畫的時間。圖中數字0表示燈組關燈,100表示完全點亮,1~99則用于需要控制燈組。此外可附上不同的顏色用于更直觀體現開關燈效果,使用顏色深淺表示值。此方案燈名命名規則如圖3所示。

圖2 動畫效果時序圖

圖3 燈名命名規則

圖3中,字符為燈具功能名稱(此方案為位置燈,故命名為tail),數字1為該燈組所在后組合燈位置(后組合燈1用數字1表示,后組合2用數字2表示),數字2為該燈組所在IC驅動地址,處于相同IC地址使用同一數字表示,數字3在32位數據類型無法滿足數據存儲時進行補充。

2 Excel動畫效果時序表參數導入

Jupyter Notebook是基于網頁的用于交互計算的應用程序,可被應用于全過程計算,包括開發、文檔編寫、運行代碼和展示結果等。Jupyter Notebook是以網頁的形式打開,可以在網頁頁面中直接編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示。如在編程過程中需要編寫說明文檔,可在同一個頁面中直接編寫,便于作及時的說明和解釋。

文中將通過Jupyter Notebook工具演示車燈動畫效果數據化過程。

如圖4所示,首先調用Openpyxl庫和NumPy庫,再通過Openpyxl庫導入Excel中數據存儲于Js_sheet中。

圖4 庫導入

之后通過Np.dtype定義數據類型,即Open_Type表示后組合燈動畫效果類型;Tail2_Type表示后組合燈2動畫效果類型;Tail1_Type表示后組合燈1動畫效果類型。其中“Name”為數據名,“Formates”為對應數據類型。燈組1~36號只有開關狀態,故每個燈組使用0.125 B;37~51號燈組為控制,故每個燈組需要0.875 B。數據“Time”表示下一幀動畫開始時間。初始化配置如圖5所示。

圖5 初始化配置

根據Excel中動畫效果時序圖,設置動畫效果總幀數(Frames_number),時間軸所在行(Time_row),動畫效果起始行(Time_start_col)以及每個數據起始行及行數。并通過Np.array創建后組合燈動畫效果矩陣(Open_Data),填充值為0。如下所示:

Open_Data=np.array([0]*frames_number,dtype=Open_Type)

3 動畫效果數據處理

按照數據名及數據類型定義各個數據緩存值并初始化,如圖6所示。

圖6 緩存數據初始化

利用For語句遍歷每幀動畫效果,同時將數據賦值相應數據中。

(1)“Time”值可以直接讀取Js_sheet中第Time_row行數值。

Open_Data[i][’time’]=js_sheet.cell(time_row,time_start_col+i).value

(2)燈組1~36號通過判斷讀取值是否為0,根據燈組在該數據中位號進行賦值并做相應位移。例如Tail21賦值方式如下:

#tail21數據獲取

for j in range(tail21_row_number):

if js_sheet.cell(tail21_row_start+j,time_start_col+i).value==0:

u16Tail21=u16Tail21&(~(0x01<

else:

u16Tail21=u16Tail21|(0x01<

Open_Data[i][tail21]=u16Tail21

(3)燈組37~51號直接將讀取數據賦值,因值占0.875 B,為方便讀取故每次讀取之后位移8位。例如Tail51賦值方式如下:

#tail151數據獲取

for j in range(tail151_row_number):

u8value=js_sheet.cell(tail151_row_seq[j],time_start_col+i).value

if u8value<=100:

u32Tail151=u32Tail151&(~(0xff<<(j*8)))

u32Tail151=u32Tail151|(u8value<<(j*8))

Open_Data[i][tail151]=u32Tail151

按照上述步驟,即可將Excel中數據全部導入Open_Data矩陣中。

4 動畫效果數據表生成

動畫效果數據表生成步驟為:

(1)定義后組合燈1(Tail1_Data)和后組合燈2(Tail2_Data)數據矩陣以及用于存放后組合1和后組合2的重復數據的數組(list_tail1_del,list_tail2_del)。

Tail1_Data=np.array([0]*frames_number,dtype=Tail1_Type)

Tail2_Data=np.array([0]*frames_number,dtype=Tail2_Type)

list_tail2_del=[]

list_tail1_del=[]

(2)從Open_Data數據矩陣中后組合1和后組合2數據分別存儲在Tail1_Data和Tail2_Data中。

(3)通過遍歷方式將Tail1_Data和Tail2_Data中重復數組序號分別存放在list_tail1_del和list_tail2_del中。

(4)刪除Tail1_Data和Tail2_Data重復數組,生成后組合燈1最終數據矩陣(Tail1)和后組合燈2最終數據矩陣(Tail1)。

Tail2=np.delete(Tail2_Data,list_tail2_del,0)

Tail1=np.delete(Tail1_Data,list_tail1_del,0)

(5)將最終生成的動畫效果數據打印出,并將燈組數據轉換為十六進制便于燈具軟件調用生成數據表。

后組合2動畫效果數據打印方式如下:

tail2_num=Tail2.size

print(’尾二動畫數據量:%i%tail2_num)

print(*************尾二動畫數據表*************)

for cell in Tail2:

print({%i%(cell[time]-offset_time),end=,)

print(0x%04x%cell[tail21],end=,)

print(0x%02x%cell[tail22],end=,)

print(0x%08x%cell[tail231],end=,)

print(0x%02x%cell[tail232],end=)

print(},)

后組合1動畫效果數據打印方式如下:

tail1_num=Tail1.size

print(尾一動畫數據量:%i%tail1_num)

print(*************尾一動畫數據表*************)

for cell in Tail1:

print({%i%(cell[time]-offset_time),end=,)

print(0x%02x%cell[tail11],end=,)

print(0x%02x%cell[tail12],end=,)

print(0x%02x%cell[tail13],end=,)

print(0x%02x%cell[tail14],end=,)

print(0x%08x%cell[tail151],end=,)

print(0x%08x%cell[tail152],end=,)

print(0x%04x%cell[tail153],end=)

print(},)

最終生成動畫效果數據表如圖7和圖8所示。

圖7 后組合2動畫效果數據表

圖8 后組合1動畫效果數據表

將生成數據導入相應燈具軟件之中,并根據Tail1和Tail2數據類型編寫對應解析代碼,即可直接使用動畫效果數據表。

5 結束語

本文基于Python和Excel設計了一種可以將車燈動畫效果數據化的技術,利用Excel可以更加直觀地設計修改動畫效果,之后生成的數據也能確保正確性和有效性。后期動畫效果更新或者維護,僅需調整Excel中動畫效果圖以及相應配置參數,即可實時生成最新動畫效果參數表,直接導入燈具軟件中編譯即可,這大大節省軟件工程師的工作量及項目時間。對于目前越來越復雜的LED車燈設計,該技術也有極大的優勢。該技術方案已應用于實際車燈項目,測試及使用表現良好,表明了該設計具有實用性和可靠性。

猜你喜歡
動畫效果
按摩效果確有理論依據
做個動畫給你看
動畫發展史
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
迅速制造慢門虛化效果
動畫批評融入動畫教育的思考
新聞傳播(2018年3期)2018-05-30 07:01:39
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
主站蜘蛛池模板: 久久精品女人天堂aaa| 国产视频自拍一区| 一区二区午夜| 国产99视频精品免费观看9e| 国产一级在线观看www色| 欧美成人第一页| 首页亚洲国产丝袜长腿综合| 欧美乱妇高清无乱码免费| 国产精品久久久久无码网站| 91区国产福利在线观看午夜| 亚欧乱色视频网站大全| 亚洲娇小与黑人巨大交| 2021国产精品自拍| 国产精品流白浆在线观看| 亚洲人成色77777在线观看| 免费毛片网站在线观看| 久草青青在线视频| 国产又色又爽又黄| 国产精品黑色丝袜的老师| 亚洲动漫h| 免费观看欧美性一级| 欧美无遮挡国产欧美另类| 精品国产电影久久九九| 精品夜恋影院亚洲欧洲| 一级毛片免费高清视频| 97久久超碰极品视觉盛宴| 久久亚洲AⅤ无码精品午夜麻豆| 超碰精品无码一区二区| 国产在线第二页| 久久久久青草大香线综合精品| 亚洲精品图区| av尤物免费在线观看| 欧美午夜网| 香蕉久久国产超碰青草| 日韩中文字幕免费在线观看| AV老司机AV天堂| 91久久偷偷做嫩草影院免费看| 国产主播福利在线观看| 亚洲精品色AV无码看| 色婷婷狠狠干| 日韩免费成人| 色婷婷狠狠干| 暴力调教一区二区三区| 久久免费观看视频| 国产激情国语对白普通话| 在线日韩日本国产亚洲| 久久精品欧美一区二区| 国产大片喷水在线在线视频| 午夜免费小视频| 国产9191精品免费观看| 成人日韩精品| 亚洲丝袜第一页| 亚洲欧美日韩成人高清在线一区| 久久91精品牛牛| 综合久久五月天| 国产精品女熟高潮视频| a欧美在线| h视频在线观看网站| 中国特黄美女一级视频| 爱色欧美亚洲综合图区| 国产视频欧美| 久久综合亚洲鲁鲁九月天| 2019国产在线| 国产菊爆视频在线观看| 99热在线只有精品| 日本人妻一区二区三区不卡影院| 日本一区高清| 思思热在线视频精品| 久久久久久高潮白浆| 久久精品中文字幕免费| 国产天天射| 国国产a国产片免费麻豆| 国产免费久久精品99re不卡| 五月婷婷亚洲综合| 日韩精品少妇无码受不了| 伊人天堂网| 精品国产一区二区三区在线观看| 无码丝袜人妻| 亚洲香蕉伊综合在人在线| 亚洲精品无码AⅤ片青青在线观看| 国产91小视频| 中国成人在线视频|