社区
C语言
帖子详情
如何转换设备坐标(左上角为原点)为数学常用的习惯坐标,既左下角为原点
chinabull
2002-09-03 09:38:07
如何转换设备坐标(左上角为原点)为数学常用的习惯坐标,既左下角为原点,我混淆了许多的东西。有谁愿意帮帮我?谢谢
...全文
463
8
打赏
收藏
如何转换设备坐标(左上角为原点)为数学常用的习惯坐标,既左下角为原点
如何转换设备坐标(左上角为原点)为数学常用的习惯坐标,既左下角为原点,我混淆了许多的东西。有谁愿意帮帮我?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kx-gaowei
2002-09-29
打赏
举报
回复
楼上所言极是,虚心接受。
alexxing
2002-09-04
打赏
举报
回复
楼上的不对,不仅仅是平移,而且符号其实是反的
简单地说是: (x,y) -> (x,h-y)
但考虑到比例就不能这么简单了,必须有个完整的模型
kx-gaowei
2002-09-04
打赏
举报
回复
屏幕坐标原点 *--------|------------|--
| | |
| | |
|--------* 点P (x,y) | h
| | |
数学坐标原点 *--------|------------|--
可以看出将屏幕坐标转换到数学坐标,实际上就是把原点垂直下移了h的距离.
若p的屏幕坐标为(x,y)
如图可知其数学坐标 为(x,y+h)
在其他象限也都是一样的情况.
alexxing
2002-09-04
打赏
举报
回复
你的屏幕坐标系肯定在一个矩形里吧,假设为
struct TScreenRect {
int left, top, right, bottom; //这四个应该知道啥意思吧?
} ScreenRect;
你的数学坐标系也应该是一个矩形范围(不光有原点的问题,还有坐标比例的问题呢,这两者分不开的):
struct TMathRect {
double xo, yo, xmax, ymax;
} MathRect;
现在你想,将两个矩形互相对应
(xo, yo) <==> (left, bottom) //不是 (left, top)
(xmax, ymax) <==> (right, top) //不是 (right, bottom)
所谓坐标系变换,就是将两个坐标系的任意点对应起来:
假设屏幕点为
struct TScreenPoint {
int x, y;
};
数学点为
struct TMathPoint {
double x, y;
};
那么 TScreenPoint -> TMathPoint 的变换公式为:
...
TMathPoint -> TScreenPoint 的变换公式为:
...
我已经帮你把思路理清了,具体公式,学过中学解析几何的就应该能推出来,你自己锻炼吧,我不想剥夺你解决问题后的成就感
chinabull
2002-09-03
打赏
举报
回复
但是我还要读鼠标的坐标的。我觉得是不是仅仅用平移能行吗?
网络咖啡
2002-09-03
打赏
举报
回复
记得Y坐标要倒置,y=-y
chinabull
2002-09-03
打赏
举报
回复
我是这方面的菜鸟,能具体说说吗/十分感谢!
网络咖啡
2002-09-03
打赏
举报
回复
原点平移,很简单的
将canvas中
左上角
的
原点
坐标
位置改为
左下角
在使用canvas的时候,
原点
坐标
在
左上角
,这个很犯人,因为一般的
坐标
基本都是在
左下角
,即笛卡尔
坐标
系,那怎么进行转变呢,在这里用到了canvas的translate,rotate,和scale进行
转换
,话不多说,上代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" ...
QT
坐标
系
转换
(将QPainter
左上角
为
原点
的
坐标
系
转换
为正常
坐标
系)
没有复杂的变换,简单转化窗口
坐标
系,即可按我们正常熟知的
坐标
系进行绘图 QPainter
坐标
系以
左上角
为
原点
,如下图 在这样的
坐标
系下绘图,位置这是倒过来的 QPainter m_pPainter(this); m_pPainter.setBrush(Qt::yellow); m_pPainter.drawRect(0, 0, 50, 50); m_pPainter.translate(100, 100); //将点(100,100)设为
原点
m_pPainter...
将plt
坐标
原点
从左下
转换
为左上
用plt画图的时候,默认
坐标
原点
是
左下角
,画图时往往不方便。使用下列语句,即可实现
原点
转换
为
左上角
。 plt.gca().invert_yaxis()
OpenGL中关于
坐标
系
原点
在
左上角
还是
左下角
的一些整理
各轴之间的顺序要求符合右手法则,即以右手握住Z轴,让右手的四指从X轴的正向以90度的直角转向Y轴的正向,这时大拇指所指的方向就是Z轴的正向.这样的三个
坐标
轴构成的
坐标
系称为右手空间直角
坐标
系.与之相对应的是左手空间直角
坐标
系。 1.OPENGL
设备
坐标
系(dns)是左手
坐标
系,屏幕
坐标
系
原点
在
左下角
向上向右增加 OPENGL屏幕
坐标
系
原点
在
左下角
向上向右增加,D3D屏幕
坐标
系
原点
在
左上角
向下向右增...
android 顶点
坐标
原点
,1. Android
坐标
系在Android中,将屏幕的最
左上角
顶点作为Android
坐标
系的
原点
从
原点
向右是X轴的正方向,从
原点
向下是Y轴的正方向Vie...
1. Android
坐标
系在Android中,将屏幕的最
左上角
顶点作为Android
坐标
系的
原点
从
原点
向右是X轴的正方向,从
原点
向下是Y轴的正方向View提供了getLocationOnScreen( int[] location)方法来获取在整个屏幕内的绝对
坐标
,该
坐标
值为View
左上角
的
坐标
。注意该View的
坐标
值是从屏幕
左上角
开始获取的,所以也包括了通知栏的高度该方法的具体实现/*** Co...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章