Matrix矩阵连接变换应用的一个错误

RectF rf = new RectF(100, 100, 300, 300);
Matrix m = new Matrix();
float centerX = 500;
float centerY = 500;
float scale = 1.5f;
m.preScale(scale, scale);
m.mapRect(rf);
float cx = rf.centerX();
float cy = rf.centerY();
m.postTranslate(centerX - cx, centerY -cy);
//m.setTranslate(centerX - cx, centerY - cy);
m.mapRect(rf);

上面这段代码目的是对原矩形以指定点(500,500)坐缩放,使用postTranslate怎么也得不到正确的值,但是使用setTranslate之后结果正确。

原因:第一次mapRect为了得到原点缩放的中心已经对rf作了变换。而postTranslate是一个连接操作,所以整个过程的矩阵变换为:preScale -> preScale -> postTranslate,相当于对原矩形作了两次preScale操作。

时间: 2024-10-15 10:11:54

Matrix矩阵连接变换应用的一个错误的相关文章

MapGuide GIS系统求助,用FDO连接SDF文件报一个错误,几天都没找到解决办法

到目前网上有关GIS系统资料很少,而WebGIS这块,不各道大家都用什么,我这里用的是MapGuide 做GIS的显现,后台用的MapWindow 做图层,及管道网的搭建,这是将用页面显示的地理管道信息, 现在碰到一个问题:  用FDO连接SDF文件报一个错误,求助一些GIS高手们, 整理效果是这样的,在这里也将会在博客上发一些有关GIS系统项目中相关技术点,及问题点文章,给大家 1.1.1. FDO的数据结构 Feature(要素): 要素是对现实世界物体的抽象.一个要素直接或间接的关联地理位

windows Server 2012/2016 路由和远程访问,PPPOE,ADSL,连接接口时出现一个错误,连接被远程计算机终止

经过查询资料,是由mprddm.dll的bug引起的. 修改位置: 将je修改为jmp. 查找修改位置,可参考 前面的RasGetPortUserData的调用,或者 后面的 字符串 64位dll可使用x64dbg修改.与od非常相似. 附上补丁好的: 系统版本 windows server 2016 1607(内部版本号:14393.1884) 文件版本:10.0.14393.1198 系统IOS文件名:cn_windows_server_2016_updated_feb_2018_x64_d

矩阵及其变换、特征值与特征向量的物理意义

矩阵及其变换.特征值与特征向量的物理意义 最近在做聚类的时候用到了主成分分析PCA技术,里面涉及一些关于矩阵特征值和特征向量的内容,在网上找到一篇对特征向量及其物理意义说明较好的文章,整理下来,分享一下. 一.矩阵基础[1]: 矩阵是一个表示二维空间的数组,矩阵可以看做是一个变换.在线性代数中,矩阵可以把一个向量变换到另一个位置,或者说从一个坐标系变换到另一个坐标系.矩阵的“基”,实际就是变换时所用的坐标系.而所谓的相似矩阵(),就是同样的变换,只不过使用了不同的坐标系.线性代数中的相似矩阵实际

socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。

出错的代码 #server端 import socket import struct sk=socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr=sk.accept() str_len1=struct.unpack('i',conn.recv(4))[0] print(sk.recv(str_len1)) str_len2=struct.unpack('i',conn.recv(4))[0] print(sk.recv

理解CSS3 transform中的Matrix(矩阵)

一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵)”的时候,难免会心生畏惧(即使你已经学过),正常心理.实际上,这玩意确实有点复杂. 然而,这却是屌丝逆袭的一个好机会. CSS同行间:你是不是有这样的感觉:哎呀呀,每天就是对着设计图切页面,貌似技术没有得到实质性地提升啊,或者觉得日后高度有限! 我们应该都知道二八法则(巴莱多定律),即任何一组东西中

css3 transform中的matrix矩阵

CSS3中的矩阵CSS3中的矩阵指的是一个方法,书写为matrix()和matrix3d(),前者是元素2D平面的移动变换(transform),后者则是3D变换.2D变换矩阵为3*3, 如上面矩阵示意图:3D变换则是4*4的矩阵. 有些迷糊?恩,我也觉得上面讲述有些不合时宜.那好,我们先看看其他东西,层层渐进——transform属性. 具体关于transform属性具体内容可以点击这里补个课.稍微熟悉的人都知道,transform中有这么几个属性方法: .trans_skew { trans

Android Matrix矩阵详解

Android中有两个比较重要的矩阵,ColorMatrix和Matrix.ColorMatrix用来改变bitmap的颜色和透明度,Matrix用来对bitmap平移.缩放.错切. ColorMatrix(色彩矩阵) Android中Bitmap色彩用了一个[R, G, B, A],4*1的矩阵来保存. 如果想改变一个Bitmap的色彩该怎么办?现在来了解下ColorMatrix的相关知识.ColorMatrix 是一个4*5的矩阵. 我们用[R', G', B', A']来保存新的bitma

[ css 矩阵 Matrix 属性 ] css中transform的Matrix(矩阵)属性讲解及实例演示的区别

一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵)”的时候,难免会心生畏惧(即使你已经学过),正常心理.实际上,这玩意确实有点复杂. 然而,这却是屌丝逆袭的一个好机会. CSS同行间:你是不是有这样的感觉:哎呀呀,每天就是对着设计图切页面,貌似技术没有得到实质性地提升啊,或者觉得日后高度有限! 我们应该都知道二八法则(巴莱多定律),即任何一组东西中

理解CSS3 transform中的Matrix(矩阵)——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2427 一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵)”的时候,难免会心生畏惧(即使你已经学过),正常心理.实际上,这玩意确实有点复杂. 然而,这却是屌丝逆袭的一个好机