6、倾斜摄影的osgb数据坐标和虚幻引擎的世界坐标的互转

1、首先明确一点,倾斜摄影的osgb文件内包含的数据都是局部坐标系下的坐标,而这个局部坐标系的原点会在倾斜摄影数据的配置文件中标明(一般是在Data文件夹同级别目录下的metatdata.xml文件中)

2、局部坐标系下的转换

局部坐标系下的坐标转换就是直接将osgb的顶点坐标转换为虚幻的坐标,但是两者都是在局部坐标下下的坐标,不同的是前者是osg引擎中的局部坐标系,后者是虚幻引擎的局部坐标。

c 复制代码
//虚幻坐标转osg坐标
auto ConvertUECoordinate2OSGCoordinate = [](FVector point) {
	//虚幻坐标系的单位是厘米,但是osg的单位是米
	double X = point.X / 100.0;
	//虚幻坐标系的y轴和osg的y轴是相反的
	double Y = -point.Y / 100.0;
	double Z = point.Z / 100.0;
	return osg::Vec3f(X, Y, Z);
	};
//osg坐标转虚幻坐标
auto ConvertOSGCoordinate2UECoordinate = [](osg::Vec3f point) {
    double X = point.x() * 100.0;
    double Y = -point.y() * 100.0;
    double Z = point.z() * 100.0;
    return FVector(X, Y, Z);
};

3、世界坐标系下的转换

借助前面的方法已经得到了虚幻或osg的局部坐标下的坐标,同理,只要将局部坐标系的坐标原点(其在某个引擎的世界坐标系下的坐标)也转换到osg或虚幻引擎的坐标,即得到转换后的坐标原点(在另一个引擎的世界坐标下下的坐标),坐标原点+转换后的局部坐标=最终的转换后的世界坐标。

当然也可以在转换前就计算好osg或虚幻引擎的世界坐标,借助前面的方法得到虚幻或osg引擎的世界坐标。

相关推荐
政企项目老覃12 分钟前
大模型幻觉治理与自动评测:金融风控场景的落地实践
人工智能·算法·机器学习
淡海水26 分钟前
08-03-不可变-ImmutableDictionary-TKey-TValue-与ImmutableHashSet-T-持久化哈希树
数据结构·算法·c#·哈希算法·dictionary·immutable
hansang_IR30 分钟前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
洛阳纸贵1 小时前
MATLAB-matlab基础知识
学习·算法·matlab
落羽的落羽1 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
Nil2081 小时前
leetcode 17电话号码的字母组合
算法·leetcode·职场和发展
203号居民3 小时前
LeetCode hot 100 — 25. K 个一组翻转链表
算法·leetcode·链表
ocean21034 小时前
2025-2026年AI算法与模型研发面试高频知识点洞察
人工智能·算法·面试
Nil2084 小时前
leetcode 78子集
数据结构·算法·leetcode
en.en..5 小时前
Linux fork() 工作原理
数据结构·算法