自研Chart之思路 2

2021-10-18 09:39:38 字數 1357 閱讀 6640

需求:簡單折線圖的數學奧秘。

工具:宇宙第一ide(不接受反駁) visual studio

知識:設計過程需要的哪些知識,隨後接著補充,嘿嘿。

影象知識,電腦、手機等螢幕能夠顯示絢麗多彩的影象,是由於有畫素這個東西存在,單位可以是(px、dpi)。

c#程式設計知識,由於我們用的框架是wpf,自然也就可以使用微軟開發者們為wpf開發的兩套影象系統,一套是基於gdi+繪圖,另一套是基於diretx引擎開發的用於遊戲等更加複雜的圖形繪製。

一點基本的高中數學知識。

畫圖思維(想一想高中的物理實驗小車,嘿嘿)

思路:畫圖的思路和設計的思路如下

首先,做完小車實驗,你都得到了哪些資料,你會想到,對,是時間和數值,這也就是chart中的x和y值。

其次,小車實驗中有什麼,沒錯,一張已經印好紅色網格的*****,我們就是將時間和數值點到這張*****上。

然後,在*****上建立座標系,將x值和y值根據座標系點到*****上。

最後,根據描出來的點,畫出一條線段。

同樣,我們想設計的chart也可以採用這種設計方式,在我們的chart中,*****就是容器,其他都是樣。

設計:

初始構想的設計草圖。

說明:如圖所示,黑色的邊框是容器,也就是*****,想要在*****上畫出線段就得先設計好座標系,座標系又包括什麼呢,比如,刻度,原點,xy值等等,這其中刻度就是由最大值和最小值求得。但是這不是小車實驗,這是做chart表,並且還要在介面上顯示出來,那麼容器和座標系就會有距離,也就是這裡的邊框。但是,chart是要顯示在電腦螢幕上的,而螢幕顯示點使用的是畫素。更直白的來將也就是值與畫素的轉化。所以上圖設計是以畫素為基準的。

結**式:

畫素和值轉化公式 :f(value)=px

x軸刻度:(xmax-xmin)/xwidth=lx

y軸刻度:(ymax-ymin)/yheigh=ly

相似原理: (xvalue-xvaluemin)/lx=x2-x1

相似原理:(yvalue-yvaluemin)/ly=y2-y1

而實際情況是xmin=xvalue=x0;ymin=yvalue=y0

最終為:

x(單位px)=x0+(xvalue-x0)/(xmax-x0)*xwidth

y(單位px)=y0+(yvalue-y0)/(ymax-y0)*yheigh

自研跨平台px2d引擎

我廠自研跨平台2d引擎,也算是歷經專案考驗,在cocos2d x強力衝擊下屹立不倒,在本人多次擴充套件下,看起來可以戰至淘汰2d,全面轉向3d引擎為止 引擎引入階段,最初版本由另一位同事研發,具備以下效能 執行於ios平台,同時可使用win32 執行 基於opengl es硬體加速 具有openal...

行研 工控安全之工控廠商防護思路

結構安全 在系統架構安全規劃 網路安全分割槽設計 區域訪問控制策略 系統入侵檢測 縱向加密認證 橫向物理隔離等方面進行防護,解決方法 補償性措施和保護措施。本體安全 採用補償性措施來阻止和避免由於ics自身的漏洞 缺陷被惡意利用或者無意的干擾造成的系統癱瘓。行為安全 採用態勢分析 入侵檢測 審計追溯...

每月自評之十 2023年2月

一 我讀 1 竊明 非常精彩有韻味的歷史穿越 不同於一般意義上的 穿越類 在 寫法上,這本書我覺得有它獨特創新的地方。它還原了明末比較真實的歷史現狀,雖是穿越,但並不胡來,算是尊重歷史,主角的發展都是符合現實的,並沒有像一般 穿越類 引入超自然的力量。主角與歷史人物鬥智鬥勇,不唐突,不誇張。而且,最...