このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

matrix3d()”関数CSS3で追加

記事Aug.5th,2021
要素を三次元空間内でアフィン変換するCSSの関数、“matrix3d()”について
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

matrix3d()”関数

matrix3d()”関数は要素を三次元空間内でアフィン変換するため変形マトリクスの成分を直接記述するための関数です。

<transform-function>”値として使用することができ、transform”プロパティで要素を線型変換や平行移動することができます。

引数は16個の<number>”値をコンマ(“,”)で区切って記述します。

matrix3d(〚m11〛,〚m12〛,〚m13〛,〚m14〛,〚m21〛,〚m22〛,〚m23〛,〚m24〛,〚m31〛,〚m32〛,〚m33〛,〚m34〛,〚m41〛,〚m42〛,〚m43〛,〚m44〛)

それぞれの引数は列優先で並べると4×4の変形マトリクスの成分に対応します。

matrix3d()関数によるアフィン変換

引数を4×4になるように改行すると理解しやすくなります。

matrix3d(
〚m11〛,〚m12〛,〚m13〛,〚m14〛,
〚m21〛,〚m22〛,〚m23〛,〚m24〛,
〚m31〛,〚m32〛,〚m33〛,〚m34〛,
〚m41〛,〚m42〛,〚m43〛,〚m44〛)

matrix3d()”関数で表される変形マトリクスが単位行列の場合、要素は変形されません。

単位行列を表した“matrix3d()”関数
matrix3d(
1,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1)

変形マトリクス

以下は“matrix3d(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)”を表す変形マトリクスの成分です。

m11 m21 m31 m41
m12 m22 m32 m42
m13 m23 m33 m43
m14 m24 m34 m44
a e i m
b f j n
c g k o
d h l p

使用例

.transform-1 { transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);}
.transform-2 { transform: matrix3d(1,0.25,0,0,0.5,1,-0.5,0,0.5,-0.25,1,0,0,0,0,1);}
matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
matrix3d(1,0.25,0,0,0.5,1,-0.5,0,0.5,-0.25,1,0,0,0,0,1)

仕様書

定義されている仕様書
Level 1 Level 2
勧告候補(CR) 作業草稿(WD)
matrix3d()
定義なし

定義あり
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク