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
神奇飛機變變變
主站蜘蛛池模板: 免费国产小视频在线观看| 亚洲成综合人影院在院播放| 狠狠久久综合伊人不卡| 拍国产真实乱人偷精品| 午夜福利免费视频| 福利小视频在线播放| 国产精品美女免费视频大全| 成年人免费国产视频| 色精品视频| 亚洲欧美日韩成人在线| 毛片网站观看| 57pao国产成视频免费播放 | 71pao成人国产永久免费视频 | 久久久久久久久久国产精品| 亚洲成a人在线观看| 东京热av无码电影一区二区| 中美日韩在线网免费毛片视频| 少妇精品久久久一区二区三区| 欧美一级爱操视频| 国产日韩欧美中文| 国产精品午夜电影| 亚洲无码免费黄色网址| 亚洲视频免| 国产成熟女人性满足视频| 日本精品视频| 亚洲成综合人影院在院播放| 全部毛片免费看| 欧美一区福利| 国产精品99久久久| 四虎影视无码永久免费观看| 在线精品亚洲一区二区古装| 日韩国产欧美精品在线| 久久毛片基地| 欧美成a人片在线观看| 91欧美在线| 午夜欧美在线| 国产精品林美惠子在线观看| 不卡色老大久久综合网| 久久鸭综合久久国产| 国产区免费| 免费毛片全部不收费的| 四虎成人精品| 九九香蕉视频| 996免费视频国产在线播放| 91网站国产| 乱人伦视频中文字幕在线| 奇米精品一区二区三区在线观看| 久久综合丝袜日本网| 九色综合视频网| 国内精自线i品一区202| 欧美亚洲第一页| 97久久超碰极品视觉盛宴| 69视频国产| 色香蕉网站| 午夜a视频| 无码国产偷倩在线播放老年人| 2021精品国产自在现线看| 国产va在线观看| 最新国产麻豆aⅴ精品无| 蝴蝶伊人久久中文娱乐网| 超级碰免费视频91| 国产精品无码AV片在线观看播放| 国产成人一区在线播放| 性欧美在线| 国产在线观看91精品| 免费A∨中文乱码专区| 一本视频精品中文字幕| 日韩无码真实干出血视频| 毛片视频网址| 精品精品国产高清A毛片| 国产成人盗摄精品| 精品精品国产高清A毛片| 国产丝袜精品| 亚洲国产欧美目韩成人综合| 一级毛片在线直接观看| 好久久免费视频高清| 亚洲高清无码久久久| 日本在线免费网站| 亚洲国产日韩欧美在线| 中文国产成人久久精品小说| 草逼视频国产| 国产日韩AV高潮在线|