0
点赞
收藏
分享

微信扫一扫

Chindle优化 之 转换矩阵


图形学时隔4年重新进入视野。利用Transform Matrix可以很方便地进行图形变换运算,Chindle的编码中需要熟练掌握。

利用转换矩阵,可以:

1. 平移

2. 旋转

3. 缩放(翻转也是缩放的一种)

转换向量:[a, b, c, d, e, f, g]

Chindle优化 之 转换矩阵_adobe

a, d表示缩放, 

Chindle优化 之 转换矩阵_encoding_02

e, f表示平移.

Chindle优化 之 转换矩阵_generator_03

更多参考下面的链接:

转换矩阵复习:http://www.w3.org/TR/SVG/coords.html#TransformMatrixDefined



SVG中对transform maxtri的支持很好,有兴趣的可以做点小试验:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="4000px" height="4000px" viewBox="0 0 4000 4000" enable-background="new 0 0 4000 4000" xml:space="preserve">
<desc>中国人的家</desc>
<path fill="none" stroke="#0000FF" d="M1,1L1,1L1,1z"/>
<text transform="matrix(1 0 0 1 249.9998 222.0286)" font-family="'FZCCHJW--GB1-0'" font-size="580">显示的是中</text>
<text transform="matrix(1 0 0 1 249.9998 349.9998)" font-family="'FZCCHJW--GB1-0'" font-size="280">文</text>
<text transform="matrix(1 0 0 1 2350.0002 2149.9998)" font-family="'FZCCHJW--GB1-0'" font-size="580">显示的是中</text>
<text transform="matrix(1 0 0 1 3361.1428 2391.1628)" font-family="'FZCCHJW--GB1-0'" font-size="280">文</text>
<text transform="matrix(1 0 0 1 593.1165 1161.2136)" font-family="'FZCCHJW--GB1-0'" font-size="580">显示的是中</text>
<text transform="matrix(1 0 0 1 3493.1165 1203.4011)" font-family="'FZCCHJW--GB1-0'" font-size="280">文</text>
<text transform="matrix(1 0 0 1 2352.5002 3420.4998)" font-family="'SimSun'" font-size="12">fsafsdf</text>
<rect x="1033.5" y="418.5" fill="none" width="375" height="232"/>
</svg>



transform="matrix(1 0 0 1 249.9998 222.0286)"

a=1, d =1,  scale=1;

e=250, f=222, 表示平移,在这里base点位(0,0)所以,(e,f)即坐标。


举报

相关推荐

0 条评论