-- 向某个方向移动
function VectorHelper.MoveDistance(rt, loc, dis)
-- 将角度转换为弧度
local yaw_rad = math.rad(rt.Yaw)
local pitch_rad = math.rad(rt.Pitch)
-- 计算方向向量(单位向量)
local forward_x = math.cos(yaw_rad) * math.cos(pitch_rad)
local forward_y = math.sin(yaw_rad) * math.cos(pitch_rad)
local forward_z = math.sin(pitch_rad)
-- 归一化方向向量
local length = math.sqrt(forward_x * forward_x + forward_y * forward_y + forward_z * forward_z)
forward_x = forward_x / length
forward_y = forward_y / length
forward_z = forward_z / length
-- 移动距离,单位:米
local location = {
X = loc.X + dis * forward_x,
Y = loc.Y + dis * forward_y,
Z = loc.Z + dis * forward_z
}
return location
end
lua 实现三维中{坐标点}向某个方向移动指定距离
于 2024-05-19 17:22:20 首次发布