五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

三維斜拋運(yùn)動(dòng)定點(diǎn)打擊解算和unity實(shí)現(xiàn)

2023-05-18 20:43 作者:DeadCyber  | 我要投稿

思路概述

? ? 假設(shè)起點(diǎn)為source,目標(biāo)點(diǎn)為target,source以theta角度朝上拋出,求初速度M使得能夠正好落在target。

? ? 可以將問題分為2個(gè)部分。

????第1部分,求得“仰角”為theta的拋出方向ThrowDir。

????第2部分,解算求得初速度M。

????可以將運(yùn)動(dòng)劃分為2個(gè)部分。

????第1部分,從出發(fā)點(diǎn)開始到最高點(diǎn)結(jié)束。

????第2部分,從最高點(diǎn)開始到target結(jié)束。

拋射方向

我用chatGPT問的,然后改了一下bug。dir為target-source方向,angle為“仰角”


列關(guān)系式

設(shè)throwDir的xz平面分量大小為k1,垂直大小為k2。

設(shè)source和target的水平距離d1,垂直距離d2。

設(shè)h為第一階段垂直距離。

設(shè)第1階段用時(shí)t1,第2階段用時(shí)t2。

????關(guān)系1:t1*g=M*k2。因?yàn)橹皇苤亓?,垂直速度均勻降?

????關(guān)系2:h=M*k2*t-1/2*g*t^2。初中“公式”,其實(shí)是速度Mk2-gt積分來的。

????關(guān)系3:d2+h=1/2*g*t^2。同理初中“公式”,因?yàn)榈诙A段是從最高點(diǎn)0速度開始的。

????關(guān)系4:M*k1*(t1+t2) = d1。 水平方向是勻速運(yùn)動(dòng)。

公式見下圖,

由于貌似不能化簡(jiǎn)出簡(jiǎn)單方程,所以用二分法(我圖省事)解算方程。

以上圖波浪線的關(guān)系,也就是水平位移關(guān)系式做解方程f(x)=0。

即為f(M) = M*k1*(t1+t2) - d1 = 0,求零點(diǎn)。

f比較復(fù)雜:

整個(gè)變量初始化和解算:

二分法解方程代碼(設(shè)定了最多100000步,其實(shí)10來步error就<0.0001了):

迭代和終點(diǎn)問題

1.必須使用FixedUpdate

2.必須先speed+=a*dt,其次pos+=speed*dt

3.由于到終點(diǎn)速度過快,無法完全對(duì)準(zhǔn):


由于我的需求是完全對(duì)準(zhǔn),所以就硬set過去了,這點(diǎn)誤差對(duì)我的項(xiàng)目來說可以接受:

結(jié)束。

三維斜拋運(yùn)動(dòng)定點(diǎn)打擊解算和unity實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阿巴嘎旗| 偏关县| 桑植县| 和田市| 股票| 盐源县| 石阡县| 项城市| 修水县| 柳河县| 疏勒县| 洛阳市| 霍林郭勒市| 凤阳县| 平谷区| 天柱县| 焦作市| 晋中市| 大理市| 怀宁县| 洛浦县| 杭锦旗| 紫金县| 滁州市| 闽侯县| 泾川县| 讷河市| 安吉县| 天全县| 西乌珠穆沁旗| 西贡区| 治县。| 板桥市| 仙居县| 施秉县| 遵义县| 任丘市| 依安县| 忻州市| 明溪县| 元江|