将 X 坐标从一种分辨率转换为另一种分辨率
Convert X Coordinate from one Resolution to another
通常我会这样做以从一种分辨率转换为另一种分辨率:
int newX = (x / oldResolutionX) * newResolutionX;
但是这次我不能使用它,我无法理解数学(从来没有真正擅长数学,请原谅我(。无论如何,我的分辨率是 1280x720,我想将像 (720/360( 这样的点转换为: 新分辨率的图片
宽度是 854,高度是 720,所以我不必对 y 坐标进行转换。但这是(对我来说(棘手的部分:0 不是实际的 0。X 从 -107 开始,到 747 结束。你们能向我解释一下如何将 (720/360( 从 1280x1280 转换为此分辨率吗?提前感谢,很抱歉数学不好...
因此,您需要从 [0...1280] 到 [-107...747] 的线性映射,保持 y 不变。
int newX = (int)((x / 1280.0) * 854.0) -107
那么,这里发生了什么?
- x 将在 0 到 1280 之间变化。
- 如果 x == 0:(0/1280( * 854 将为 0,结果等于 -107。 如果 x == 1280:(1280
- /1280( * 854 = 854:结果将为 747
一些评论:
.0
用于强制使用浮点类型。(int)
是将其转换回整数
相关文章:
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 有没有一种方法可以在编译时获得作用域类名
- 对于C++中使用智能指针的指针算术限制,有没有一种变通方法
- 一种在C++中读取TXT配置文件的简单方法
- 有没有一种方法可以测量c++程序的运行时内存使用情况
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 在调用接收数组的方法时,模板化数组大小是不是一种糟糕的做法
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 有没有一种"cleaner"的方法可以在指向基的指针向量中找到派生类的第一个实例?
- 有没有一种代码密度较低的方法来使用非默认构造函数初始化数组?
- 将错误返回给调用方而不是立即在 C++ 中抛出错误是否是一种好的做法
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 有没有一种优雅而快速的方法来测试整数中的 1 位是否位于连续区域
- 在运行时检查继承是否只有一种类型和 void*
- C++ STD 函数运算符:有没有一种方法可以通过函数将一个向量映射到另一个向量上?
- 找到一种有效的方法,在 2 个巨大的缓冲区上执行 MAX,每字节字节
- 将 X 坐标从一种分辨率转换为另一种分辨率
- ADL与范围分辨率——更喜欢哪一种