本發明屬于虛擬儀表盤技術領域,特別是涉及一種指針式虛擬儀表盤及其實現方法。
背景技術:
人機界面(Human-Machine Interface,HMI)是用戶和機器之間進行傳遞和交互的媒介,而儀表盤在顯示信息尤其是顯示數據信息方面具有重要地位,其顯示效果更加醒目。
伴隨著嵌入式技術和顯示技術的發展,出現了虛擬儀表盤以取代傳統的機械式儀表盤。機械式儀表盤所有顯示單元要占用固定的面板空間,而虛擬儀表盤可以和其他顯示界面進行切換以實現更高的顯示空間利用率,同時可以提供更豐富的顯示效果。
奧迪展出的Q6e-tron quattro概念車中展示了最新的虛擬儀表盤技術,這款全新形式儀表盤的應用為奧迪進一步實現全數字化座艙奠定基礎。在儀表盤位置設置一個OLED顯示屏,用于代替傳統儀表盤。這塊顯示屏使用其質地輕薄的材質制成,尺寸為14.1英尺,分辨率為2240×720像素。此外,該顯示屏還將采取曲屏設計以確保視覺效果,使讀取更為便利。駕駛員可通過多功能方向盤進行操作,其功能與虛擬駕駛艙技術相似,可顯示速度、電池的充電狀態及剩余電量。
中國申請公布專利CN 104385920 A,一種指針式虛擬儀表盤及其實現方法,該方案提出一種將指針光柵化后以步進值為單位的旋轉方式然后擦除上一幀的指針數據被顯示新的指針位置。不足之處在于,指針的旋轉精度受步進值的限制,每繪制一幀需要先前一幀指針位置的擦除需要消耗時間和帶寬。
技術實現要素:
本發明的目的在于提供一種指針式虛擬儀表盤及其實現方法,替代傳統的機械式儀表盤并提供更多的顯示效果,滿足屏幕式顯示系統的需求。
為解決上述技術問題,本發明是通過以下技術方案實現的:
本發明為一種指針式虛擬儀表盤,包括刻度盤、指針、光暈和掩膜;
所述刻度盤:用來顯示刻度作為背景,是一張正方形的紋理;
所述指針:為旋轉部分,是一張正方形紋理,大小為刻度盤紋理的四分之一,其中一個角在刻度盤的中心為旋轉中心;
所述光暈:為扇形,隨著指針的旋轉顯示出來的角度發生變化;
所述掩膜:用于實現光暈顯示出來的角度的變化,分為四部分,四部分拼在一起和背景紋理大小一樣,四張掩膜大小一樣。
一種指針式虛擬儀表盤的實現方法,包括如下步驟:
a.計算指針旋轉角度;
b.計算指針操作矩陣:指針紋理旋轉的依據是操作矩陣的參數;
c.將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來;
d.計算光暈顯示范圍;
e.計算掩膜操作矩陣:光暈的顯示是通過掩膜遮蓋住不顯示的部分來實現,掩蓋部分變化實現顯示部分的變化;
f.繪制背景紋理:將背景紋理保存到內存中;
g.指針紋理旋轉:根據操作矩陣旋轉指針紋理;
h.將指針紋理貼到背景紋理上面:在內存中操作;
j.四張掩膜處理使掩膜遮蓋住不顯示部分;
k.將掩膜和光暈貼到背景紋理上;
l.將內存中的數據在屏幕上顯示出來。
優選地,所述步驟a.計算指針旋轉角度、b.計算指針操作矩陣和c.將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來三個過程得到指針旋轉方式。
優選地,所述步驟d.計算光暈顯示范圍、e.計算掩膜操作矩陣、j.四張掩膜處理使掩膜遮蓋住不顯示部分和k.將掩膜和光暈貼到背景紋理上四個步驟實現光暈顯示方式。
本發明的原理為通過設定顯示的最大值、最小值和顯示的最大角度、最小角度,最大值對應最大角度,最小值對應最小角度,介于最大值和最小值之間的數值通過線性計算計算出指針旋轉角度和光暈顯示角度,然后根據旋轉角度旋轉指針,并用掩膜遮蓋光暈不顯示的部分,然后將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來。
本發明具有以下有益效果:
本發明實現了一種指針式虛擬儀表盤,提供了一種新的實現方式,實現了光暈的顯示效果,并且支持多種指針樣式,并且不受旋轉步長的限制,同時在設計儀表盤時只需提供素材和數據來源即可,提高界面開發效率。
當然,實施本發明的任一產品并不一定需要同時達到以上所述的所有優點。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明的一種指針式虛擬儀表盤結構示意圖;
圖2為本發明的一種指針式虛擬儀表盤結構示意圖;
圖3為本發明的一種指針式虛擬儀表盤的實現方法流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
說明書中的標號代表如下:
1.儀表盤的表盤和背景紋理,是一張紋理。
2.掩膜1,透明只起到遮擋光暈的作用。
3.掩膜2,透明只起到遮擋光暈的作用。
4.掩膜3,透明只起到遮擋光暈的作用。
5.掩膜4,透明只起到遮擋光暈的作用。
6.指針紋理,指針的樣式可以多種多樣,只要不超出紋理矩形即可。
7.掩膜3,透明只起到遮擋光暈的作用。
8.儀表盤的表盤和背景紋理,是一張紋理。
9.掩膜2,透明只起到遮擋光暈的作用。
10.指針紋理,指針的樣式可以多種多樣,只要不超出紋理矩形即可。
11.光暈紋理,是一個扇形。
12.掩膜1,透明只起到遮擋光暈的作用。
13.掩膜4,透明只起到遮擋光暈的作用。
14.計算指針旋轉角度。
15.計算指針操作矩陣參數。
16.計算光暈顯示范圍。
17.計算掩膜操作就是參數。
18.繪制背景紋理。
19.指針紋理旋轉。
20.指針紋理貼到背景紋理上。
21.處理四張掩膜紋理
22.將掩膜和光暈貼到背景上。
23.將數據顯示到屏幕上。
請參閱圖1和圖2所示,本發明為一種指針式虛擬儀表盤,包括刻度盤、指針、光暈和掩膜;
刻度盤:用來顯示刻度作為背景,是一張正方形的紋理;
指針:為旋轉部分,是一張正方形紋理,大小為刻度盤紋理的四分之一,其中一個角在刻度盤的中心為旋轉中心,指針可以有多種形式。
光暈:為扇形,隨著指針的旋轉顯示出來的角度發生變化;一張正方形紋理大小和背景一樣,但是只有扇形區域圖像,光暈可以沒有。
掩膜:用于實現光暈顯示出來的角度的變化,分為四部分,四部分拼在一起和背景紋理大小一樣,四張掩膜大小一樣,可以用來遮蓋光暈。
請參閱圖3所示,一種指針式虛擬儀表盤的實現方法,包括如下步驟:
a.計算指針旋轉角度;
b.計算指針操作矩陣:指針紋理旋轉的依據是操作矩陣的參數;
c.將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來;
d.計算光暈顯示范圍;
e.計算掩膜操作矩陣:光暈的顯示是通過掩膜遮蓋住不顯示的部分來實現,掩蓋部分變化實現顯示部分的變化;
f.繪制背景紋理:將背景紋理保存到內存中;
g.指針紋理旋轉:根據操作矩陣旋轉指針紋理;
h.將指針紋理貼到背景紋理上面:在內存中操作;
j.四張掩膜處理使掩膜遮蓋住不顯示部分;
k.將掩膜和光暈貼到背景紋理上;
l.將內存中的數據在屏幕上顯示出來。
其中,步驟a.計算指針旋轉角度、b.計算指針操作矩陣和c.將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來三個過程得到指針旋轉方式。
其中,步驟d.計算光暈顯示范圍、e.計算掩膜操作矩陣、j.四張掩膜處理使掩膜遮蓋住不顯示部分和k.將掩膜和光暈貼到背景紋理上四個步驟實現光暈顯示方式。
本發明的原理為通過設定顯示的最大值、最小值和顯示的最大角度、最小角度,最大值對應最大角度,最小值對應最小角度,介于最大值和最小值之間的數值通過線性計算計算出指針旋轉角度和光暈顯示角度,然后根據旋轉角度旋轉指針,并用掩膜遮蓋光暈不顯示的部分,然后將指針紋理、光暈紋理和掩膜紋理貼到背景上然后將數據發送給屏幕顯示出來。
值得注意的是,上述系統實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區分,并不用于限制本發明的保護范圍。
另外,本領域普通技術人員可以理解實現上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁盤或光盤等。
以上公開的本發明優選實施例只是用于幫助闡述本發明。優選實施例并沒有詳盡敘述所有的細節,也不限制該發明僅為所述的具體實施方式。顯然,根據本說明書的內容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發明的原理和實際應用,從而使所屬技術領域技術人員能很好地理解和利用本發明。本發明僅受權利要求書及其全部范圍和等效物的限制。