「Qtの基礎 - 2次元変換行列」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == Qtにおいて、<code>QTransformation</code>クラスを使用して、変換行列の作成および作成した変換行列を図形に適用すること…」)
 
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
 
46行目: 46行目:
(メソッド名は、1から始まるので注意すること)<br>
(メソッド名は、1から始まるので注意すること)<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]

2024年10月14日 (月) 10:58時点における最新版

概要

Qtにおいて、QTransformationクラスを使用して、変換行列の作成および作成した変換行列を図形に適用することができる。


2次元変換行列

以下のように、変換行列を作成する。

回転

正の回転方向は、反時計回りである。
第2引数は回転軸で、省略した場合はZ軸になる。

 QTransform transR;
 transR.rotate("回転角(度)");
 transR.rotateRadians("回転角(ラジアン)");


移動

 QTransform transT;
 transT.translate("X移動量", "Y移動量");


拡大・縮小

 QTransform transS;
 transS.scale("X拡大量", "Y拡大量");


作成した行列を図形に適用するには、以下のようにする。

 QTransform transR;
 
 // 点に適用
 QPointF pntDst = transR.map(pntSrc);


行列が回転、平行移動、投影変換を表す場合は、mapRectメソッドを使用して変換先図形の外接矩形を求めることができる。

 QTransform transR;
 
 // 変換先図形の外接矩形を求める
 QRectF rcDst = transR.mapRect(rcSrc);


行列要素を直接参照する場合は、m11メソッドやm12メソッド等の関数を使用する。
(メソッド名は、1から始まるので注意すること)