windows程序设计第五版 GDI映像方式的问题
设备坐标和逻辑坐标的转换公式
xViewport = (xWindow - xWinOrg) × Kx + xViewOrg
xWindow是要转换的逻辑坐标 xWinOrg是逻辑原点 kx是设备和逻辑范围比 xViewOrg是设备原点
这个公式怎么理解?
首先两个原点的坐标是以谁为参照的坐标?(没参照应该都是0了)
从公式中(xWindow - xWinOrg) × Kx猜测逻辑原点应该是逻辑坐标的吧 那不是始终为0吗 还要这一项有什么意义?
还有最后不是应该减去xViewOrg吗 为什么是加?
画了个草图 设备坐标系就是显示区域 逻辑原点设在显示区域中央 假设对于逻辑原点右边一点,xWindow是个正值 (xWindow - xWinOrg) × Kx是这一点相对于原点的设备x坐标 但是xViewOrg这时候应该是个负数吧 这时候设备原点相对于逻辑原点的坐标应该是(-cxClient/2,-cyClient) 就是说xViewOrg应该等于-cxClient/2吧?我怎么看都是减去这个值等于加上xViewOrg的绝对值这样才对嘛
正好得到的是这一点相对于设备原点的x坐标 为什么是加呢?