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

快速移動目標的瞄準算法和程序?qū)崿F(xiàn)

2016-10-10 03:14:43謝吉剛
電子測試 2016年17期
關(guān)鍵詞:拋物線飛機游戲

謝吉剛

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

快速移動目標的瞄準算法和程序?qū)崿F(xiàn)

謝吉剛

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

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

瞄準;迭代;坐標變換

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

1 飛機和炮彈的運動情況

如圖1,火炮位置為T,飛機初始位置為P已知,H為預(yù)計命中點。飛機飛行方向和飛行速度vP已知,炮彈出膛速度vT已知,這時炮彈將會作拋物線運動。

此時飛機的運動方程為:

xP=xP0+vPxt

yP=yP0+vPyt

zP=zP0+vPzt

炮彈的運動方程為:

xT=xT0+vTxt

yp=yT0+vTyt-

zp=zT0+vTzt

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

圖 1 飛機和炮彈的運動示意圖

2 算法設(shè)計

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

圖 2 算法流程圖

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

圖 3 坐標變換圖

變換后的拋物線方程可以改寫為:

代入后得出

求解得出:

這樣發(fā)射角θ就可以通過預(yù)測的落點坐標、炮彈初速度、重力加速度g來求出。

3 實現(xiàn)方法

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

3.1生成炮彈實例

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

if(hitPoint != Vector3.zero){

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

3.2坐標變換

構(gòu)造一個以炮塔為原點,以重力方向為-y軸 以炮塔正前方為X軸的標準拋物線2D坐標系,再構(gòu)造從世界坐標到炮塔坐標的旋轉(zhuǎn)矩陣,最后計算相對坐標差,再旋轉(zhuǎn)到炮塔當前坐標,完成世界坐標系到火炮坐標系的變換。

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é)束語

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

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

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

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

[4] Michelle Menard(美)著 史曉明,李強 譯. Unity游戲開發(fā)實戰(zhàn)[M]. 北京:機械工業(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

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

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

猜你喜歡
拋物線飛機游戲
選用合適的方法,求拋物線的方程
飛機失蹤
巧求拋物線解析式
“拼座飛機”迎風(fēng)飛揚
當代陜西(2019年11期)2019-06-24 03:40:28
乘坐飛機
拋物線變換出來的精彩
玩轉(zhuǎn)拋物線
數(shù)獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
神奇飛機變變變
主站蜘蛛池模板: 久久人与动人物A级毛片| 日韩黄色大片免费看| 97视频精品全国在线观看| 高清无码手机在线观看| 成人国产免费| 久久久无码人妻精品无码| 国产美女精品在线| 91啪在线| AV天堂资源福利在线观看| 国产又粗又爽视频| 欧美国产日韩在线播放| 国产欧美专区在线观看| 激情综合图区| 国产美女在线免费观看| 亚洲精品自拍区在线观看| 国产欧美日韩另类| 露脸国产精品自产在线播| 蜜桃视频一区| 91无码网站| 高清不卡毛片| 国产一区二区人大臿蕉香蕉| 亚洲综合天堂网| 亚洲AⅤ综合在线欧美一区| 国产尤物在线播放| 中文字幕亚洲精品2页| 无遮挡一级毛片呦女视频| 国产永久免费视频m3u8| 国产av剧情无码精品色午夜| 国产精品成人观看视频国产| 国产综合欧美| 国产女同自拍视频| 免费在线观看av| 亚洲精品片911| 无码粉嫩虎白一线天在线观看| 国产免费一级精品视频| 国产大片喷水在线在线视频| 午夜少妇精品视频小电影| 免费黄色国产视频| 亚洲综合九九| 国产精品一区二区久久精品无码| 亚洲综合激情另类专区| 制服丝袜一区二区三区在线| 国产精品视频3p| 亚卅精品无码久久毛片乌克兰| 亚洲男人的天堂在线观看| 一级一级一片免费| 亚洲成综合人影院在院播放| 国产精品无码作爱| 狠狠ⅴ日韩v欧美v天堂| 丰满人妻久久中文字幕| 国产菊爆视频在线观看| 成人精品区| 在线观看网站国产| 97国内精品久久久久不卡| 日韩专区第一页| 亚洲精品爱草草视频在线| 国产香蕉国产精品偷在线观看| 国产成人综合久久精品尤物| 亚洲va欧美ⅴa国产va影院| 97青草最新免费精品视频| 秋霞午夜国产精品成人片| 无码粉嫩虎白一线天在线观看| 片在线无码观看| 欧美日本视频在线观看| 2022精品国偷自产免费观看| 老色鬼欧美精品| 99久久99视频| 免费在线a视频| 色婷婷电影网| 91小视频在线观看| 久操线在视频在线观看| 久久综合色88| 久久成人免费| 亚洲国产清纯| 欧美 亚洲 日韩 国产| 中文无码毛片又爽又刺激| 91丝袜美腿高跟国产极品老师| 国产一级毛片yw| 欧美性爱精品一区二区三区| 国产交换配偶在线视频| 麻豆精品在线视频| 国产av无码日韩av无码网站|