一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法
【專利摘要】本發(fā)明提供一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,包括:100、設(shè)定加載內(nèi)存閾值;200、將書頁內(nèi)容進(jìn)行處理并加載到內(nèi)存中;根據(jù)加載內(nèi)存閾值控制頁面數(shù)量;300、將保留下來的頁面內(nèi)容添加到窗體中,并進(jìn)行顯示;400、頁面在翻頁前為矩形區(qū)域,鼠標(biāo)或觸控點(diǎn)位于該矩形區(qū)域的邊緣上,當(dāng)觸發(fā)翻頁時(shí),進(jìn)行相應(yīng)操作的初始化工作;500、確定拉動(dòng)點(diǎn),通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)來完成翻頁過程;600、當(dāng)本次翻頁完成,跳轉(zhuǎn)到步驟400進(jìn)入下一次翻頁;700、當(dāng)加載的頁面都翻頁完成后,進(jìn)入步驟200開始下一輪的翻頁;800、結(jié)束。本發(fā)明豐富了電子文件的閱讀過程,具有占用內(nèi)存少,cpu使用率低的特點(diǎn),操作流暢。
【專利說明】
-種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及信息技術(shù)領(lǐng)域,尤其設(shè)及一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn) 方法。
【背景技術(shù)】
[0002] 隨著科學(xué)技術(shù)的發(fā)展,手機(jī)、電子書、電子相框等電子裝置越來越廣泛地被人們使 用。人們經(jīng)常使用電子書、電子相框等電子裝置瀏覽小說等文字文檔,或翻看相片、圖片,給 人們生活帶來了不少樂趣。
[0003] 然而,現(xiàn)在一般的電子書或電子相框翻閱文字文檔或圖片時(shí),都是直接用下一頁 代替當(dāng)前頁,缺乏模擬實(shí)際翻頁效果,動(dòng)態(tài)顯示翻頁過程的功能,用戶在翻看文檔時(shí),會因 為與實(shí)際翻頁的差異而體會不到翻書的感覺。而目前已有軟件雖然能夠通過鼠標(biāo)拖拽來仿 真實(shí)際翻書的效果,但是計(jì)算量大,對硬件要求高,一般的電子書或電子相框難W達(dá)到該要 求。
[0004] 隨著計(jì)算機(jī)的迅速發(fā)展,相關(guān)的電子文檔大量出現(xiàn),豐富和促進(jìn)了人們的文化生 活,同時(shí),因電子文件文檔便于攜帶的特點(diǎn)而深受人們喜愛。當(dāng)前,文檔閱讀方式大都采用 微軟的office軟件,該軟件從上至下或從右至左等排列方式將文本排列在一個(gè)矩形區(qū)域 內(nèi),供人們?yōu)g覽,在電子設(shè)備上進(jìn)行電子文檔閱讀的方式也主要是通過該文檔閱讀工具進(jìn) 行閱讀的。運(yùn)種閱讀方式簡明直觀,方便易用。在現(xiàn)實(shí)情況下,文檔布局件從上至下或從右 至左等排列方式將文本排列在一個(gè)矩形區(qū)域類,當(dāng)用戶翻頁時(shí),頁面卷起,并W頁角或頁面 邊緣為移動(dòng)起點(diǎn)向某一方向移動(dòng)。通過設(shè)計(jì)一個(gè)數(shù)學(xué)模型來實(shí)現(xiàn)該動(dòng)作的計(jì)算機(jī)模擬。真 實(shí)的文檔由于技術(shù)原因,往往都是將文本印刷在紙上,用戶對資料的認(rèn)識只能來自視覺或 觸覺(盲文),運(yùn)極大地限制了讀者對文檔的感官印象。隨著計(jì)算機(jī)技術(shù)的發(fā)展,新技術(shù)新理 念不斷出現(xiàn),人們對計(jì)算機(jī)軟件從要求簡單易用的軟件逐步提高。因此,一種模仿現(xiàn)實(shí)閱讀 并且能夠提供更豐富的閱讀體驗(yàn)的軟件成為迫切需要滿足的用戶需求。
[0005] 在2011年7月29日申請的申請?zhí)枮?01110215422.7的中國發(fā)明,提供一種電子書 模擬翻頁效果實(shí)現(xiàn)方法及系統(tǒng),該方法包括檢測步驟:確定電子書的邊界W及可能的翻頁 起始點(diǎn),檢測初始的翻頁點(diǎn)確定翻頁起始點(diǎn)及翻頁方向,并確定翻頁邊界;計(jì)算步驟:做一 條線段連接翻頁點(diǎn)及翻頁起始點(diǎn),并做線段的垂直平分線,計(jì)算垂直平分線與翻頁邊界的 交點(diǎn),W翻頁點(diǎn)及兩個(gè)交點(diǎn)為頂點(diǎn)做=角形形成頁面區(qū)域;擅染步驟:對頁面區(qū)域在顯示區(qū) 域內(nèi)的部分進(jìn)行著色擅染;檢測下一翻頁點(diǎn),重復(fù)執(zhí)行計(jì)算步驟及擅染步驟,直至翻頁點(diǎn)消 失。該系統(tǒng)包括執(zhí)行上述檢測步驟的檢測單元、執(zhí)行計(jì)算步驟的計(jì)算單元及執(zhí)行擅染步驟 的擅染單元。
[0006] 在2010年08月24日申請的申請?zhí)枮?01010260229.0的中國發(fā)明,公開了一種電子 書模擬真實(shí)翻頁效果的方法,包括:顯示當(dāng)前頁面,初始化程序相關(guān)動(dòng)作,接收外部輸入;分 析輸入信息,確定相應(yīng)改變的狀態(tài);根據(jù)狀態(tài)信息,算出翻動(dòng)的部分對應(yīng)的各個(gè)點(diǎn)的坐標(biāo); 系統(tǒng)將獲取到的圖像顯示于顯示屏上;判斷是否翻過一頁,是則主動(dòng)請求系統(tǒng)解碼相應(yīng)頁 碼圖像,并傳入處理層,顯示下一頁面;否則顯示當(dāng)前頁面,繼續(xù)接收外部輸入。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問題,在于提供一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn) 方法,實(shí)現(xiàn)了電子文檔翻頁模擬,具有占用內(nèi)存少,CPU占用率高的特點(diǎn)。
[000引本發(fā)明是運(yùn)樣實(shí)現(xiàn)的:
[0009] -種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,包括如下步驟:
[0010] 步驟100、在電子設(shè)備上設(shè)定有加載內(nèi)存闊值;
[0011] 步驟200、將靜態(tài)書頁內(nèi)容處理為圖片或文本,將動(dòng)態(tài)書頁內(nèi)容處理為活動(dòng)部件, 并將書頁內(nèi)容加載到電子設(shè)備的內(nèi)存中;根據(jù)所述加載內(nèi)存闊值控制加載到內(nèi)存中書頁的 頁面數(shù)量,當(dāng)加載的書頁的頁面所占用的內(nèi)存超過該加載內(nèi)存闊值,則保留該加載內(nèi)存闊 值內(nèi)所能閱讀的頁面,而釋放其他頁面占用的內(nèi)存;
[0012] 步驟300、將保留下來的頁面內(nèi)容添加到窗體中,并進(jìn)行顯示;
[0013] 步驟400、頁面在翻頁前為矩形區(qū)域,鼠標(biāo)或觸控點(diǎn)位于該矩形區(qū)域的邊緣上,當(dāng) mousedown或touchdown在該矩形區(qū)域的邊緣上觸發(fā)時(shí),則認(rèn)為用戶觸發(fā)了翻頁行為,并進(jìn) 行相應(yīng)操作的初始化工作;
[0014] 步驟500、開始進(jìn)行翻頁,先確定拉動(dòng)點(diǎn),通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)來完成翻頁過程,確 定出各個(gè)頂點(diǎn)的坐標(biāo),根據(jù)各個(gè)頂點(diǎn)的坐標(biāo)確定出由翻頁過程形成的區(qū)域RU區(qū)域R2及區(qū) 域SI,對區(qū)域RU區(qū)域R2及區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;
[0015] 步驟600、當(dāng)拉動(dòng)所述拉動(dòng)點(diǎn)至區(qū)域Rl及區(qū)域R2與翻頁前的矩形區(qū)域一致時(shí),說明 本次翻頁完成,跳轉(zhuǎn)到步驟400進(jìn)入下一次翻頁;
[0016] 步驟700、當(dāng)加載的頁面都翻頁完成后,進(jìn)入步驟200開始下一輪的翻頁;
[0017] 步驟800、當(dāng)不繼續(xù)翻頁時(shí),結(jié)束流程。
[0018] 進(jìn)一步地,所述步驟200中根據(jù)所述加載內(nèi)存闊值控制加載到內(nèi)存中書頁的頁面 數(shù)量;若所述電子設(shè)備為單頁顯示,貝陽日載范圍至少包含=個(gè)顯示頁面,=個(gè)所述顯示頁面 具體為一此時(shí)用戶操作的顯示頁面、一此時(shí)用戶操作的顯示頁面的前一個(gè)顯示頁面及一此 時(shí)用戶操作的顯示頁面的后一個(gè)顯示頁面;若所述電子設(shè)備為雙頁顯示,貝陽日載范圍至少 包含六個(gè)顯示頁面,六個(gè)所述顯示頁面具體為一此時(shí)用戶操作的兩個(gè)顯示頁面、一此時(shí)用 戶操作的顯示頁面的前兩個(gè)顯示頁面及一此時(shí)用戶操作的顯示頁面的后兩個(gè)顯示頁面。
[0019] 進(jìn)一步地,所述步驟500具體如下:
[0020] 步驟501、開始進(jìn)行翻頁,書頁的頁面為矩形,四個(gè)頂點(diǎn)分別為左上頂點(diǎn)化、左下頂 點(diǎn)饑、右下頂點(diǎn)化及右上頂點(diǎn)Pd,當(dāng)頁面左上頂點(diǎn)化、左下頂點(diǎn)Pb、右下頂點(diǎn)化或右下頂點(diǎn) Pd為拉動(dòng)點(diǎn)時(shí),該拉動(dòng)點(diǎn)對應(yīng)一頂點(diǎn)A,通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)具體為:
[0021 ] (1)若拉動(dòng)過程中頂點(diǎn)A始終是沿著水平線移動(dòng),則有:
[0022]交點(diǎn)P虹在左上頂點(diǎn)化與右上頂點(diǎn)Pd之間、交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)化與右下頂 點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈矩形時(shí),翻頁后產(chǎn)生一與頂點(diǎn)A相對的一點(diǎn)B,頂點(diǎn)A、點(diǎn)B、左 上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)化及右上頂點(diǎn)Pd的坐標(biāo)已知,翻頁后的交點(diǎn)化r為左上頂 點(diǎn)化及頂點(diǎn)A的中點(diǎn),翻頁后的交點(diǎn)Pvr為左下頂點(diǎn)化及點(diǎn)B的中點(diǎn),貝賬據(jù)左上頂點(diǎn)化的坐 標(biāo)及頂點(diǎn)A的坐標(biāo)計(jì)算出交點(diǎn)化r的坐標(biāo),根據(jù)左下頂點(diǎn)化及點(diǎn)B的坐標(biāo)計(jì)算出交點(diǎn)Pvr的坐 標(biāo),然后由左上頂點(diǎn)化、左下頂點(diǎn)饑、交點(diǎn)Pvr及交點(diǎn)曲r的坐標(biāo)確定出區(qū)域RI,由交點(diǎn)化r、 交點(diǎn)Pvr、點(diǎn)B及頂點(diǎn)A的坐標(biāo)確定出區(qū)域R2,由頂點(diǎn)A、點(diǎn)B、右下頂點(diǎn)化及右上頂點(diǎn)Pd的坐標(biāo) 確定出區(qū)域SI,對該區(qū)域RU該區(qū)域R2及該區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;
[0023] (2)若拉動(dòng)過程中頂點(diǎn)A是傾斜向內(nèi)移動(dòng),則有:
[0024] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)化與左下頂點(diǎn)饑之間,即區(qū)域Rl與區(qū)域R2呈S角形 時(shí),左上頂點(diǎn)化、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc、右上頂點(diǎn)Pd及頂點(diǎn)A的坐標(biāo)已知,根據(jù)已知的坐 標(biāo)計(jì)算出交點(diǎn)Phr及交點(diǎn)Pvr的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出 區(qū)域Rl,由頂點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、頂點(diǎn)A、交點(diǎn)Pvr、左 下頂點(diǎn)化、右下頂點(diǎn)化及右上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域SI,對該區(qū)域RU該區(qū)域R2及該區(qū)域 Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr及交點(diǎn)化r坐標(biāo)的計(jì)算方法如下:
[0025] 1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)化的距離dAPa,并計(jì)算單位矢量
[0026] 2)設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段41?的長度dAPm為dA化的一半,則求出矢量
從而求出點(diǎn)Pm的坐標(biāo);
[0027] 3)因?yàn)榫€段PaA被直線化巧vr垂直平分,固定點(diǎn)化,將矢量態(tài)涼順時(shí)針旋轉(zhuǎn)90度, 獲得新向量Al化,并求解出點(diǎn)Al的坐標(biāo),直線Al化分別與直線化Pd及直線化饑構(gòu)成交點(diǎn)陸r 及交點(diǎn)Pvr;
[002引 4)點(diǎn)化及點(diǎn)Al的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線Al化公式,而化Pd直 線公式為y =化.y,直線化Pb公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn)化r及交 點(diǎn)Pvr的坐標(biāo);
[0029] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與右下頂點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈直角梯 形時(shí),翻頁后產(chǎn)生一與左下頂點(diǎn)饑相對的一點(diǎn)饑1,左上頂點(diǎn)化、左下頂點(diǎn)饑、右下頂點(diǎn)化、 右上頂點(diǎn)Pd及頂點(diǎn)A的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)陸r、交點(diǎn)Pvr及點(diǎn)化1的坐標(biāo), 然后由左上頂點(diǎn)化、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R1,由頂點(diǎn)A、點(diǎn)饑1、交 點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、交點(diǎn)Pvr、右下頂點(diǎn)化及右上頂點(diǎn)Pd的坐 標(biāo)確定出區(qū)域SI,對該區(qū)域RU該區(qū)域R2及該區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn) P vr、交點(diǎn)化r及點(diǎn)化1坐標(biāo)的計(jì)算方法如下:
[0030] 1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)化的距離dAPa,并計(jì)算單位矢量
[0031] 2)設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段41?的長度dAPm為dA化的一半,則求出矢量
從而求出點(diǎn)化的坐標(biāo);
[0032] 3)因?yàn)榫€段PaA被直線化巧vr垂直平分,固定點(diǎn)化,將矢量:i雨順時(shí)針旋轉(zhuǎn)90度, 獲得新向量丸而;,并求解出點(diǎn)Al的坐標(biāo),直線Al化分別與直線化Pd及直線化Pb構(gòu)成交點(diǎn) P虹及交點(diǎn)Pvr;
[0033] 4)點(diǎn)化及點(diǎn)Al的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線Al化公式,而化Pd直 線公式為y =化.y,直線化Pb公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn)化r及交 點(diǎn)Pvr的坐標(biāo);
[0034] 5)交點(diǎn)Pvr為直線AlPm與直線化化的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量 兩兩P,固定交點(diǎn)Pvr,將該矢量逆時(shí)針旋轉(zhuǎn)Z化PhrA度獲得的新矢量巧瓦H,由于線段 饑Pvr和線段Pv巧bI長度相等,而Z化化rA和Z化Pv巧bI相等,因此旋轉(zhuǎn)后的向量兩庫擴(kuò)I等 于矢量戶WtT ..,由此可計(jì)算出點(diǎn)化1的坐標(biāo);
[0035] 步驟502、當(dāng)頁面左中上端點(diǎn)、左中下端點(diǎn)、右中上端點(diǎn)或右中下端點(diǎn)為拉動(dòng)點(diǎn)時(shí), 當(dāng)翻頁觸發(fā)時(shí),鼠標(biāo)或觸控點(diǎn)在直線PaPb上有拉動(dòng)點(diǎn)PAl,翻頁過程中拉動(dòng)點(diǎn)PAl隨著鼠標(biāo) 或觸控點(diǎn)移動(dòng),翻頁后產(chǎn)生一與拉動(dòng)點(diǎn)PAl相對的一點(diǎn)PA2,通過拉動(dòng)點(diǎn)PAl進(jìn)行拉動(dòng)具體 為:
[0036] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)化與左下頂點(diǎn)饑之間,即區(qū)域Rl與區(qū)域R2呈S角形 時(shí),左上頂點(diǎn)P a、左下頂點(diǎn)饑、右下頂點(diǎn)P C、右上頂點(diǎn)P d、拉動(dòng)點(diǎn)P A1及點(diǎn)P A 2的坐標(biāo)已知,根 據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)化r、交點(diǎn)Pvr及頂點(diǎn)A的坐標(biāo),然后由左上頂點(diǎn)化、交點(diǎn)Pvr及交點(diǎn) Phr的坐標(biāo)確定出區(qū)域Rl,由拉動(dòng)點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、 拉動(dòng)點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)Pb、右下頂點(diǎn)化及右上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域SI,對該區(qū)域 RU該區(qū)域R2及該區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr、交點(diǎn)化r及頂點(diǎn)A坐標(biāo)的計(jì) 算方法如下:
[0037] 1)根據(jù)拉動(dòng)點(diǎn)PAl及點(diǎn)PA2的坐標(biāo)計(jì)算出拉動(dòng)點(diǎn)PAl與點(diǎn)PA2的距離dPAlPA2,并計(jì) 算單位矢i
;
[003引 2)設(shè)線段PA1PA2中點(diǎn)為點(diǎn)化1,則線段PA2化1的長度dPA2化1為dPAlPA2的一半,貝U 求出矢量
,從而求出點(diǎn)Ftal的坐標(biāo);
[0039] 3)因?yàn)榫€段PA1PA2被直線化巧vr垂直平分,固定點(diǎn)化1,將矢量PA2化1順時(shí)針旋轉(zhuǎn) 90度,獲得新矢量PA3化1,并求解出點(diǎn)PA3的坐標(biāo),直線PA3化1分別與直線化Pd及直線化化 或化化構(gòu)成交點(diǎn)化r及交點(diǎn)Pvr;
[0040] 4)點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而 化Pd直線公式為y =化.y,直線化饑公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn) P虹及交點(diǎn)Pvr的坐標(biāo);
[0041 ] 5)根據(jù)左上頂點(diǎn)Pa、交點(diǎn)P虹及交點(diǎn)Pvr的坐標(biāo)計(jì)算出頂點(diǎn)A的坐標(biāo);
[0042] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與右下頂點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈直角梯 形時(shí),翻頁后產(chǎn)生一與左下頂點(diǎn)化相對的一點(diǎn)化1,左上頂點(diǎn)化、左下頂點(diǎn)化、右下頂點(diǎn)化、 右上頂點(diǎn)Pd、拉動(dòng)點(diǎn)PA 1及點(diǎn)PA2的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)化r、交點(diǎn)Pvr、點(diǎn) 饑1及頂點(diǎn)A的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn)P虹的坐標(biāo)確定出區(qū)域Rl, 由頂點(diǎn)A、點(diǎn)化1、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、交點(diǎn)Pvr、右下頂點(diǎn)化 及右上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域SI,對該區(qū)域R1、該區(qū)域R2及該區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行 閱讀;其中,交點(diǎn)Pvr、交點(diǎn)化r、點(diǎn)化1及頂點(diǎn)A坐標(biāo)的計(jì)算方法如下:
[0043] 。庶巧扮夫*占PAi巧占PA9的處拉A管出拉動(dòng)點(diǎn)PAl與點(diǎn)PA2的距離dPAlPA2,并計(jì) 算單位矢i
[0044] 2)設(shè)線段PA1PA2中點(diǎn)為點(diǎn)化1,則線段PA2RH1的長度dPA2Riil為dPAlPA2的一半,貝IJ 求出矢量
,從而求出點(diǎn)Ftal的坐標(biāo);
[0045] 3)因?yàn)榫€段PA1PA2被直線化巧vr垂直平分,固定點(diǎn)化1,將矢量盈壽.順時(shí)針旋 轉(zhuǎn)90度,獲得新矢量斑巧贏,并求解出點(diǎn)PA3的坐標(biāo),直線PA3Pml分別與直線化Pd及直線 化Pb或Pb化構(gòu)成交點(diǎn)化r及交點(diǎn)Pvr;
[0046] 4)點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而 化Pd直線公式為y =化.y,直線化饑公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn) P虹及交點(diǎn)Pvr的坐標(biāo);
[0047] 5)交點(diǎn)Pvr為直線PA3化1與直線饑化的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量 /?戶VT,固定交點(diǎn)Pvr,將該矢量逆時(shí)針旋轉(zhuǎn)Z化PhrA度獲得的新矢量歹瓦瓦1,由于線段 饑Pvr和線段Pv巧b 1長度相等,而Z化化rA和Z饑Pv巧b 1相等,因此旋轉(zhuǎn)后的向量兩示濟(jì)等 于矢量兩兩7-,由此可計(jì)算出點(diǎn)化1的坐標(biāo);
[004引 6)由于直線APbl與直線PvrPbl垂直,而線段化Pb與線段APbl長度相同,固定點(diǎn) Pbl,將矢量巧品初向著頂點(diǎn)A方向旋轉(zhuǎn)90度,獲得新矢量巧,求得單位矢量 e頭巧品1 >從而求得矢量
至此,頂點(diǎn)A的 坐標(biāo)求出;
[0049] 步驟501與步驟502沒有先后順序。
[0化0] 進(jìn)一步地,所述步驟501或步驟502之后還包括:
[0051 ] 步驟503、對區(qū)域R2與區(qū)域Sl的集合路徑進(jìn)行進(jìn)一步處理,對線段化rA進(jìn)行曲線化 處理,其處理方式是將交點(diǎn)Phr及頂點(diǎn)A代入二次貝塞爾曲線公式中,計(jì)算出一中間點(diǎn)P1,然 后繪制出交點(diǎn)化r、頂點(diǎn)A及點(diǎn)PlS點(diǎn)組成的曲線;同理,對線段APvr進(jìn)行曲線化處理。
[0化2] 進(jìn)一步地,所述步驟503之后還包括:
[0053] 步驟504、在區(qū)域Rl與區(qū)域R2的重合處添加陰影紋理,其添加方法是在線段化巧vr 兩側(cè)設(shè)置陰影紋理區(qū)域RShl及陰影紋理區(qū)域RSh2,通過將區(qū)域化巧vr向左右兩側(cè)分別平移 d化后,獲得新直線陸rIPvr 1及化r2化vr2,其與頁面邊緣存在交點(diǎn),求解運(yùn)些交點(diǎn)即可獲得 陰影紋理區(qū)域RShl及陰影紋理RSh2的幾何路徑;將dSh設(shè)定為依賴于頁寬,即d化的數(shù)值與 頁寬有關(guān),dSh = k*dPW,0<k<l,從而使陰影紋理區(qū)域隨著頁面翻動(dòng)變化,將漸變顏色填充到 相應(yīng)的陰影紋理區(qū)域內(nèi)。
[0054] 進(jìn)一步地,所述步驟500中進(jìn)行翻頁的過程中有:
[0055] 在電子設(shè)備上還設(shè)定有觸發(fā)點(diǎn),當(dāng)翻頁過程中觸碰到所述觸發(fā)點(diǎn)時(shí),就進(jìn)行自動(dòng) 翻頁。
[0056] 本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明主要是模擬人們閱讀文檔的各個(gè)過程,為人們提供 了一種在電子設(shè)備上閱讀文檔的新方式;本發(fā)明通過將文檔內(nèi)容(包括但不限于文本、視 頻、圖片等)處理為書頁,通過模擬書本閱讀過程,動(dòng)態(tài)加載書頁W及模擬書本翻頁過程中 的各個(gè)細(xì)節(jié),生動(dòng)地模擬了現(xiàn)實(shí)的文檔,豐富了電子文件的閱讀過程,具有占用內(nèi)存少,CPU 使用率低的特點(diǎn),操作流楊。
【附圖說明】
[0057] 下面參照附圖結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[005引圖1為本發(fā)明中頁面左上頂點(diǎn)化、左下頂點(diǎn)化、右下頂點(diǎn)化或右下頂點(diǎn)Pd為拉動(dòng)點(diǎn) 且區(qū)域Rl及區(qū)域R2為矩形時(shí)的結(jié)構(gòu)示意圖。
[0059]圖2為本發(fā)明中頁面左上頂點(diǎn)化、左下頂點(diǎn)化、右下頂點(diǎn)化或右下頂點(diǎn)Pd為拉動(dòng)點(diǎn) 且區(qū)域Rl及區(qū)域R2為=角形時(shí)的結(jié)構(gòu)示意圖。
[0060] 圖3為本發(fā)明中頁面左上頂點(diǎn)化、左下頂點(diǎn)化、右下頂點(diǎn)化或右下頂點(diǎn)Pd為拉動(dòng)點(diǎn) 且區(qū)域Rl及區(qū)域R2為直角梯形時(shí)的結(jié)構(gòu)示意圖。
[0061] 圖4為本發(fā)明中頁面左中上端點(diǎn)、左中下端點(diǎn)、右中上端點(diǎn)或右中下端點(diǎn)為拉動(dòng)點(diǎn) 且區(qū)域Rl及區(qū)域R2為=角形時(shí)的結(jié)構(gòu)示意圖。
[0062] 圖5為本發(fā)明中頁面左中上端點(diǎn)、左中下端點(diǎn)、右中上端點(diǎn)或右中下端點(diǎn)為拉動(dòng)點(diǎn) 且區(qū)域Rl及區(qū)域R2為直角梯形時(shí)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0063] 為使得本發(fā)明更明顯易懂,現(xiàn)W-優(yōu)選實(shí)施例,并配合附圖作詳細(xì)說明如下。
[0064] 如圖1至圖5所示,本發(fā)明的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,包 括如下步驟:
[0065] 步驟100、在電子設(shè)備上設(shè)定有加載內(nèi)存闊值;
[0066] 步驟200、將靜態(tài)書頁內(nèi)容處理為圖片或文本,將動(dòng)態(tài)書頁內(nèi)容處理為活動(dòng)部件, 視頻、flash等動(dòng)態(tài)書頁內(nèi)容W活動(dòng)部件形式存在于頁面中,而且只有可視頁面才會顯示運(yùn) 些部件,并將書頁內(nèi)容加載到電子設(shè)備的內(nèi)存中;當(dāng)加載很多書頁,占用的內(nèi)存會急劇增 大,甚至?xí)?dǎo)致電子設(shè)備系統(tǒng)崩潰,因此,書頁的加載策略為動(dòng)態(tài)的,該策略的原則是至始 至終加載的書頁不超過一定數(shù)量,并且加載的頁數(shù)是動(dòng)態(tài);根據(jù)所述加載內(nèi)存闊值控制加 載到內(nèi)存中書頁的頁面數(shù)量,當(dāng)加載的書頁的頁面所占用的內(nèi)存超過該加載內(nèi)存闊值,貝U 保留該加載內(nèi)存闊值內(nèi)所能閱讀的頁面,而釋放其他頁面占用的內(nèi)存;
[0067] 若所述電子設(shè)備為單頁顯示,貝陽日載范圍至少包含S個(gè)顯示頁面,S個(gè)所述顯示 頁面具體為一此時(shí)用戶操作的顯示頁面、一此時(shí)用戶操作的顯示頁面的前一個(gè)顯示頁面及 一此時(shí)用戶操作的顯示頁面的后一個(gè)顯示頁面;若所述電子設(shè)備為雙頁顯示,貝陽日載范圍 至少包含六個(gè)顯示頁面,六個(gè)所述顯示頁面具體為一此時(shí)用戶操作的兩個(gè)顯示頁面、一此 時(shí)用戶操作的顯示頁面的前兩個(gè)顯示頁面及一此時(shí)用戶操作的顯示頁面的后兩個(gè)顯示頁 面;本實(shí)施例中,選擇雙頁顯示的電子設(shè)備進(jìn)行閱讀;
[0068] 步驟300、將保留下來的頁面內(nèi)容添加到窗體中,并進(jìn)行顯示;
[0069] 步驟400、頁面在翻頁前為矩形區(qū)域,鼠標(biāo)或觸控點(diǎn)位于該矩形區(qū)域的邊緣上,當(dāng) mousedown或touchdown在該矩形區(qū)域的邊緣上觸發(fā)時(shí),則認(rèn)為用戶觸發(fā)了翻頁行為,并進(jìn) 行相應(yīng)操作的初始化工作;
[0070] 步驟500、開始進(jìn)行翻頁,先確定拉動(dòng)點(diǎn),通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)來完成翻頁過程,確 定出各個(gè)頂點(diǎn)的坐標(biāo),根據(jù)各個(gè)頂點(diǎn)的坐標(biāo)確定出由翻頁過程形成的區(qū)域RU區(qū)域R2、區(qū)域 Sl及區(qū)域S2,對區(qū)域RU區(qū)域R2、區(qū)域Sl及區(qū)域S2內(nèi)的書頁內(nèi)容進(jìn)行閱讀;同時(shí),在電子設(shè)備 上還設(shè)定有觸發(fā)點(diǎn),當(dāng)翻頁過程中觸碰到所述觸發(fā)點(diǎn)時(shí),就進(jìn)行自動(dòng)翻頁;具體如下:
[0071] 步驟501、開始進(jìn)行翻頁,電子設(shè)備為雙頁顯示,則書頁的頁面為兩個(gè)并排設(shè)備的 等尺寸矩形,兩矩形形成的六個(gè)頂點(diǎn)分別為左上頂點(diǎn)化、左下頂點(diǎn)Pb、中下頂點(diǎn)化、中上頂 點(diǎn)Pd、右上頂點(diǎn)化及右下頂點(diǎn)Pf,當(dāng)頁面左上頂點(diǎn)化、左下頂點(diǎn)Pb、右上頂點(diǎn)化或右下頂點(diǎn) Pf為拉動(dòng)點(diǎn)時(shí),該拉動(dòng)點(diǎn)對應(yīng)一頂點(diǎn)A,頁面區(qū)域內(nèi)形成幾何區(qū)域Rl及區(qū)域R2,從幾何角度 分析,該區(qū)域在文檔上存在W下關(guān)系特征:
[0072] 1)拉動(dòng)的頂點(diǎn)A為該區(qū)域R2上一個(gè)頂點(diǎn),并且該點(diǎn)為鼠標(biāo)或觸控點(diǎn)坐標(biāo);
[0073] 2)左上頂點(diǎn)化為區(qū)域Rl上的頂點(diǎn),同時(shí)也是頁面頂點(diǎn);
[0074] 3)區(qū)域Rl和區(qū)域R2為相等多邊形,并存在交點(diǎn)化r和交點(diǎn)Pvr,交點(diǎn)P虹的運(yùn)動(dòng)軌跡 在左上頂點(diǎn)化和中上頂點(diǎn)Pd之間;交點(diǎn)Pvr的運(yùn)動(dòng)軌跡為左上頂點(diǎn)化到左下頂點(diǎn)化或左下 頂點(diǎn)化到中下頂點(diǎn)化;
[0075] 4)左上頂點(diǎn)化、交點(diǎn)Pvr及頂點(diǎn)A組成等腰S角形,其中線段化Pvr和線段PvrA為相 等的兩條邊;
[0076] 5)翻頁過程中,書本共分為4個(gè)區(qū)域,分別是區(qū)域RU區(qū)域R2、區(qū)域Sl及區(qū)域S2,由 此可知,翻頁模擬的要點(diǎn)即是求解運(yùn)些區(qū)域的幾何路徑。
[0077] 當(dāng)未觸發(fā)翻頁時(shí),區(qū)域Rl和區(qū)域R2的幾何路徑不存在,而區(qū)域Sl和區(qū)域S2分別為 書本兩頁的頁面幾何路徑。即:
[007引 Rl:不存在,
[0079] R2:不存在,
[0080] Sl:由左上頂點(diǎn)化、左下頂點(diǎn)化、中下頂點(diǎn)化、中上頂點(diǎn)Pd組成,
[0081] S2:由中上頂點(diǎn)PcU中下頂點(diǎn)化、右上頂點(diǎn)Pf、右下頂點(diǎn)化組成,
[00劇觸發(fā)翻頁時(shí),當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)化與左下頂點(diǎn)Pb之間時(shí),區(qū)域Rl、區(qū)域 R2、區(qū)域Sl、區(qū)域S2的幾何路徑為:
[0083] Rl:由左上頂點(diǎn)Pa、交點(diǎn)Pvr、交點(diǎn)P虹組成,
[0084] R2:由頂點(diǎn)A、交點(diǎn)Pvr、交點(diǎn)P虹組成,
[0085] S1:由交點(diǎn)化r、頂點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)化、中下頂點(diǎn)化、中上頂點(diǎn)Pd組成,
[008引S2:由中上頂點(diǎn)Pd、中下頂點(diǎn)化、右下頂點(diǎn)Pf、右上頂點(diǎn)化組成,
[0087]當(dāng)交點(diǎn)Pvr坐標(biāo)在左下頂點(diǎn)Pb與中下頂點(diǎn)化之間時(shí),區(qū)域Rl、區(qū)域R2、區(qū)域Sl、區(qū)域 S2的幾何路徑為:
[00則 Rl:由左上頂點(diǎn)化、左下頂點(diǎn)化、交點(diǎn)Pvr、交點(diǎn)P虹組成,
[0089] R2:由頂點(diǎn)A、點(diǎn)化1、交點(diǎn)Pvr、交點(diǎn)化r組成,
[0090] S1:由交點(diǎn)化r、頂點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)化、中下頂點(diǎn)化、中上頂點(diǎn)Pd組成,
[0091] S2:由中上頂點(diǎn)PcU中下頂點(diǎn)化、右上頂點(diǎn)Pf、右下頂點(diǎn)化組成,
[0092] 由上可知,區(qū)域S2與翻頁操作無關(guān),而區(qū)域RU區(qū)域R2、區(qū)域Sl依賴于交點(diǎn)Pvr、交 點(diǎn)化r和點(diǎn)化1。因此,問題的關(guān)鍵在于交點(diǎn)Pvr、交點(diǎn)化r及點(diǎn)化1S個(gè)點(diǎn)的求解。
[0093] 通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)具體為:
[0094] (1)若拉動(dòng)過程中頂點(diǎn)A始終是沿著水平線移動(dòng),則有:
[0095] 交點(diǎn)P虹在左上頂點(diǎn)化與中上頂點(diǎn)P d之間、交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)化與中下頂 點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈矩形時(shí),翻頁后產(chǎn)生一與頂點(diǎn)A相對的一點(diǎn)B,頂點(diǎn)A、點(diǎn)B、左 上頂點(diǎn)化、左下頂點(diǎn)化、中下頂點(diǎn)化、中上頂點(diǎn)P d、右上頂點(diǎn)化及右下頂點(diǎn)P f的坐標(biāo)已知,翻 頁后的交點(diǎn)化r為左上頂點(diǎn)化及頂點(diǎn)A的中點(diǎn),翻頁后的交點(diǎn)Pvr為左下頂點(diǎn)化及點(diǎn)B的中 點(diǎn),則根據(jù)左上頂點(diǎn)化的坐標(biāo)及頂點(diǎn)A的坐標(biāo)計(jì)算出交點(diǎn)化r的坐標(biāo),根據(jù)左下頂點(diǎn)化及點(diǎn)B 的坐標(biāo)計(jì)算出交點(diǎn)Pvr的坐標(biāo),然后由左上頂點(diǎn)化、左下頂點(diǎn)化、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo) 確定出區(qū)域R1,由交點(diǎn)化r、交點(diǎn)Pvr、點(diǎn)B及頂點(diǎn)A的坐標(biāo)確定出區(qū)域R2,由頂點(diǎn)A、點(diǎn)B、中下 頂點(diǎn)化及中上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域Sl,由中下頂點(diǎn)化、中上頂點(diǎn)Pd、右上頂點(diǎn)化及右下 頂點(diǎn)Pf的坐標(biāo)確定出區(qū)域S2,對該區(qū)域RU該區(qū)域R2、該區(qū)域Sl及該區(qū)域S2內(nèi)的書頁內(nèi)容進(jìn) 行閱讀;
[0096] (2)若拉動(dòng)過程中頂點(diǎn)A是傾斜向內(nèi)移動(dòng),則有:
[0097] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)化與左下頂點(diǎn)饑之間,即區(qū)域Rl與區(qū)域R2呈S角形 時(shí),左上頂點(diǎn)化、左下頂點(diǎn)化、中下頂點(diǎn)化、中上頂點(diǎn)Pd、上頂點(diǎn)化、右下頂點(diǎn)Pf及頂點(diǎn)A的坐 標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)化r及交點(diǎn)Pvr的坐標(biāo),然后由左上頂點(diǎn)化、交點(diǎn)Pvr及 交點(diǎn)化r的坐標(biāo)確定出區(qū)域R1,由頂點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn) 化r、頂點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)化、中下頂點(diǎn)化及中上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域S1,由中下 頂點(diǎn)化、中上頂點(diǎn)PcU右上頂點(diǎn)Pe及右下頂點(diǎn)Pf的坐標(biāo)確定出區(qū)域S2,對該區(qū)域R1、該區(qū)域 R2、該區(qū)域S1及該區(qū)域S2內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr及交點(diǎn)化r坐標(biāo)的計(jì)算方法 如下:
[009引1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)化的距離dAPa,并計(jì)算單位矢量
[0099] 2)設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段APm的長度dAPm為dA化的一半,則求出矢量
從而求出點(diǎn)化的坐標(biāo);
[0100] 3)因?yàn)榫€段PaA被直線化巧vr垂直平分,固定點(diǎn)化,將矢量萬雨順時(shí)針旋轉(zhuǎn)90度, 獲得新向量Al化,并求解出點(diǎn)Al的坐標(biāo),直線Al化分別與直線化Pd及直線化饑構(gòu)成交點(diǎn)陸r 及交點(diǎn)Pvr;
[0101 ] 4)點(diǎn)化及點(diǎn)Al的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線Al化公式,而化Pd直 線公式為y =化.y,直線化Pb公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn)化r及交 點(diǎn)Pvr的坐標(biāo);
[0102] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與中下頂點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈直角梯 形時(shí),翻頁后產(chǎn)生一與左下頂點(diǎn)化相對的一點(diǎn)化1,左上頂點(diǎn)化、左下頂點(diǎn)化、中下頂點(diǎn)化、 中上頂點(diǎn)Pd及頂點(diǎn)A的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)陸r、交點(diǎn)Pvr及點(diǎn)化1的坐標(biāo), 然后由左上頂點(diǎn)化、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R1,由頂點(diǎn)A、點(diǎn)化1、交 點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、交點(diǎn)Pvr、中下頂點(diǎn)化及中上頂點(diǎn)Pd的坐 標(biāo)確定出區(qū)域SI,對該區(qū)域RU該區(qū)域R2及該區(qū)域Sl內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn) P vr、交點(diǎn)化r及點(diǎn)化1坐標(biāo)的計(jì)算方法如下:
[0103] 1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)化的距離dAPa,并計(jì)算單位矢量
[0104] 2)設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段APm的長度dAPm為dA化的一半,則求出矢量
從而求出點(diǎn)化的坐標(biāo);
[0105] 3)因?yàn)榫€段PaA被直線化巧vr垂直平分,固定點(diǎn)化,將矢量扁順時(shí)針旋轉(zhuǎn)90度, 獲得新向量五雨,并求解出點(diǎn)Al的坐標(biāo),直線Al化分別與直線化Pd及直線化Pb構(gòu)成交點(diǎn) P虹及交點(diǎn)Pvr;
[0106] 4)點(diǎn)化及點(diǎn)Al的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線Al化公式,而化Pd直 線公式為y =化.y,直線化Pb公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn)化r及交 點(diǎn)Pvr的坐標(biāo);
[0107] 5)交點(diǎn)Pvr為直線AlPm與直線化化的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量 如戶VT,固定交點(diǎn)P V r,將該矢量逆時(shí)針旋轉(zhuǎn)Z化化r A度獲得的新矢量PvrPii,由于線段 饑Pvr和線段Pv巧b I長度相等,而Z化化r A和Z化Pv巧b I相等,因此旋轉(zhuǎn)后的向量歹品頸i等 于矢量戶WtT ..,由此可計(jì)算出點(diǎn)化1的坐標(biāo);
[010引步驟502、當(dāng)頁面左中上端點(diǎn)、左中下端點(diǎn)、右中上端點(diǎn)或右中下端點(diǎn)為拉動(dòng)點(diǎn)時(shí), 當(dāng)翻頁觸發(fā)時(shí),鼠標(biāo)或觸控點(diǎn)在直線PaPb上有拉動(dòng)點(diǎn)PAl,翻頁過程中拉動(dòng)點(diǎn)PAl隨著鼠標(biāo) 或觸控點(diǎn)移動(dòng),翻頁后產(chǎn)生一與拉動(dòng)點(diǎn)PAl相對的一點(diǎn)PA2,通過拉動(dòng)點(diǎn)PAl進(jìn)行拉動(dòng)具體 為:
[0109] 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)化與左下頂點(diǎn)饑之間,即區(qū)域Rl與區(qū)域R2呈S角形 時(shí),左上頂點(diǎn)P a、左下頂點(diǎn)饑、中下頂點(diǎn)化、中上頂點(diǎn)P d、右上頂點(diǎn)P e、右下頂點(diǎn)P f、拉動(dòng)點(diǎn) PA 1及點(diǎn)PA2的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)Phr、交點(diǎn)Pvr及頂點(diǎn)A的坐標(biāo),然后由 左上頂點(diǎn)Pa、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域Rl,由拉動(dòng)點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)化r的坐 標(biāo)確定出區(qū)域R2,由交點(diǎn)化r、拉動(dòng)點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)化、中下頂點(diǎn)化及中上頂點(diǎn)Pd的 坐標(biāo)確定出區(qū)域SI,由中下頂點(diǎn)化、中上頂點(diǎn)PcU右上頂點(diǎn)化及右下頂點(diǎn)Pf的坐標(biāo)確定出區(qū) 域S2,對該區(qū)域RU該區(qū)域R2、該區(qū)域Sl及該區(qū)域S2內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr、 交點(diǎn)化r及頂點(diǎn)A坐標(biāo)的計(jì)算方法如下:
[0110] 1)根據(jù)拉動(dòng)點(diǎn)PAl及點(diǎn)PA2的坐標(biāo)計(jì)算出拉動(dòng)點(diǎn)PAl與點(diǎn)PA2的距離dPAlPA2,并計(jì) 算單位矢i
[0111] 2)設(shè)線段PA1PA2中點(diǎn)為點(diǎn)化1,則線段PA2RH1的長度dPA2Riil為dPAlPA2的一半,貝IJ 求出矢i
,從而求出點(diǎn)Ftal的坐標(biāo);
[0112] 3)因?yàn)榫€段PA1PA2被直線化巧vr垂直平分,固定點(diǎn)化1,將矢量PA2化1順時(shí)針旋轉(zhuǎn) 90度,獲得新矢量PA3化1,并求解出點(diǎn)PA3的坐標(biāo),直線PA3化1分別與直線化Pd及直線化化 或化化構(gòu)成交點(diǎn)化r及交點(diǎn)Pvr;
[011引 4)點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而 化Pd直線公式為y =化.y,直線化饑公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn) P虹及交點(diǎn)Pvr的坐標(biāo);
[0114] 5)根據(jù)左上頂點(diǎn)Pa、交點(diǎn)P虹及交點(diǎn)Pvr的坐標(biāo)計(jì)算出頂點(diǎn)A的坐標(biāo);
[011引當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與中下頂點(diǎn)化之間,即區(qū)域Rl與區(qū)域R2呈直角梯 形時(shí),翻頁后產(chǎn)生一與左下頂點(diǎn)化相對的一點(diǎn)化1,左上頂點(diǎn)化、左下頂點(diǎn)化、中下頂點(diǎn)化、 中上頂點(diǎn)PcU右上頂點(diǎn)化、右下頂點(diǎn)Pf、拉動(dòng)點(diǎn)PAl及點(diǎn)PA2的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì) 算出交點(diǎn)Phr、交點(diǎn)Pvr、點(diǎn)Pb 1及頂點(diǎn)A的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn) Phr的坐標(biāo)確定出區(qū)域Rl,由頂點(diǎn)A、點(diǎn)化1、交點(diǎn)Pvr及交點(diǎn)化r的坐標(biāo)確定出區(qū)域R2,由交點(diǎn) P虹、交點(diǎn)Pvr、中下頂點(diǎn)化及中上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域S1,由中下頂點(diǎn)化、中上頂點(diǎn)Pd、 右上頂點(diǎn)化及右下頂點(diǎn)Pf的坐標(biāo)確定出區(qū)域S2,對該區(qū)域RU該區(qū)域R2、該區(qū)域Sl及該區(qū)域 S2內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr、交點(diǎn)P虹、點(diǎn)化1及頂點(diǎn)A坐標(biāo)的計(jì)算方法如下:
[0116] 1)根據(jù)拉動(dòng)點(diǎn)PAl及點(diǎn)PA2的坐標(biāo)計(jì)算出拉動(dòng)點(diǎn)PAl與點(diǎn)PA2的距離dPAlPA2,并計(jì) 算單位矢量
[0117] 2)設(shè)線段PA1PA2中點(diǎn)為點(diǎn)化1,則線段PA2RH1的長度dPA2Riil為dPAlPA2的一半,貝IJ 求出矢量
從而求出點(diǎn)Pml的坐標(biāo);
[011引 3)因?yàn)榫€段PA1PA2被直線化巧vr垂直平分,固定點(diǎn)化1,將矢量友忍離3順時(shí)針旋 轉(zhuǎn)90度,獲得新矢量屈5?!,并求解出點(diǎn)PA3的坐標(biāo),直線PA3Pml分別與直線化Pd及直線 化Pb或Pb化構(gòu)成交點(diǎn)化r及交點(diǎn)Pvr;
[0119] 4)點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而 化Pd直線公式為y =化.y,直線化饑公式為X =化.X,由此組成二元一次方程組求解出交點(diǎn) P虹及交點(diǎn)Pvr的坐標(biāo);
[0120] 5)交點(diǎn)Pvr為直線PA3化1與直線饑化的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量 化戶VT,固定交點(diǎn)Pvr,將該矢量逆時(shí)針旋轉(zhuǎn)Z化化rA度獲得的新矢量島東員,由于線段 饑Pvr和線段Pv巧b 1長度相等,而Z化化rA和Z饑Pv巧b 1相等,因此旋轉(zhuǎn)后的向量厲示抗等 于矢量偽尸VT,由此可計(jì)算出點(diǎn)化1的坐標(biāo);
[0121] 6)由于直線APbl與直線PvrPbl垂直,而線段化Pb與線段APbl長度相同,固定點(diǎn) Pbl,將矢量巧品初向著頂點(diǎn)A方向旋轉(zhuǎn)90度,獲得新矢量巧巧品1,求得單位矢量 e瓦序品,從而求得矢J
至此,頂點(diǎn)A的 坐標(biāo)求出;
[0122] 步驟501與步驟502為拉動(dòng)點(diǎn)的兩種不同的情況,沒有先后順序,所述步驟501或所 述步驟502之后還包括步驟503;
[0123] 步驟503、對區(qū)域R2與區(qū)域Sl的集合路徑進(jìn)行進(jìn)一步處理,對線段化rA進(jìn)行曲線化 處理,其處理方式是將交點(diǎn)Phr及頂點(diǎn)A代入二次貝塞爾曲線公式中,計(jì)算出一中間點(diǎn)P1,然 后繪制出交點(diǎn)化r、頂點(diǎn)A及點(diǎn)PlS點(diǎn)組成的曲線;同理,對線段APvr進(jìn)行曲線化處理;
[0124] 步驟504、在區(qū)域Rl與區(qū)域R2的重合處添加陰影紋理,其添加方法是在線段化巧vr 兩側(cè)設(shè)置陰影紋理區(qū)域RShl及陰影紋理區(qū)域RSh2,通過將區(qū)域化巧vr向左右兩側(cè)分別平移 d化后,獲得新直線陸rIPvr 1及化r2化vr2,其與頁面邊緣存在交點(diǎn),求解運(yùn)些交點(diǎn)即可獲得 陰影紋理區(qū)域RShl及陰影紋理RSh2的幾何路徑;將dSh設(shè)定為依賴于頁寬,即d化的數(shù)值與 頁寬有關(guān),dSh = k*dPW,0<k<l,從而使陰影紋理區(qū)域隨著頁面翻動(dòng)變化,將漸變顏色填充到 相應(yīng)的陰影紋理區(qū)域內(nèi);
[0125] 步驟600、當(dāng)拉動(dòng)所述拉動(dòng)點(diǎn)至區(qū)域Rl及區(qū)域R2與翻頁前的矩形區(qū)域一致時(shí),說明 本次翻頁完成,跳轉(zhuǎn)到步驟400進(jìn)入下一次翻頁,單頁顯示中一次翻頁就是指翻過一頁,雙 頁顯示中一次翻頁就是指翻過兩頁;
[0126] 步驟700、當(dāng)加載的頁面都翻頁完成后,進(jìn)入步驟200開始下一輪的翻頁,W加載的 總頁面數(shù)量為一輪翻頁的頁面數(shù)量;
[0127] 步驟800、當(dāng)不繼續(xù)翻頁時(shí),結(jié)束流程。
[012引綜上所述,本發(fā)明的優(yōu)點(diǎn)如下:
[0129] 本發(fā)明主要是模擬人們閱讀文檔的各個(gè)過程,為人們提供了一種在電子設(shè)備上閱 讀文檔的新方式;本發(fā)明通過將文檔內(nèi)容(包括但不限于文本、視頻、圖片等)處理為書頁, 通過模擬書本閱讀過程,動(dòng)態(tài)加載書頁W及模擬書本翻頁過程中的各個(gè)細(xì)節(jié),生動(dòng)地模擬 了現(xiàn)實(shí)的文檔,豐富了電子文件的閱讀過程,具有占用內(nèi)存少,CPU使用率低的特點(diǎn),操作流 楊。
[0130] 本發(fā)明除了可W顯示文本外,還可W添加flash、gif、視頻、音樂等多媒體資源,不 僅從視覺,更從聽覺上觸動(dòng)讀者的感官印象,不但可W提高讀者閱讀效率還可W激發(fā)讀者 的閱讀興趣。
[0131]雖然W上描述了本發(fā)明的【具體實(shí)施方式】,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理 解,我們所描述的具體的實(shí)施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本 領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾W及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的 權(quán)利要求所保護(hù)的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在于:包括如下步驟: 步驟100、在電子設(shè)備上設(shè)定有加載內(nèi)存閾值; 步驟200、將靜態(tài)書頁內(nèi)容處理為圖片或文本,將動(dòng)態(tài)書頁內(nèi)容處理為活動(dòng)部件,并將 書頁內(nèi)容加載到電子設(shè)備的內(nèi)存中;根據(jù)所述加載內(nèi)存閾值控制加載到內(nèi)存中書頁的頁面 數(shù)量,當(dāng)加載的書頁的頁面所占用的內(nèi)存超過該加載內(nèi)存閾值,則保留該加載內(nèi)存閾值內(nèi) 所能閱讀的頁面,而釋放其他頁面占用的內(nèi)存; 步驟300、將保留下來的頁面內(nèi)容添加到窗體中,并進(jìn)行顯示; 步驟400、頁面在翻頁前為矩形區(qū)域,鼠標(biāo)或觸控點(diǎn)位于該矩形區(qū)域的邊緣上,當(dāng) mousedown或touchdown在該矩形區(qū)域的邊緣上觸發(fā)時(shí),則認(rèn)為用戶觸發(fā)了翻頁行為,并進(jìn) 行相應(yīng)操作的初始化工作; 步驟500、開始進(jìn)行翻頁,先確定拉動(dòng)點(diǎn),通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)來完成翻頁過程,確定出 各個(gè)頂點(diǎn)的坐標(biāo),根據(jù)各個(gè)頂點(diǎn)的坐標(biāo)確定出由翻頁過程形成的區(qū)域R1、區(qū)域R2及區(qū)域S1, 對區(qū)域R1、區(qū)域R2及區(qū)域S1內(nèi)的書頁內(nèi)容進(jìn)行閱讀; 步驟600、當(dāng)拉動(dòng)所述拉動(dòng)點(diǎn)至區(qū)域R1及區(qū)域R2與翻頁前的矩形區(qū)域一致時(shí),說明本次 翻頁完成,跳轉(zhuǎn)到步驟400進(jìn)入下一次翻頁; 步驟700、當(dāng)加載的頁面都翻頁完成后,進(jìn)入步驟200開始下一輪的翻頁; 步驟800、當(dāng)不繼續(xù)翻頁時(shí),結(jié)束流程。2. 根據(jù)權(quán)利要求1所述的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在 于:所述步驟200中根據(jù)所述加載內(nèi)存閾值控制加載到內(nèi)存中書頁的頁面數(shù)量;若所述電子 設(shè)備為單頁顯示,則加載范圍至少包含三個(gè)顯示頁面,三個(gè)所述顯示頁面具體為一此時(shí)用 戶操作的顯示頁面、一此時(shí)用戶操作的顯示頁面的前一個(gè)顯示頁面及一此時(shí)用戶操作的顯 示頁面的后一個(gè)顯示頁面;若所述電子設(shè)備為雙頁顯示,則加載范圍至少包含六個(gè)顯示頁 面,六個(gè)所述顯示頁面具體為一此時(shí)用戶操作的兩個(gè)顯示頁面、一此時(shí)用戶操作的顯示頁 面的前兩個(gè)顯示頁面及一此時(shí)用戶操作的顯示頁面的后兩個(gè)顯示頁面。3. 根據(jù)權(quán)利要求1所述的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在 于:所述步驟500具體如下: 步驟501、開始進(jìn)行翻頁,書頁的頁面為矩形,四個(gè)頂點(diǎn)分別為左上頂點(diǎn)Pa、左下頂點(diǎn) Pb、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd,當(dāng)頁面左上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc或右下頂點(diǎn)Pd 為拉動(dòng)點(diǎn)時(shí),該拉動(dòng)點(diǎn)對應(yīng)一頂點(diǎn)A,通過拉動(dòng)點(diǎn)進(jìn)行拉動(dòng)具體為: (1) 若拉動(dòng)過程中頂點(diǎn)A始終是沿著水平線移動(dòng),則有: 交點(diǎn)Phr在左上頂點(diǎn)Pa與右上頂點(diǎn)Pd之間、交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與右下頂點(diǎn)Pc 之間,即區(qū)域R1與區(qū)域R2呈矩形時(shí),翻頁后產(chǎn)生一與頂點(diǎn)A相對的一點(diǎn)B,頂點(diǎn)A、點(diǎn)B、左上頂 點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd的坐標(biāo)已知,翻頁后的交點(diǎn)Phr為左上頂點(diǎn)Pa 及頂點(diǎn)A的中點(diǎn),翻頁后的交點(diǎn)Pvr為左下頂點(diǎn)Pb及點(diǎn)B的中點(diǎn),則根據(jù)左上頂點(diǎn)Pa的坐標(biāo)及 頂點(diǎn)A的坐標(biāo)計(jì)算出交點(diǎn)Phr的坐標(biāo),根據(jù)左下頂點(diǎn)Pb及點(diǎn)B的坐標(biāo)計(jì)算出交點(diǎn)Pvr的坐標(biāo), 然后由左上頂點(diǎn)Pa、左下頂點(diǎn)Pb、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R1,由交點(diǎn)Phr、交點(diǎn) Pvr、點(diǎn)B及頂點(diǎn)A的坐標(biāo)確定出區(qū)域R2,由頂點(diǎn)A、點(diǎn)B、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd的坐標(biāo)確定 出區(qū)域S1,對該區(qū)域R1、該區(qū)域R2及該區(qū)域S1內(nèi)的書頁內(nèi)容進(jìn)行閱讀; (2) 若拉動(dòng)過程中頂點(diǎn)A是傾斜向內(nèi)移動(dòng),則有: 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)Pa與左下頂點(diǎn)Pb之間,即區(qū)域R1與區(qū)域R2呈三角形時(shí),左 上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc、右上頂點(diǎn)Pd及頂點(diǎn)A的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算 出交點(diǎn)Phr及交點(diǎn)Pvr的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R1, 由頂點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)Phr、頂點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn) Pb、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域S1,對該區(qū)域R1、該區(qū)域R2及該區(qū)域S1內(nèi)的 書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr及交點(diǎn)Phr坐標(biāo)的計(jì)算方法如下: 1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)Pa的距離dAPa,并計(jì)算單位矢量e = /iPc/ /dAPai 2 )設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段APm的長度dAPm為dAPa的一半,則求出矢量從而求出點(diǎn)Pm的坐標(biāo); 3) 因?yàn)榫€段PaA被直線PhrPvr垂直平分,固定點(diǎn)Pm,將矢量順時(shí)針旋轉(zhuǎn)90度,獲得 新向量AlPm,并求解出點(diǎn)A1的坐標(biāo),直線AlPm分別與直線PaPd及直線PaPb構(gòu)成交點(diǎn)Phr及交 點(diǎn) Pvr; 4) 點(diǎn)Pm及點(diǎn)A1的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線AlPm公式,而PaPd直線公 式為y = Pa. y,直線PaPb公式為X = Pa. X,由此組成二元一次方程組求解出交點(diǎn)Phr及交點(diǎn) Pvr的坐標(biāo); 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與右下頂點(diǎn)Pc之間,即區(qū)域R1與區(qū)域R2呈直角梯形時(shí), 翻頁后產(chǎn)生一與左下頂點(diǎn)Pb相對的一點(diǎn)Pbl,左上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc、右上頂 點(diǎn)Pd及頂點(diǎn)A的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)Phr、交點(diǎn)Pvr及點(diǎn)Pb 1的坐標(biāo),然后由 左上頂點(diǎn)Pa、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R1,由頂點(diǎn)A、點(diǎn)Pb 1、交點(diǎn)Pvr及 交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)Phr、交點(diǎn)Pvr、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd的坐標(biāo)確定 出區(qū)域S1,對該區(qū)域R1、該區(qū)域R2及該區(qū)域S1內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr、交點(diǎn) Phr及點(diǎn)Pbl坐標(biāo)的計(jì)算方法如下: 1)計(jì)算出頂點(diǎn)A與左上頂點(diǎn)Pa的距離dAPa,并計(jì)算單位矢量e = .4Pi/ /dAPa; 2 )設(shè)線段APa中點(diǎn)為點(diǎn)Pm,則線段APm的長度dAPm為dAPa的一半,則求出矢量從而求出點(diǎn)Pm的坐標(biāo); 3) 因?yàn)榫€段PaA被直線PhrPvr垂直平分,固定點(diǎn)Pm,將矢量Z巧順時(shí)針旋轉(zhuǎn)90度,獲得 新向量并求解出點(diǎn)A1的坐標(biāo),直線AlPm分別與直線PaPd及直線PaPb構(gòu)成交點(diǎn)Phr及 交點(diǎn)Pvr; 4) 點(diǎn)Pm及點(diǎn)A1的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線AlPm公式,而PaPd直線公 式為y = Pa. y,直線PaPb公式為X = Pa. X,由此組成二元一次方程組求解出交點(diǎn)Phr及交點(diǎn) Pvr的坐標(biāo); 5) 交點(diǎn)Pvr為直線AlPm與直線PbPc的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量/WV/*, 固定交點(diǎn)Pvr,將該矢量逆時(shí)針旋轉(zhuǎn)ZPaPhrA度獲得的新矢量Pvr/%1,由于線段PbPvr和線 段PvrPbl長度相等,而ZPaPhrA和ZPbPvrPbl相等,因此旋轉(zhuǎn)后的向量朽_等于矢量 ΡΛΡνΓ ,由此可計(jì)算出點(diǎn)Pb 1的坐標(biāo); 步驟502、當(dāng)頁面左中上端點(diǎn)、左中下端點(diǎn)、右中上端點(diǎn)或右中下端點(diǎn)為拉動(dòng)點(diǎn)時(shí),當(dāng)翻 頁觸發(fā)時(shí),鼠標(biāo)或觸控點(diǎn)在直線PaPb上有拉動(dòng)點(diǎn)PA1,翻頁過程中拉動(dòng)點(diǎn)PA1隨著鼠標(biāo)或觸 控點(diǎn)移動(dòng),翻頁后產(chǎn)生一與拉動(dòng)點(diǎn)PA1相對的一點(diǎn)PA2,通過拉動(dòng)點(diǎn)PA1進(jìn)行拉動(dòng)具體為: 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左上頂點(diǎn)Pa與左下頂點(diǎn)Pb之間,即區(qū)域R1與區(qū)域R2呈三角形時(shí),左 上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc、右上頂點(diǎn)Pd、拉動(dòng)點(diǎn)PA1及點(diǎn)PA2的坐標(biāo)已知,根據(jù)已知 的坐標(biāo)計(jì)算出交點(diǎn)Phr、交點(diǎn)Pvr及頂點(diǎn)A的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr及交點(diǎn)Phr的 坐標(biāo)確定出區(qū)域R1,由拉動(dòng)點(diǎn)A、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)Phr、拉動(dòng) 點(diǎn)A、交點(diǎn)Pvr、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc及右上頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域S1,對該區(qū)域R1、該 區(qū)域R2及該區(qū)域S1內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其中,交點(diǎn)Pvr、交點(diǎn)Phr及頂點(diǎn)A坐標(biāo)的計(jì)算方 法如下: 1) 根據(jù)拉動(dòng)點(diǎn)PA1及點(diǎn)PA2的坐標(biāo)計(jì)算出拉動(dòng)點(diǎn)PA1與點(diǎn)PA2的距離dPAlPA2,并計(jì)算單 位矢量e 7^Hl_/dPA2PAl; 2) 設(shè)線段PA1PA2中點(diǎn)為點(diǎn)Pml,則線段PA2Pml的長度dPA2Pml為dPAlPA2的一半,則求出 矢量R42hti\ * d PA1PA2,從而求出點(diǎn)Pml的坐標(biāo); 3) 因?yàn)榫€段PA1PA2被直線PhrPvr垂直平分,固定點(diǎn)Pml,將矢量丨順時(shí)針旋轉(zhuǎn)90 度,獲得新矢量,并求解出點(diǎn)ΡΑ3的坐標(biāo),直線PA3Pml分別與直線PaPd及直線PaPb或 PbPc構(gòu)成交點(diǎn)Phr及交點(diǎn)Pvr; 4) 點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而PaPd直 線公式為y = Pa. y,直線PaPb公式為X = Pa. X,由此組成二元一次方程組求解出交點(diǎn)Phr及交 點(diǎn)Pvr的坐標(biāo); 5) 根據(jù)左上頂點(diǎn)Pa、交點(diǎn)Phr及交點(diǎn)Pvr的坐標(biāo)計(jì)算出頂點(diǎn)A的坐標(biāo); 當(dāng)交點(diǎn)Pvr的坐標(biāo)在左下頂點(diǎn)Pb與右下頂點(diǎn)Pc之間,即區(qū)域R1與區(qū)域R2呈直角梯形時(shí), 翻頁后產(chǎn)生一與左下頂點(diǎn)Pb相對的一點(diǎn)Pbl,左上頂點(diǎn)Pa、左下頂點(diǎn)Pb、右下頂點(diǎn)Pc、右上頂 點(diǎn)Pd、拉動(dòng)點(diǎn)PA 1及點(diǎn)PA2的坐標(biāo)已知,根據(jù)已知的坐標(biāo)計(jì)算出交點(diǎn)Phr、交點(diǎn)Pvr、點(diǎn)Pb 1及頂 點(diǎn)A的坐標(biāo),然后由左上頂點(diǎn)Pa、交點(diǎn)Pvr、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R1,由頂點(diǎn) A、點(diǎn)Pb 1、交點(diǎn)Pvr及交點(diǎn)Phr的坐標(biāo)確定出區(qū)域R2,由交點(diǎn)Phr、交點(diǎn)Pvr、右下頂點(diǎn)Pc及右上 頂點(diǎn)Pd的坐標(biāo)確定出區(qū)域S1,對該區(qū)域R1、該區(qū)域R2及該區(qū)域S1內(nèi)的書頁內(nèi)容進(jìn)行閱讀;其 中,交點(diǎn)Pvr、交點(diǎn)Phr、點(diǎn)Pbl及頂點(diǎn)A坐標(biāo)的計(jì)算方法如下: 1) 根據(jù)拉動(dòng)點(diǎn)PA1及點(diǎn)PA2的坐標(biāo)計(jì)算出拉動(dòng)點(diǎn)PA1與點(diǎn)PA2的距離dPAlPA2,并計(jì)算單 位矢量e PA2PA1= MM41/dPA2PAli 2) 設(shè)線段PA1PA2中點(diǎn)為點(diǎn)Pml,則線段PA2Pml的長度dPA2Pml為dPAlPA2的一半,則求出 矢量PA2Pm \ =e PA2PA 1 * d PA丨PA2,從而求出點(diǎn)Pml的坐標(biāo); 3) 因?yàn)榫€段PA1PA2被直線PhrPvr垂直平分,固定點(diǎn)Pml,將矢量/〕/彳2~丨順時(shí)針旋轉(zhuǎn)90 度,獲得新矢量以3/ 5^,并求解出點(diǎn)PA3的坐標(biāo),直線PA3Pml分別與直線PaPd及直線PaPb或 PbPc構(gòu)成交點(diǎn)Phr及交點(diǎn)Pvr; 4) 點(diǎn)Pml及點(diǎn)PA3的坐標(biāo)已知,根據(jù)直線公式y(tǒng) = kx+b,求得直線PmlPA3公式,而PaPd直 線公式為y = Pa. y,直線PaPb公式為X = Pa. X,由此組成二元一次方程組求解出交點(diǎn)Phr及交 點(diǎn)Pvr的坐標(biāo); 5) 交點(diǎn)Pvr為直線PA3Pml與直線PbPc的交點(diǎn),在求解出交點(diǎn)Pvr后,即可獲得矢量 馬^,固定交點(diǎn)Pvr,將該矢量逆時(shí)針旋轉(zhuǎn)ZPaPhrA度獲得的新矢量,由于線段 PbP vr和線段P vr Pb 1長度相等,而Z PaPhr Α和Z PbPvrPb 1相等,因此旋轉(zhuǎn)后的向量兩?等 于矢量,由此可計(jì)算出點(diǎn)Pbl的坐標(biāo); 6) 由于直線APbl與直線PvrPbl垂直,而線段PaPb與線段APbl長度相同,固定點(diǎn)Pbl,將 矢量Ρνν-Ρ/;丨向著頂點(diǎn)A方向旋轉(zhuǎn)90度,獲得新矢量/WlPvrl,求得單位矢量 €_辟1抑/4,從而 求得矢Μ? =e_兩^丨*dPblA=e^ *dPaPb,至此,頂點(diǎn)A的坐標(biāo)求出; 步驟501與步驟502沒有先后順序。4. 根據(jù)權(quán)利要求3所述的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在 于:所述步驟501或步驟502之后還包括: 步驟503、對區(qū)域R2與區(qū)域S1的集合路徑進(jìn)行進(jìn)一步處理,對線段PhrA進(jìn)行曲線化處 理,其處理方式是將交點(diǎn)Phr及頂點(diǎn)A代入二次貝塞爾曲線公式中,計(jì)算出一中間點(diǎn)P1,然后 繪制出交點(diǎn)Phr、頂點(diǎn)A及點(diǎn)P1三點(diǎn)組成的曲線;同理,對線段APvr進(jìn)行曲線化處理。5. 根據(jù)權(quán)利要求4所述的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在 于:所述步驟503之后還包括: 步驟504、在區(qū)域R1與區(qū)域R2的重合處添加陰影紋理,其添加方法是在線段PhrPvr兩側(cè) 設(shè)置陰影紋理區(qū)域RShl及陰影紋理區(qū)域RSh2,通過將區(qū)域PhrPvr向左右兩側(cè)分別平移dSh 后,獲得新直線PhrlPvrl及Phr2Phvr2,其與頁面邊緣存在交點(diǎn),求解這些交點(diǎn)即可獲得陰 影紋理區(qū)域RShl及陰影紋理RSh2的幾何路徑;將dSh設(shè)定為依賴于頁寬,即dSh的數(shù)值與頁 寬有關(guān),(^1! = 1^(?^,0〈1^1,從而使陰影紋理區(qū)域隨著頁面翻動(dòng)變化,將漸變顏色填充到相 應(yīng)的陰影紋理區(qū)域內(nèi)。6. 根據(jù)權(quán)利要求1所述的一種在電子設(shè)備上模擬文檔閱讀方式的實(shí)現(xiàn)方法,其特征在 于:所述步驟500中進(jìn)行翻頁的過程中有: 在電子設(shè)備上還設(shè)定有觸發(fā)點(diǎn),當(dāng)翻頁過程中觸碰到所述觸發(fā)點(diǎn)時(shí),就進(jìn)行自動(dòng)翻頁。
【文檔編號】G06F3/0483GK105955599SQ201610317035
【公開日】2016年9月21日
【申請日】2016年5月13日
【發(fā)明人】丁萬年, 洪文潔, 陳日良, 賀小陽
【申請人】銳達(dá)互動(dòng)科技股份有限公司