亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        快速移動(dòng)目標(biāo)的瞄準(zhǔn)算法和程序?qū)崿F(xiàn)

        2016-10-10 03:14:43謝吉?jiǎng)?/span>
        電子測(cè)試 2016年17期
        關(guān)鍵詞:拋物線(xiàn)飛機(jī)游戲

        謝吉?jiǎng)?/p>

        (南京工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與軟件學(xué)院,江蘇南京,210023)

        快速移動(dòng)目標(biāo)的瞄準(zhǔn)算法和程序?qū)崿F(xiàn)

        謝吉?jiǎng)?/p>

        (南京工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與軟件學(xué)院,江蘇南京,210023)

        在塔防游戲中,對(duì)于飛機(jī)等快速移動(dòng)且距離較遠(yuǎn)的目標(biāo),火炮直接向目標(biāo)射擊是不可能命中的。本文在分析炮彈和飛機(jī)的運(yùn)動(dòng)情況的基礎(chǔ)上,提出逐次迭代逼近的方法求解命中點(diǎn),并將世界坐標(biāo)系轉(zhuǎn)換到火炮坐標(biāo)系以簡(jiǎn)化求解過(guò)程,使火炮能夠快速指向命中點(diǎn),最后文章給出了主要的程序?qū)崿F(xiàn)步驟。

        瞄準(zhǔn);迭代;坐標(biāo)變換

        在一般塔防游戲中,常有大炮跟隨目標(biāo)自動(dòng)瞄準(zhǔn)的設(shè)計(jì)。在Unity中有l(wèi)ook at腳本,即火炮始終指向目標(biāo),開(kāi)火時(shí)直接朝目標(biāo)點(diǎn)射擊。該腳本在地面近距離、目標(biāo)移動(dòng)速度慢時(shí)有很高的命中率。但是如果是模擬飛行射擊游戲,由于飛機(jī)飛行速度快,大炮與飛機(jī)距離比較遠(yuǎn),重力影響也比較大,這時(shí)就很難命中目標(biāo),需要對(duì)瞄準(zhǔn)程序進(jìn)行改寫(xiě)。下面以飛機(jī)作勻速直線(xiàn)運(yùn)動(dòng)為前提,具體討論該問(wèn)題的處理方法。

        1 飛機(jī)和炮彈的運(yùn)動(dòng)情況

        如圖1,火炮位置為T(mén),飛機(jī)初始位置為P已知,H為預(yù)計(jì)命中點(diǎn)。飛機(jī)飛行方向和飛行速度vP已知,炮彈出膛速度vT已知,這時(shí)炮彈將會(huì)作拋物線(xiàn)運(yùn)動(dòng)。

        此時(shí)飛機(jī)的運(yùn)動(dòng)方程為:

        xP=xP0+vPxt

        yP=yP0+vPyt

        zP=zP0+vPzt

        炮彈的運(yùn)動(dòng)方程為:

        xT=xT0+vTxt

        yp=yT0+vTyt-

        zp=zT0+vTzt

        其中g(shù)為重力加速度,t為飛行時(shí)間。

        圖 1 飛機(jī)和炮彈的運(yùn)動(dòng)示意圖

        2 算法設(shè)計(jì)

        這是個(gè)非齊次非線(xiàn)性隱含微分方程組,用常規(guī)的迭代逼近求解,迭代的過(guò)程大致思路如下:首先預(yù)測(cè)一個(gè)可能得命中位置,一般可以選飛機(jī)的初始位置為第一個(gè)預(yù)測(cè)命中位置,計(jì)算炮彈飛到該位置的時(shí)間t和發(fā)射角θ。根據(jù)該時(shí)間計(jì)算飛機(jī)在該時(shí)刻的實(shí)際位置,然后以該位置作為第二次的預(yù)測(cè)值再次計(jì)算,以此使炮彈落點(diǎn)不斷逼近飛機(jī)位置,直到兩者差距小于某一個(gè)特定值。該算法流程圖如圖2。

        圖 2 算法流程圖

        考慮到拋物線(xiàn)本身是一個(gè)2D曲線(xiàn),做一個(gè)坐標(biāo)變換,每一次迭代將世界坐標(biāo)系將變換為以火炮位置為原點(diǎn),x軸正向指向預(yù)測(cè)命中點(diǎn)的火炮坐標(biāo)系,即可將問(wèn)題簡(jiǎn)化為只考慮X,Y方向的2D問(wèn)題。發(fā)射角只要計(jì)算火炮與x軸的夾角θ,待算出最后結(jié)果后再轉(zhuǎn)換回世界坐標(biāo)系即可。如圖3,虛線(xiàn)描述的是火炮坐標(biāo)系,實(shí)線(xiàn)為世界坐標(biāo)系。

        圖 3 坐標(biāo)變換圖

        變換后的拋物線(xiàn)方程可以改寫(xiě)為:

        代入后得出

        求解得出:

        這樣發(fā)射角θ就可以通過(guò)預(yù)測(cè)的落點(diǎn)坐標(biāo)、炮彈初速度、重力加速度g來(lái)求出。

        3 實(shí)現(xiàn)方法

        下面例舉出炮彈實(shí)例的生成和坐標(biāo)變換的主要代碼。具體實(shí)現(xiàn)過(guò)程主要是數(shù)學(xué)公式的實(shí)現(xiàn),此處從略。

        3.1生成炮彈實(shí)例

        首先在Unity中制作預(yù)制剛體——炮彈,命名為shell_ prb。如果方程有解,也就是炮彈可能命中的情況下生成該實(shí)例。

        if(hitPoint != Vector3.zero){

        GameObject obj = (GameObject)Instantiate(shell_ prb,gun.transform.position,Quaternion. LookRotation(hitPoint));

        3.2坐標(biāo)變換

        構(gòu)造一個(gè)以炮塔為原點(diǎn),以重力方向?yàn)?y軸 以炮塔正前方為X軸的標(biāo)準(zhǔn)拋物線(xiàn)2D坐標(biāo)系,再構(gòu)造從世界坐標(biāo)到炮塔坐標(biāo)的旋轉(zhuǎn)矩陣,最后計(jì)算相對(duì)坐標(biāo)差,再旋轉(zhuǎn)到炮塔當(dāng)前坐標(biāo),完成世界坐標(biāo)系到火炮坐標(biāo)系的變換。

        Vector3 gunDirection = new Vector3(hitPoint. x,gunPosition.y,hitPoint.z) - gunPosition;

        Quaternion gunRotation = Quaternion.FromToRatation(gunDirection,Vector3.forward);

        Vector3 localHitPoint = gunRotation * (hitPoint -gunPosition);

        float V = gunVelocity;

        float X = localHitPoint.z;

        float Y = localHitPoint.y;

        4 結(jié)束語(yǔ)

        實(shí)驗(yàn)表明,本算法在幾千米范圍以?xún)?nèi)的飛機(jī),飛行速度在幾百千米每小時(shí),炮彈出膛速度在幾百米每秒,命中精度10m以?xún)?nèi)的前提下,基本上4-6次迭代以?xún)?nèi)可以完成,能夠達(dá)到應(yīng)有的響應(yīng)速度,另外如果采用無(wú)重力情況下的直線(xiàn)彈道計(jì)算出來(lái)的命中點(diǎn)為首次預(yù)測(cè)點(diǎn),能夠使迭代效率更高。在此基礎(chǔ)上如果再考慮進(jìn)空氣阻力、飛機(jī)的變速飛行等因素的影響,就可以簡(jiǎn)單的實(shí)現(xiàn)軍事仿真系統(tǒng)。

        [1] 宣雨松. Unity 3D游戲開(kāi)發(fā)[M]. 北京:人民郵電出版社2012,6: 176-178

        [2] 劉光然. 虛擬現(xiàn)實(shí)技術(shù)[M] . 北京:清華大學(xué)出版社2011,1:22-24

        [3] 同濟(jì)大學(xué)數(shù)學(xué)系. 高等數(shù)學(xué)[M]. 北京:高等教育出版社2007,4:323-325

        [4] Michelle Menard(美)著 史曉明,李強(qiáng) 譯. Unity游戲開(kāi)發(fā)實(shí)戰(zhàn)[M]. 北京:機(jī)械工業(yè)出版社 2012,4:89-90

        Realization of Algorithm and Program to Aim at the Quickly-moving Object

        Xie Jigang
        (Nanjing Institute of Industry Technology,Nanjing 210023,China)

        In tower defense game,it’s impossible for the artillery to hit directly the objects which are moving quickly and in faraway distance such as aircraft.Based on the analysis of artillery and aircraft movement,the article put forward the method of successive iteration approximation to get the impact point,as well as the transformation from the world coordinate system to artillery coordinate system to simplify the solution process.Using this method,the artillery can quickly point to the impact point.This article also gives the implementation steps of main programs.

        aim at;iteration;coordinate transformation

        謝吉?jiǎng)偅?975-),男,四川內(nèi)江人,南京工業(yè)職業(yè)技術(shù)學(xué)院,副教授,理學(xué)碩士。主要研究方向:計(jì)算機(jī)多媒體技術(shù)。

        基于Unity 3D的角色扮演游戲設(shè)計(jì)與開(kāi)發(fā),南京工業(yè)職業(yè)技術(shù)學(xué)院2014年度重點(diǎn)科研課題(編號(hào): YK14-04-06)

        猜你喜歡
        拋物線(xiàn)飛機(jī)游戲
        選用合適的方法,求拋物線(xiàn)的方程
        飛機(jī)失蹤
        巧求拋物線(xiàn)解析式
        “拼座飛機(jī)”迎風(fēng)飛揚(yáng)
        乘坐飛機(jī)
        拋物線(xiàn)變換出來(lái)的精彩
        玩轉(zhuǎn)拋物線(xiàn)
        數(shù)獨(dú)游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        神奇飛機(jī)變變變
        亚洲成av人在线观看网址| 无码国内精品久久人妻| 日日摸日日碰人妻无码| 97在线观看| 久久中文精品无码中文字幕| 狠狠久久亚洲欧美专区| 含羞草亚洲AV无码久久精品| 亚洲av影院一区二区三区四区| 亚洲av日韩av一卡二卡| 中文字幕人妻久久一区二区三区| 久久精品国产熟女亚洲| 帮老师解开蕾丝奶罩吸乳视频| 国产乱子乱人伦电影在线观看| 国产精品玖玖玖在线资源| 中文字幕av一区二区三区诱惑| 香蕉久久一区二区不卡无毒影院| 男男受被攻做哭娇喘声视频| 日批视频免费在线观看| 亚洲一区二区视频免费看| 亚洲激情综合中文字幕| 无码毛片内射白浆视频| 狠狠躁日日躁夜夜躁2020| 国产美女遭强高潮网站| 久久99精品久久久久久齐齐百度| 国产亚洲AV片a区二区| 男女啪啪在线视频网站| 艳z门照片无码av| 欧美一片二片午夜福利在线快| 在线观看亚洲精品国产| 少妇被躁到高潮和人狍大战| 日本真人边吃奶边做爽电影| 久久国内精品自在自线图片| 最新亚洲av日韩av二区| 新久久久高清黄色国产| 日本国产一区二区在线| 中文字幕精品一区二区精品| 丰满岳妇乱一区二区三区| 亚洲欧美偷拍视频| 亚洲视频综合在线第一页| 寂寞人妻渴望被中出中文字幕| 欧美熟妇性xxx交潮喷|