Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: AIR 30.0 以前, Flash Player 30.0 以前, Flash Lite 4
Flex 4.6 以前, Flash Pro CS6 以前
フィルターを非表示
flash.geom 

Matrix3D  - AS3

パッケージx

トップレベル
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

言語エレメント

グローバル定数
グローバル関数
演算子
ステートメント、キーワード、ディレクティブ
特殊な型

付録

新機能
コンパイルエラー
コンパイラー警告
ランタイムエラー
ActionScript 3 への移行
サポートされている文字セット
MXML のみのタグ
モーション XML エレメント
Timed Text タグ
使用されなくなったエレメントのリスト
Accessibility Implementation 定数
ActionScript の例の使用方法
法律上の注意
パッケージflash.geom
クラスpublic class Matrix3D
継承Matrix3D Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

Matrix3D クラスは、3 次元(3D)表示オブジェクトの位置と方向を決定する変換マトリックスを表します。マトリックスでは、平行移動(x 軸、y 軸および z 軸に沿った位置変更)、回転、拡大 / 縮小などの変換機能を実行できます。Matrix3D クラスでは、遠近法に基づく投影を実行し、3D 座標空間のポイントを 2 次元(2D)ビューにマッピングすることもできます。

1 つのマトリックスで複数の変換を結合し、3D 表示オブジェクトに一括して適用することができます。例えば、マトリックスを 3D 座標に適用して、回転の後に平行移動を実行できます。

表示オブジェクトの z プロパティまたは回転や拡大 / 縮小のプロパティを明示的に設定すると、対応する Matrix3D オブジェクトが自動的に作成されます。

3D 表示オブジェクト内の Matrix3D オブジェクトは、transform.matrix3d プロパティを通じてアクセスできます。2D オブジェクト内には Matrix3D オブジェクトがありません。

2D オブジェクトの z プロパティの値は 0 で、その matrix3D プロパティの値は null です。

注意:同じ Matrix3D オブジェクトを 2 つの異なる表示オブジェクトに割り当てると、ランタイムエラーが発生します。

Matrix3D クラスは 4 × 4 正方マトリックスを使用します。これは、変換用のデータを保持する 4 行 × 4 列の数値のテーブルです。マトリックスの最初の 3 行は 3D の各軸(x、y、z)のデータを保持します。平行移動情報は最後の列に格納されます。方向と拡大 / 縮小のデータは、最初の 3 列に格納されます。倍率は、最初の 3 列の対角線上の数値です。Matrix3D エレメントは次のように表現されます。

Matrix3D エレメント

マトリックスを数学的に理解できなくても Matrix3D クラスを使用できます。Matrix3D クラスには、appendTranslation()appendRotation()interpolateTo() などのメソッドがあり、これらを使用して平行移動や投影の作業を簡単に実行できます。decompose() メソッド、recompose() メソッドまたは rawData プロパティを使用して、基になっているマトリックスエレメントも使用できます。

表示オブジェクトは軸回転プロパティをキャッシュして、軸ごとに個別に回転を実行し、回転の異なる組み合わせを管理します。表示オブジェクトを変換するために Matrix3D オブジェクトのメソッドが呼び出されると、オブジェクトの回転キャッシュが無効化されます。

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  determinant : Number
[読み取り専用] マトリックスが可逆かどうかを決定する数値です。
Matrix3D
  position : Vector3D
変換の参照フレーム内に、表示オブジェクトの位置、つまり 3D 座標(x,y,z)を保持する Vector3D オブジェクトです。
Matrix3D
  rawData : Vector.<Number>
4 つのエレメントごとに 4 x 4 マトリックスの 1 列を示す、数値の数が 16 のベクター。
Matrix3D
パブリックメソッド
 メソッド定義元
  
Matrix3D(v:Vector.<Number> = null)
Matrix3D オブジェクトを作成します。
Matrix3D
  
別の Matrix3D オブジェクトに現在の Matrix3D オブジェクトを乗算して、マトリックスの末尾に追加します。
Matrix3D
  
appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Matrix3D オブジェクトの末尾にインクリメンタルな回転を追加します。
Matrix3D
  
appendScale(xScale:Number, yScale:Number, zScale:Number):void
x 軸、y 軸、z 軸上のインクリメンタルな拡大 / 縮小の変更を Matrix3D オブジェクトの末尾に追加します。
Matrix3D
  
x 軸、y 軸、z 軸上のインクリメンタルな位置の移動を Matrix3D オブジェクトの末尾に追加します。
Matrix3D
  
現在の Matrix3D オブジェクトを正確にコピーした新しい Matrix3D オブジェクトを返します。
Matrix3D
  
copyColumnFrom(column:uint, vector3D:Vector3D):void
Vector3D オブジェクトを、呼び出し元の Matrix3D オブジェクトの特定の列にコピーします。
Matrix3D
  
copyColumnTo(column:uint, vector3D:Vector3D):void
呼び出し元の Matrix3D オブジェクトの特定の列を、Vector3D オブジェクトにコピーします。
Matrix3D
  
copyFrom(sourceMatrix3D:Matrix3D):void
すべてのマトリックスデータを、ソース Matrix3D オブジェクトから、呼び出し元の Matrix3D オブジェクトにコピーします。
Matrix3D
  
copyRawDataFrom(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
すべてのベクトルデータを、ソースベクトルオブジェクトから、呼び出し元の Matrix3D オブジェクトにコピーします。
Matrix3D
  
copyRawDataTo(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
すべてのマトリックスデータを、呼び出し元の Matrix3D オブジェクトから、指定されたベクトルにコピーします。
Matrix3D
  
copyRowFrom(row:uint, vector3D:Vector3D):void
Vector3D オブジェクトを、呼び出し元の Matrix3D オブジェクトの特定の行にコピーします。
Matrix3D
  
copyRowTo(row:uint, vector3D:Vector3D):void
呼び出し元の Matrix3D オブジェクトの特定の行を、Vector3D オブジェクトにコピーします。
Matrix3D
  
Matrix3D
  
decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>
変換マトリックスの平行移動、回転、および拡大 / 縮小の各設定を、3 つの Vector3D オブジェクトのベクターとして返します。
Matrix3D
  
平行移動エレメントのない変換マトリックスを使用して、Vector3D オブジェクトをある空間座標から別の空間座標に変換します。
Matrix3D
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
現在のマトリックスを単位マトリックスに変換します。
Matrix3D
  
interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D
[静的] マトリックスがターゲットマトリックスになるように移動、回転、拡大・縮小変換を補間します。
Matrix3D
  
このマトリックスがターゲットマトリックスになるように移動、回転、拡大・縮小変換を補間します。
Matrix3D
  
現在のマトリックスを反転します。
Matrix3D
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void
表示オブジェクトが指定された位置を向くように回転します。
Matrix3D
  
現在の Matrix3D オブジェクトに別の Matrix3D オブジェクトを乗算して、マトリックスの先頭に追加します。
Matrix3D
  
prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Matrix3D オブジェクトの先頭にインクリメンタルな回転を追加します。
Matrix3D
  
prependScale(xScale:Number, yScale:Number, zScale:Number):void
x 軸、y 軸、z 軸上のインクリメンタルな拡大 / 縮小の変更を Matrix3D オブジェクトの先頭に追加します。
Matrix3D
  
x 軸、y 軸、z 軸上のインクリメンタルな位置の変更を Matrix3D オブジェクトの先頭に追加します。
Matrix3D
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean
変換マトリックスの平行移動、回転、および拡大 / 縮小を設定します。
Matrix3D
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
変換マトリックスを使用して、Vector3D オブジェクトをある空間座標から別の空間座標に変換します。
Matrix3D
  
変換マトリックスを使用して、数値のベクターをある空間座標から別の空間座標に変換します。
Matrix3D
  
現在の Matrix3D オブジェクトを、行と列が入れ替わったマトリックスに変換します。
Matrix3D
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細

determinant

プロパティ
determinant:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

マトリックスが可逆かどうかを決定する数値です。

Matrix3D オブジェクトは可逆である必要があります。determinant プロパティを使用すると、Matrix3D オブジェクトが可逆かどうかを確認できます。determinant が 0 の場合、マトリックスの反転は存在しません。例えば、マトリックスの行または列全体が 0 か、2 つの行または列が同じ場合、determinant は 0 になります。determinant は一連の式の解決にも使用されます。

Matrix3D クラスのように、determinant を持つのは正方マトリックスのみです。



実装
    public function get determinant():Number

関連する API エレメント

position

プロパティ 
position:Vector3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

変換の参照フレーム内に、表示オブジェクトの位置、つまり 3D 座標(x,y,z)を保持する Vector3D オブジェクトです。position プロパティでは、マトリックスを分解して再構成しなくても、表示オブジェクトのマトリックスの移動ベクターにすばやくアクセスできます。

position プロパティを使用すると、変換マトリックスの移動エレメントを取得および設定できます。



実装
    public function get position():Vector3D
    public function set position(value:Vector3D):void

関連する API エレメント

rawData

プロパティ 
rawData:Vector.<Number>

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

4 つのエレメントごとに 4 x 4 マトリックスの 1 列を示す、数値の数が 16 のベクター。

rawData プロパティが反転できないマトリックスに設定されている場合、例外がスローされます。Matrix3D オブジェクトは可逆である必要があります。反転できないマトリックスが必要な場合は、Matrix3D オブジェクトのサブクラスを作成します。



実装
    public function get rawData():Vector.<Number>
    public function set rawData(value:Vector.<Number>):void

関連する API エレメント

コンストラクターの詳細

Matrix3D

()コンストラクター
public function Matrix3D(v:Vector.<Number> = null)

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

Matrix3D オブジェクトを作成します。Matrix3D オブジェクトは数値の数が 16 のベクターで初期化できます。4 つのエレメントごとに 1 列になります。Matrix3D オブジェクトが作成されると、rawData プロパティを使用してマトリックスエレメントにアクセスできます。

パラメーターが定義されていない場合、コンストラクターは単位 Matrix3D オブジェクトを作成します。マトリックス表記では、単位マトリックスは、メインの対角線上の位置にあるすべてのエレメントには値 1 を使用し、その他のすべてのエレメントには値 0 を使用します。単位マトリックスの rawData プロパティの値は、1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 です。単位マトリックスの位置または平行移動の値は Vector3D(0,0,0)、回転設定は Vector3D(0,0,0)、拡大 / 縮小の値は Vector3D(1,1,1) です。

パラメーター
v:Vector.<Number> (default = null) — 4 つのエレメントごとに 4 x 4 マトリックスの 1 列を示す、数値の数が 16 のベクター。

関連する API エレメント

メソッドの詳細

append

()メソッド
public function append(lhs:Matrix3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

別の Matrix3D オブジェクトに現在の Matrix3D オブジェクトを乗算して、マトリックスの末尾に追加します。結果により、両方のマトリックス変換が結合されます。1 つの Matrix3D オブジェクトに複数のマトリックスを乗算できます。最後の Matrix3D オブジェクトには、すべての変換の結果が格納されます。

マトリックスの乗算は、マトリックスの加算とは異なります。マトリックスの乗算は可換ではありません。つまり、A の B 倍は B の A 倍ではありません。append() メソッドを使用すると、乗算は左側から行われます。つまり、lhs Matrix3D オブジェクトは乗算演算子の左側にあります。

thisMatrix = lhs * thisMatrix;

append() メソッドを初めて呼び出すと、親空間を基準にして変更が加えられます。後続の呼び出しは、末尾に追加された Matrix3D オブジェクトの参照フレームを基準とします。

append() メソッドは、現在のマトリックスを末尾に追加されたマトリックスに置き換えます。現在のマトリックスを変更せずに 2 つのマトリックスを末尾に追加するには、clone() メソッドを使用して現在のマトリックスをコピーした後、append() メソッドをコピーに適用します。

パラメーター

lhs:Matrix3D — 現在の Matrix3D オブジェクトを乗算した左側のマトリックスです。

関連する API エレメント

appendRotation

()メソッド 
public function appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

Matrix3D オブジェクトの末尾にインクリメンタルな回転を追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の後に回転を実行します。

表示オブジェクトの回転は、軸、軸を中心とした回転の増分角度、およびオブジェクトの回転の中心となるオプションの回転軸によって定義されます。軸は通常の方向になります。一般的な軸は、X_AXISVector3D(1,0,0))、Y_AXISVector3D(0,1,0))および Z_AXISVector3D(0,0,1))です。航空用語では、y 軸を中心とした回転は偏揺れと呼ばれます。x 軸を中心とした回転は縦揺れと呼ばれます。z 軸を中心とした回転は横揺れと呼ばれます。

変換の順序は重要です。回転に続いて平行移動変換を行うと、平行移動に続いて回転変換を行う場合とは異なる結果になります。

回転結果は絶対的ではありません。現在の位置と方向に対して相対的に行われます。変換マトリックスの絶対変更を行うには、recompose() メソッドを使用します。appendRotation() メソッドは、表示オブジェクトの軸回転プロパティ(rotationX プロパティなど)とも異なります。回転プロパティは常に平行移動の前に実行されますが、appendRotation() メソッドは既にマトリックスに存在するものを基準にして行われます。表示オブジェクトの軸回転プロパティと同様の効果を得るには、prependRotation() メソッドを使用します。このメソッドは、マトリックスでの他の変換の前に回転を実行します。

appendRotation() メソッドの変換が表示オブジェクトの Matrix3D オブジェクトに適用されると、表示オブジェクトのキャッシュされた回転プロパティ値が無効化されます。

表示オブジェクトをその位置を基準として特定のポイントを中心に回転させるには、オブジェクトの平行移動を指定されたポイントに設定し、appendRotation() メソッドを使用してオブジェクトを回転させ、オブジェクトを元の位置に戻すという方法があります。次の例では、myObject 3D 表示オブジェクトは、座標(10,10,0)を中心として y 軸を回転します。

    
    myObject.z = 1; 
    myObject.transform.matrix3D.appendTranslation(10,10,0);
    myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS);
    myObject.transform.matrix3D.appendTranslation(-10,-10,0);
     
    

パラメーター

degrees:Number — 回転の角度です。
 
axis:Vector3D — 回転の軸または方向です。通常の軸は、X_AXISVector3D(1,0,0))、Y_AXISVector3D(0,1,0))および Z_AXISVector3D(0,0,1))です。このベクトルの長さは 1 になります。
 
pivotPoint:Vector3D (default = null) — オブジェクトの回転の中心を決定するポイントです。オブジェクトのデフォルトの回転軸は基準点です。

関連する API エレメント

appendScale

()メソッド 
public function appendScale(xScale:Number, yScale:Number, zScale:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

x 軸、y 軸、z 軸上のインクリメンタルな拡大 / 縮小の変更を Matrix3D オブジェクトの末尾に追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の後に拡大 / 縮小の変更を行います。デフォルトの拡大 / 縮小率は(1.0, 1.0, 1.0)です。

拡大 / 縮小は、3 つの軸(x,y,z)上の 3 つの増分変更のセットとして定義されます。各軸に異なる数値を乗算できます。拡大 / 縮小の変更が表示オブジェクトに適用されると、オブジェクトのサイズが増加または減少します。例えば、x、y、および z の各軸を 2 に設定するとオブジェクトのサイズが 2 倍になり、軸を 0.5 に設定するとサイズが半分になります。拡大 / 縮小の変換が特定の軸のみに影響するようにするには、他のパラメーターを 1 に設定します。パラメーター 1 は、特定の軸に沿った拡大 / 縮小の変更は行われないことを意味します。

appendScale() メソッドは、サイズ変更と歪みの処理の両方に使用できます。例えば、表示オブジェクトの拡大や縮小、ある位置でのズームインやズームアウトなどです。拡大 / 縮小変換は、表示オブジェクトの回転および平行移動中に自動的に実行されます。

変換の順序は重要です。サイズ変更に続いて平行移動変換を行うと、平行移動に続いてサイズ変更変換を行う場合とは異なる結果になります。

パラメーター

xScale:Number — オブジェクトを x 軸方向に拡大 / 縮小するために使用される乗数です。
 
yScale:Number — オブジェクトを y 軸方向に拡大 / 縮小するために使用される乗数です。
 
zScale:Number — オブジェクトを z 軸方向に拡大 / 縮小するために使用される乗数です。

関連する API エレメント

appendTranslation

()メソッド 
public function appendTranslation(x:Number, y:Number, z:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

x 軸、y 軸、z 軸上のインクリメンタルな位置の移動を Matrix3D オブジェクトの末尾に追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の後に平行移動の変更を行います。

平行移動は、3 つの軸(x,y,z)上の 3 つの増分変更のセットとして定義されます。変換が表示オブジェクトに適用されると、表示オブジェクトは、パラメーターの指定に従って、現在の位置から x、y、および z の各軸に沿って移動します。平行移動が特定の軸のみに影響するようにするには、他のパラメーターを 0 に設定します。パラメーター 0 は、特定の軸に沿った変更が行われないことを意味します。

平行移動の変更は絶対的ではありません。マトリックスの現在の位置と方向に対して相対的に行われます。変換マトリックスの絶対変更を行うには、recompose() メソッドを使用します。変換の順序も重要です。平行移動に続いて回転変換を行うと、回転に続いて平行移動を行う場合とは異なる結果になります。

パラメーター

x:Number — x 軸上のインクリメンタルな位置の変更です。
 
y:Number — y 軸上のインクリメンタルな位置の変更です。
 
z:Number — z 軸上のインクリメンタルな位置の変更です。

関連する API エレメント

clone

()メソッド 
public function clone():Matrix3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

現在の Matrix3D オブジェクトを正確にコピーした新しい Matrix3D オブジェクトを返します。

戻り値
Matrix3D — 現在の Matrix3D オブジェクトを正確にコピーした新しい Matrix3D オブジェクトです。

copyColumnFrom

()メソッド 
public function copyColumnFrom(column:uint, vector3D:Vector3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

Vector3D オブジェクトを、呼び出し元の Matrix3D オブジェクトの特定の列にコピーします。

パラメーター

column:uint — コピー先となる列です。
 
vector3D:Vector3D — データのコピー元となる Vector3D オブジェクトです。

copyColumnTo

()メソッド 
public function copyColumnTo(column:uint, vector3D:Vector3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

呼び出し元の Matrix3D オブジェクトの特定の列を、Vector3D オブジェクトにコピーします。

パラメーター

column:uint — データのコピー元となる列です。
 
vector3D:Vector3D — コピー先となる Vector3D オブジェクトです。

copyFrom

()メソッド 
public function copyFrom(sourceMatrix3D:Matrix3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

すべてのマトリックスデータを、ソース Matrix3D オブジェクトから、呼び出し元の Matrix3D オブジェクトにコピーします。

パラメーター

sourceMatrix3D:Matrix3D — データのコピー元となる Matrix3D オブジェクトです。

copyRawDataFrom

()メソッド 
public function copyRawDataFrom(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

すべてのベクトルデータを、ソースベクトルオブジェクトから、呼び出し元の Matrix3D オブジェクトにコピーします。オプションの index パラメーターを使用すると、ベクトル内の開始スロットを選択できます。

パラメーター

vector:Vector.<Number> — データのコピー元となるベクトルオブジェクトです。
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRawDataTo

()メソッド 
public function copyRawDataTo(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

すべてのマトリックスデータを、呼び出し元の Matrix3D オブジェクトから、指定されたベクトルにコピーします。オプションの index パラメーターを使用すると、ベクトル内のターゲットの開始スロットを選択できます。

パラメーター

vector:Vector.<Number> — データのコピー先となるベクトルオブジェクトです。
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRowFrom

()メソッド 
public function copyRowFrom(row:uint, vector3D:Vector3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

Vector3D オブジェクトを、呼び出し元の Matrix3D オブジェクトの特定の行にコピーします。

パラメーター

row:uint — データのコピー元となる行です。
 
vector3D:Vector3D — データのコピー元となる Vector3D オブジェクトです。

copyRowTo

()メソッド 
public function copyRowTo(row:uint, vector3D:Vector3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0, Flash Lite 4

呼び出し元の Matrix3D オブジェクトの特定の行を、Vector3D オブジェクトにコピーします。

パラメーター

row:uint — データのコピー元となる行です。
 
vector3D:Vector3D — データのコピー先となる Vector3D オブジェクトです。

copyToMatrix3D

()メソッド 
public function copyToMatrix3D(dest:Matrix3D):void

パラメーター

dest:Matrix3D

decompose

()メソッド 
public function decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

変換マトリックスの平行移動、回転、および拡大 / 縮小の各設定を、3 つの Vector3D オブジェクトのベクターとして返します。最初の Vector3D オブジェクトは、移動エレメントを保持します。2 番目の Vector3D オブジェクトは、回転エレメントを保持します。最初の Vector3D オブジェクトは、拡大 /縮小エレメントを保持します。

interpolateTo() メソッドなど、一部の Matrix3D メソッドは、マトリックスを自動的に分解および再構成して変換を実行します。

絶対親参照フレームを使用してマトリックスの変換を変更するには、decompose() メソッドを使用して設定を取得し、適切な変更を行います。次に、recompose() メソッドを使用して、Matrix3D オブジェクトを変更された変換に設定します。

decompose() メソッドのパラメーターは、変換に使用される方向スタイルを指定します。デフォルトの方向は eulerAngles です。これは、各軸に異なる 3 つの回転角度を使用して方向を定義します。回転は連続して行われ、それぞれの軸は変更されません。表示オブジェクトの軸回転プロパティは、Euler 角度方向スタイル変換を実行します。その他の方向スタイルオプションは、axisAnglequaternion です。軸角度方向は、軸と角度の組み合わせを使用して方向を決定します。オブジェクトの回転の中心となる軸は、方向を表す単位ベクトルです。角度は、ベクトルに関する回転の大きさを表します。方向は表示オブジェクトの向きも決定し、角度はどちらが上かを決定します。appendRotation() メソッドと prependRotation() メソッドは、軸角度方向を使用します。四元数方向は、複素数とベクターの 4 番目のエレメントを使用します。3 つの回転軸(x,y,z)と 1 つの回転角度(w)は、方向を表します。interpolate() メソッドは四元数を使用します。

パラメーター

orientationStyle:String (default = "eulerAngles") — マトリックス変換に使用される方向スタイルを決定するオプションパラメーターです。方向スタイルには、eulerAngles(定数 EULER_ANGLES)、axisAngle(定数 AXIS_ANGLE)および quaternion(定数 QUATERNION)の 3 種類があります。様々な方向スタイルの詳細については、geom.Orientation3D クラスを参照してください。

戻り値
Vector.<Vector3D> — 3 つの Vector3D オブジェクトのベクターです。それぞれが、平行移動、回転、および拡大 / 縮小の設定を保持します。

関連する API エレメント


例  ( この例の使用方法 )

この例では、decompose() メソッドと recompose() メソッドを使用して、楕円を消失点の方に移動しながら水平方向に伸張します。decompose() メソッドによって返される最初の Vector3D オブジェクトは、平行移動座標を保持します。3 番目の Vector3D オブジェクトは、拡大 / 縮小設定を保持します。Vector3D オブジェクトの incrementBy() メソッドは、マトリックスの絶対平行移動および拡大 / 縮小の設定をインクリメントします。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.events.Event;
    
    public class Matrix3DdecomposeExample extends MovieClip {
        private var ellipse:Shape = new Shape();

        public function Matrix3DdecomposeExample():void {
            
            ellipse.x = (this.stage.stageWidth / 2);
            ellipse.y = (this.stage.stageHeight - 40);
            ellipse.z = 1;
            ellipse.graphics.beginFill(0xFF0000);
            ellipse.graphics.lineStyle(2);
            ellipse.graphics.drawEllipse(0, 0, 50, 40);
            ellipse.graphics.endFill();
            addChild(ellipse);

            ellipse.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }

        private function enterFrameHandler(e:Event):void {  

            var v3:Vector.<Vector3D> = new Vector.<Vector3D>(3);
            v3 = ellipse.transform.matrix3D.decompose();
            v3[0].incrementBy(new Vector3D(0,0,1));
            v3[2].incrementBy(new Vector3D(0.01,0,0));
            ellipse.transform.matrix3D.recompose(v3);
        }
    }
}

deltaTransformVector

()メソッド 
public function deltaTransformVector(v:Vector3D):Vector3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

平行移動エレメントのない変換マトリックスを使用して、Vector3D オブジェクトをある空間座標から別の空間座標に変換します。返された Vector3D オブジェクトは、回転および拡大 / 縮小変換が適用された後の新しい座標を保持します。deltaTransformVector() メソッドが、平行移動変換のみを含むマトリックスに適用される場合、返される Vector3D は元の Vector3D オブジェクトと同じになります。

deltaTransformVector() メソッドを使用すると、ある座標空間の表示オブジェクトを、2 番目の表示オブジェクトの回転変換に応答させることができます。オブジェクトは回転をコピーするのではなく、位置のみを変更して、回転に変更を反映します。例えば、display.Graphics API を使用して回転する 3D 表示オブジェクトを描画するには、オブジェクトの回転座標を 2D ポイントにマッピングする必要があります。まず、deltaTransformVector() メソッドを使用して、各回転の後にオブジェクトの 3D 座標を取得します。次に、表示オブジェクトの local3DToGlobal() メソッドを適用して 3D 座標を 2D ポイントに変換します。その後に 2D ポイントを使用して、回転する 3D オブジェクトを描画できます。

注意:このメソッドにより、渡された Vector3D の w 要素が自動的に 0.0 に設定されます。

パラメーター

v:Vector3D — 変換される座標を保持する Vector3D オブジェクトです。

戻り値
Vector3D — 変換された座標を持つ Vector3D オブジェクトです。

関連する API エレメント

identity

()メソッド 
public function identity():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

現在のマトリックスを単位マトリックスに変換します。単位マトリックスは、メインの対角線上にあるエレメントには値 1 を使用し、その他のすべてのエレメントには値 0 を使用します。結果は、rawData 値が 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 のマトリックスになり、回転設定は Vector3D(0,0,0)、位置または平行移動の設定は Vector3D(0,0,0)、拡大 / 縮小は Vector3D(1,1,1) に設定されます。単位マトリックスは次のように表現されます。

単位マトリックス

単位マトリックスの適用によって変換されたオブジェクトは、変換を実行しません。つまり、マトリックスに単位マトリックスを乗算すると、結果は元のマトリックスと同じマトリックスになります。

interpolate

()メソッド 
public static function interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

マトリックスがターゲットマトリックスになるように移動、回転、拡大・縮小変換を補間します。

interpolate() メソッドは、表示オブジェクトの軸回転プロパティなどのメソッドを使用するときに発生する一部の不要な結果を回避します。interpolate() メソッドは、表示オブジェクトの回転プロパティのキャッシュされた値を無効化し、補間前に表示オブジェクトのマトリックスの方向エレメントを四元数に変換します。このメソッドにより、最も効率的な最短の回転パスが保証されます。また、回転はスムーズでジンバルロックは発生しません。ジンバルロックは、各軸が独立して扱われる Euler 角度を使用する場合に発生する可能性があります。2 つ以上の軸を中心として回転しているときに、軸が重なり、予期しない結果が生じる可能性があります。四元数回転により、ジンバルロックが回避されます。

interpolate() メソッドを連続して呼び出すと、表示オブジェクトは素早く変化した後、別の表示オブジェクトにゆっくり近づきます。例えば、thisMat パラメーターを返された Matrix3D オブジェクトに、toMat パラメーターをターゲットの表示オブジェクトの関連する Matrix3D オブジェクトに、percent パラメーターを 0.1 に設定すると、表示オブジェクトはターゲットオブジェクトの方に 10 %移動します。その後の呼び出しまたは後続のフレームで、オブジェクトは残りの 90 %の 10 %を移動した後、ターゲットに到達するまで、残りの距離の 10 %を移動します。

パラメーター

thisMat:Matrix3D — 補間される Matrix3D オブジェクトです。
 
toMat:Matrix3D — ターゲットの Matrix3D オブジェクトです。
 
percent:Number01 の値です。thisMat Matrix3D オブジェクトがターゲットの Matrix3D オブジェクトに向かって補間されるパーセントを決定します。

戻り値
Matrix3D — 元のマトリックスとターゲットマトリックスの間にマトリックスの値を配置するエレメントを持つ Matrix3D オブジェクトです。返されたマトリックスが this 表示オブジェクトに適用されると、オブジェクトは指定されたパーセント分ターゲットオブジェクトに近づきます。

関連する API エレメント

interpolateTo

()メソッド 
public function interpolateTo(toMat:Matrix3D, percent:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

このマトリックスがターゲットマトリックスになるように移動、回転、拡大・縮小変換を補間します。

interpolateTo() メソッドは、表示オブジェクトの軸回転プロパティなどのメソッドを使用するときに発生する不要な結果を回避します。interpolateTo() メソッドは、表示オブジェクトの回転プロパティのキャッシュされた値を無効化し、補間前に表示オブジェクトのマトリックスの方向エレメントを四元数に変換します。このメソッドにより、最も効率的な最短の回転パスが保証されます。また、回転はスムーズでジンバルロックは発生しません。ジンバルロックは、各軸が独立して扱われる Euler 角度を使用する場合に発生する可能性があります。2 つ以上の軸を中心として回転しているときに、軸が重なり、予期しない結果が生じる可能性があります。四元数回転により、ジンバルロックが回避されます。

注意:補間の場合、マトリックスのスケーリング値がリセットされ、マトリックスは正規化されます。

interpolateTo() メソッドを連続して呼び出すと、表示オブジェクトは素早く変化した後、別の表示オブジェクトにゆっくり近づきます。例えば、percent パラメーターを 0.1 に設定すると、表示オブジェクトは、toMat パラメーターで指定されたターゲットオブジェクトに向かって 10 %移動します。その後の呼び出しまたは後続のフレームで、オブジェクトは残りの 90 %の 10 %を移動した後、ターゲットに到達するまで、残りの距離の 10 %を移動します。

パラメーター

toMat:Matrix3D — ターゲットの Matrix3D オブジェクトです。
 
percent:Number — ターゲットを基準として表示オブジェクトの位置を決定する、01 の値です。値が 1.0 に近づくほど、表示オブジェクトは現在の位置に近くなります。値が 0 に近づくほど、表示オブジェクトはターゲットに近くなります。

関連する API エレメント


例  ( この例の使用方法 )

この例では、ellipse2(3 次元表示オブジェクト)は、ellipse1(別の 3 次元表示オブジェクト)に向かって移動します。ellipse2ellipse1 に追随して追いつこうとします。 ellipse1 が y 軸を中心として回転しない場合、ellipse2ellipse1 の上部にたどり着きます。2 つの楕円は同じように描画されますが、別の 3 次元ワールド空間の位置に配置されます。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Graphics;
    import flash.geom.*;
    import flash.events.Event;

    public class InterpolateToExample extends MovieClip {
        private var ellipse1:Shape = new Shape();
        private var ellipse2:Shape = new Shape();

        public function InterpolateToExample():void {

            ellipse1 = myEllipses(250, 100, 500, 0xFF0000);
            addChild(ellipse1);
            
            ellipse2 = myEllipses(-30, 120, 1, 0x00FF00);
            addChild(ellipse2);

            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }

        private function myEllipses(x:Number, y:Number, z:Number, c:Number):Shape {
            var s:Shape = new Shape();                            
            s.x = x;
            s.y = y;
            s.z = z;
            s.graphics.beginFill(c);
            s.graphics.lineStyle(2);
            s.graphics.drawEllipse(100, 50, 100, 80);
            s.graphics.endFill();
            return s;
        }

        private function enterFrameHandler(e:Event) {
            ellipse1.rotationY += 1;

            ellipse2.transform.matrix3D.interpolateTo(ellipse1.transform.matrix3D, 0.1);
        }
    }
}

invert

()メソッド 
public function invert():Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

現在のマトリックスを反転します。反転されたマトリックスのサイズは元のマトリックスと同じですが、元のマトリックスの逆の変換を実行します。例えば、元のマトリックスが x 軸を中心にオブジェクトを 1 方向に回転させる場合、マトリックスの反転は、軸を中心にオブジェクトを逆方向に回転させます。反転されたマトリックスをオブジェクトに適用すると、元のマトリックスによって実行された変換が取り消されます。マトリックスに反転マトリックスを乗算すると、結果は単位マトリックスになります。

マトリックスの反転を使用して、あるマトリックスを別のマトリックスで除算できます。マトリックス A をマトリックス B で除算するには、マトリックス A にマトリックス B の反転を乗算します。反転マトリックスは、カメラ空間でも使用できます。カメラがワールド空間を移動する場合、ワールド内のオブジェクトは反対方向に移動して、ワールドビューをカメラまたはビュー空間に変換する必要があります。例えば、カメラが近づくと、オブジェクトは大きくなります。つまり、カメラがワールド z 軸を下に移動すると、オブジェクトはワールド z 軸を上に移動します。

invert() メソッドは、現在のマトリックスを反転されたマトリックスに置き換えます。現在のマトリックスを変更せずにマトリックスを反転するには、clone() メソッドを使用して現在のマトリックスをコピーした後、invert() メソッドをコピーに適用します。

Matrix3D オブジェクトは可逆である必要があります。

戻り値
Boolean — マトリックスが正常に反転された場合、true を返します。

関連する API エレメント

pointAt

()メソッド 
public function pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

表示オブジェクトが指定された位置を向くように回転します。このメソッドにより、方向をその場で変更できます。表示オブジェクトの前方ベクトル(at Vector3D オブジェクト)は、指定されたワールドを基準とする位置を指します。表示オブジェクトの上方向は、up Vector3D オブジェクトで指定されます。

pointAt() メソッドは、表示オブジェクトのキャッシュされた回転プロパティ値を無効化します。このメソッドは表示オブジェクトのマトリックスを分解し、オブジェクトが指定された位置を向くように回転エレメントを変更します。次に、変換を実行する表示オブジェクトのマトリックスを再構成(更新)します。オブジェクトが移動するターゲット(移動するオブジェクトの位置など)を指している場合、後続の呼び出しのたびに、メソッドは移動するターゲットの方にオブジェクトを回転させます。

注意: オプションのパラメーターを設定せずに Matrix3D.pointAt() メソッドを使用する場合、デフォルトで、ターゲットオブジェクトはワールドを基準とする指定された位置に面していません。at の値を -y 軸 (0,-1,0) に、up の値を -z 軸 (0,0,-1) に設定する必要があります。

パラメーター

pos:Vector3D — ターゲットオブジェクトのワールドを基準とする位置です。ワールド基準により、すべてのオブジェクトが配置されるワールド空間と座標を基準とするオブジェクトの変換が定義されます。
 
at:Vector3D (default = null) — 表示オブジェクトの位置を定義する、オブジェクトを基準とするベクターです。オブジェクト基準により、オブジェクト空間、つまりオブジェクトの参照フレームと座標系を基準とするオブジェクトの変換が定義されます。デフォルト値は +y 軸(0,1,0,-)です。
 
up:Vector3D (default = null) — 表示オブジェクトの「上方向」を定義する、オブジェクトを基準とするベクターです。オブジェクトを見下ろして描画する場合、+z 軸は「上方向」へのベクトルになります。オブジェクト基準により、オブジェクト空間、つまりオブジェクトの参照フレームと座標系を基準とするオブジェクトの変換が定義されます。デフォルト値は +z 軸(0,0,1,-)です。

関連する API エレメント


例  ( この例の使用方法 )

この例では、三角形は楕円の移動のパスを指して追随します。楕円と三角形は異なる場所に設定されます。その後、楕円はステージの隅に向かって上に移動します。三角形は平行移動する楕円に追随します。三角形のシェイプと pointAt() の「at」および「up」パラメーターを変更すると、三角形の移動への影響を確認できます。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Graphics;
    import flash.geom.*;
    import flash.events.Event;

    public class PointAtExample extends MovieClip {
        private var ellipse:Shape = new Shape();
        private var triangle:Shape = new Shape();

        public function PointAtExample():void {
            ellipse.graphics.beginFill(0xFF0000);
            ellipse.graphics.lineStyle(2);
            ellipse.graphics.drawEllipse(30, 40, 50, 40);
            ellipse.graphics.endFill();
            ellipse.x = 100;
            ellipse.y = 150;
            ellipse.z = 1;

            triangle.graphics.beginFill(0x0000FF);
            triangle.graphics.moveTo(0, 0);
            triangle.graphics.lineTo(40, 40);
            triangle.graphics.lineTo(80, 0);
            triangle.graphics.lineTo(0, 0);
            triangle.graphics.endFill();
            triangle.x = 200;
            triangle.y = 50;
            triangle.z = 1;

            addChild(ellipse);
            addChild(triangle);

            ellipse.addEventListener(Event.ENTER_FRAME, ellipseEnterFrameHandler);
            triangle.addEventListener(Event.ENTER_FRAME, triangleEnterFrameHandler);
        }

        private function ellipseEnterFrameHandler(e:Event) {
            if(e.target.y > 0) {
                e.target.y -= 1;
                e.target.x -= 1;
            }
        }
        
        private function triangleEnterFrameHandler(e:Event) {
            e.target.transform.matrix3D.pointAt(ellipse.transform.matrix3D.position,
                                                Vector3D.X_AXIS, Vector3D.Y_AXIS);
        }
    }
}

prepend

()メソッド 
public function prepend(rhs:Matrix3D):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

現在の Matrix3D オブジェクトに別の Matrix3D オブジェクトを乗算して、マトリックスの先頭に追加します。結果により、両方のマトリックス変換が結合されます。

マトリックスの乗算は、マトリックスの加算とは異なります。マトリックスの乗算は可換ではありません。つまり、A の B 倍は B の A 倍ではありません。prepend() メソッドを使用すると、乗算は右側から行われます。つまり、rhs Matrix3D オブジェクトは乗算演算子の右側にあります。

thisMatrix = thisMatrix * rhs

prepend() メソッドによる変更は、オブジェクト空間を基準としています。つまり、常にオブジェクトの最初の参照フレームを基準とします。

prepend() メソッドは、現在のマトリックスを先頭に追加されたマトリックスに置き換えます。現在のマトリックスを変更せずに 2 つのマトリックスを先頭に追加するには、clone() メソッドを使用して現在のマトリックスをコピーした後、prepend() メソッドをコピーに適用します。

パラメーター

rhs:Matrix3D — 現在の Matrix3D が乗算されるマトリックスの右側です。

関連する API エレメント

prependRotation

()メソッド 
public function prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

Matrix3D オブジェクトの先頭にインクリメンタルな回転を追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の前に回転を実行します。

表示オブジェクトの回転は、軸、軸を中心とした回転の増分角度、およびオブジェクトの回転の中心となるオプションの回転軸によって定義されます。軸は通常の方向になります。一般的な軸は、X_AXISVector3D(1,0,0))、Y_AXISVector3D(0,1,0))および Z_AXISVector3D(0,0,1))です。航空用語では、y 軸を中心とした回転は偏揺れと呼ばれます。x 軸を中心とした回転は縦揺れと呼ばれます。z 軸を中心とした回転は横揺れと呼ばれます。

変換の順序は重要です。回転に続いて平行移動変換を行うと、平行移動に続いて回転を行う場合とは異なる結果になります。

回転結果は絶対的ではありません。結果はオブジェクト基準です。つまり、元の位置と方向の参照フレームを基準とします。変換の絶対変更を行うには、recompose() メソッドを使用します。

prependRotation() メソッドの変換が表示オブジェクトの Matrix3D オブジェクトに適用されると、表示オブジェクトのキャッシュされた回転プロパティ値が無効化されます。

表示オブジェクトをその位置を基準として特定のポイントを中心に回転させるには、オブジェクトの平行移動を指定されたポイントに設定し、prependRotation() メソッドを使用してオブジェクトを回転させ、オブジェクトを元の位置に戻すという方法があります。次の例では、myObject 3D 表示オブジェクトは、座標(10,10,0)を中心として y 軸を回転します。

    
    myObject.z = 1; 
    myObject.transform.matrix3D.prependTranslation(10,10,0);
    myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS);
    myObject.transform.matrix3D.prependTranslation(-10,-10,0);
     
    

パラメーター

degrees:Number — 回転の角度です。
 
axis:Vector3D — 回転の軸または方向です。通常の軸は、X_AXISVector3D(1,0,0))、Y_AXISVector3D(0,1,0))および Z_AXISVector3D(0,0,1))です。このベクトルの長さは 1 になります。
 
pivotPoint:Vector3D (default = null) — 回転の中心を決定するポイントです。オブジェクトのデフォルトの回転軸は基準点です。

関連する API エレメント


例  ( この例の使用方法 )

この例では、ユーザーはマウスを移動して、楕円を x 軸と y 軸を中心として回転させることができます。楕円は、中央の基準点に合わせて描画されます。楕円は、y 軸を中心として、マウスの x 座標を使用して回転します。楕円は、x 軸を中心として、マウスの y 座標を使用して回転します。
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.geom.*;
    import flash.events.MouseEvent;
    
    public class Matrix3DprependRotationExample extends MovieClip {
        private var ellipse:Shape = new Shape();

        public function Matrix3DprependRotationExample():void {

            ellipse.graphics.beginFill(0xFF0000);
            ellipse.graphics.lineStyle(2);
            ellipse.graphics.drawEllipse(-50, -40, 100, 80);
            ellipse.graphics.endFill();

            ellipse.x = (this.stage.stageWidth / 2);
            ellipse.y = (this.stage.stageHeight / 2);
            ellipse.z = 1;
            
            addChild(ellipse);

            stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
        }

        private function mouseMoveHandler(e:MouseEvent):void {
            var y:int;
            var x:int;
            
            if(e.localX > ellipse.x) {
                y = (Math.round(e.localX) / 100);   
            } else {
                y = -(Math.round(e.localX) / 10);   
            }
            
            if(e.localY > ellipse.y) {
                x = (Math.round(e.localY) / 100);
            } else {
                x = -(Math.round(e.localY) / 100);
            }
            
            ellipse.transform.matrix3D.prependRotation(y, Vector3D.Y_AXIS);
            ellipse.transform.matrix3D.prependRotation(x, Vector3D.X_AXIS);
        }
        
    }
}

prependScale

()メソッド 
public function prependScale(xScale:Number, yScale:Number, zScale:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

x 軸、y 軸、z 軸上のインクリメンタルな拡大 / 縮小の変更を Matrix3D オブジェクトの先頭に追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の前に拡大 / 縮小の変更を行います。変更はオブジェクト基準です。つまり、元の位置と方向の参照フレームを基準とします。デフォルトの拡大 / 縮小率は(1.0, 1.0, 1.0)です。

拡大 / 縮小は、3 つの軸(x,y,z)上の 3 つの増分変更のセットとして定義されます。各軸に異なる数値を乗算できます。拡大 / 縮小の変更が表示オブジェクトに適用されると、オブジェクトのサイズが増加または減少します。例えば、x、y、および z の各軸を 2 に設定するとオブジェクトのサイズが 2 倍になり、軸を 0.5 に設定するとサイズが半分になります。拡大 / 縮小の変換が特定の軸のみに影響するようにするには、他のパラメーターを 1 に設定します。パラメーター 1 は、特定の軸に沿った拡大 / 縮小の変更は行われないことを意味します。

prependScale() メソッドは、サイズ変更と歪みの処理の両方に使用できます。例えば、表示オブジェクトの拡大や縮小などです。ある位置でのズームインやズームアウトにも使用できます。拡大 / 縮小変換は、表示オブジェクトの回転および平行移動中に自動的に実行されます。

変換の順序は重要です。サイズ変更に続いて平行移動変換を行うと、平行移動に続いてサイズ変更変換を行う場合とは異なる結果になります。

パラメーター

xScale:Number — オブジェクトを x 軸方向に拡大 / 縮小するために使用される乗数です。
 
yScale:Number — オブジェクトを y 軸方向に拡大 / 縮小するために使用される乗数です。
 
zScale:Number — オブジェクトを z 軸方向に拡大 / 縮小するために使用される乗数です。

関連する API エレメント

prependTranslation

()メソッド 
public function prependTranslation(x:Number, y:Number, z:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

x 軸、y 軸、z 軸上のインクリメンタルな位置の変更を Matrix3D オブジェクトの先頭に追加します。Matrix3D オブジェクトが表示オブジェクトに適用されると、マトリックスは Matrix3D オブジェクトの他の変換の前に平行移動の変更を行います。

平行移動は、表示オブジェクトが現在の位置から x 軸、y 軸、および z 軸に沿って移動する距離を指定します。prependTranslation() メソッドは、3 つの軸(x,y,z)上の 3 つの増分変更のセットとして平行移動を設定します。平行移動の変更が特定の軸のみに影響するようにするには、他のパラメーターを 0 に設定します。パラメーター 0 は、特定の軸に沿った変更が行われないことを意味します。

平行移動の変更は絶対的ではありません。結果はオブジェクト基準です。つまり、元の位置と方向の参照フレームを基準とします。変換マトリックスの絶対変更を行うには、recompose() メソッドを使用します。変換の順序も重要です。平行移動に続いて回転変換を行うと、回転に続いて平行移動変換を行う場合とは異なる結果になります。prependTranslation() を使用すると、表示オブジェクトは他の変換に関係なく向いている方向に移動し続けます。例えば、表示オブジェクトが正の x 軸の方を向いている場合、オブジェクトがどのように回転されたかに関係なく、prependTranslation() メソッドで指定された方向に移動し続けます。平行移動の変更が他の変換の後に行われるようにするには、appendTranslation() メソッドを使用します。

パラメーター

x:Number — x 軸上のインクリメンタルな位置の変更です。
 
y:Number — y 軸上のインクリメンタルな位置の変更です。
 
z:Number — z 軸上のインクリメンタルな位置の変更です。

関連する API エレメント


例  ( この例の使用方法 )

この例では、ユーザーはマウスを使用して楕円をステージの y 軸の上方に向かって動かすことができます。ユーザーがマウスを楕円に合わせると、楕円は y 軸を 10 座標上に移動します。マウスを楕円から移動すると、楕円が上端まで到達していない場合、楕円は再び y 軸を 10 座標上に移動します。楕円は上端に到達すると、ステージの下部に戻ります。
package {
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.geom.*;
    import flash.events.MouseEvent;

    public class Matrix3DprependTranslationExample extends MovieClip {
        private var ellipse:Sprite = new Sprite();

        public function Matrix3DprependTranslationExample():void {
            ellipse.x = this.stage.stageWidth / 2;
            ellipse.y = this.stage.stageHeight - 100;
            ellipse.z = 1;
            ellipse.graphics.beginFill(0xFF0000);
            ellipse.graphics.lineStyle(2);
            ellipse.graphics.drawEllipse(0, 0, 60, 50);
            ellipse.graphics.endFill();
            addChild(ellipse);

            ellipse.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
            ellipse.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
        }

        private function mouseOverHandler(e:MouseEvent):void {
            if(ellipse.y > 0) { 
                ellipse.transform.matrix3D.prependTranslation(0, -10, 0);
            } 
        }
        
        private function mouseOutHandler(e:MouseEvent):void {
            if(ellipse.y > 0) { 
                ellipse.transform.matrix3D.prependTranslation(0, -10, 0);
            } else {
                ellipse.transform.matrix3D.prependTranslation(0, 
                                     (this.stage.stageHeight - 100), 0);
            }   
        }
    }
}

recompose

()メソッド 
public function recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

変換マトリックスの平行移動、回転、および拡大 / 縮小を設定します。表示オブジェクトの回転プロパティまたは Matrix3D オブジェクトの回転メソッドによって行われる増分変化とは異なり、recompose() メソッドは絶対変化です。recompose() メソッドは、マトリックスの変換を上書きします。

絶対親参照フレームを使用してマトリックスの変換を変更するには、decompose() メソッドを使用して設定を取得し、適切な変更を行います。次に、recompose() メソッドを使用して、Matrix3D オブジェクトを変更された変換に設定します。

recompose() メソッドのパラメーターは、変換に使用された方向スタイルを指定します。デフォルトの方向は eulerAngles です。これは、各軸に異なる 3 つの回転角度を使用して方向を定義します。回転は連続して行われ、それぞれの軸は変更されません。表示オブジェクトの軸回転プロパティは、Euler 角度方向スタイル変換を実行します。その他の方向スタイルオプションは、axisAnglequaternion です。軸角度方向は、軸と角度の組み合わせを使用して方向を決定します。オブジェクトの回転の中心となる軸は、方向を表す単位ベクトルです。角度は、ベクトルに関する回転の大きさを表します。方向は表示オブジェクトの向きも決定し、角度はどちらが上かを決定します。appendRotation() メソッドと prependRotation() メソッドは、軸角度方向を使用します。四元数方向は、複素数とベクターの 4 番目のエレメントを使用します。方向は、3 つの回転軸(x,y,z)と 1 つの回転角度(w)で表されます。interpolate() メソッドは四元数を使用します。

パラメーター

components:Vector.<Vector3D> — Matrix3D オブジェクトの平行移動、回転、および拡大 / 縮小の各要素を置き換える 3 つの Vector3D オブジェクトのベクターです。
 
orientationStyle:String (default = "eulerAngles") — マトリックス変換に使用される方向スタイルを決定するオプションパラメーターです。方向スタイルには、eulerAngles(定数 EULER_ANGLES)、axisAngle(定数 AXIS_ANGLE)および quaternion(定数 QUATERNION)の 3 種類があります。様々な方向スタイルの詳細については、geom.Orientation3D クラスを参照してください。

戻り値
Booleancomponents ベクターの Vector3D エレメントがどれも存在していないか null の場合は、false を返します。

関連する API エレメント

transformVector

()メソッド 
public function transformVector(v:Vector3D):Vector3D

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

変換マトリックスを使用して、Vector3D オブジェクトをある空間座標から別の空間座標に変換します。返された Vector3D オブジェクトは、変換後の新しい座標を保持します。平行移動を含むすべてのマトリックス変換が Vector3D オブジェクトに適用されます。

transformVector() メソッドの結果が表示オブジェクトの位置に適用されると、表示オブジェクトの位置のみが変更されます。表示オブジェクトの回転エレメントおよび拡大 / 縮小エレメントは同じ状態のままです。

注意:このメソッドにより、渡された Vector3D の w 要素が自動的に 1.0 に設定されます。

パラメーター

v:Vector3D — 変換される座標を保持する Vector3D オブジェクトです。

戻り値
Vector3D — 変換された座標を持つ Vector3D オブジェクトです。

関連する API エレメント

transformVectors

()メソッド 
public function transformVectors(vin:Vector.<Number>, vout:Vector.<Number>):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

変換マトリックスを使用して、数値のベクターをある空間座標から別の空間座標に変換します。tranformVectors() メソッドは、vin Vector オブジェクトの 3 つの数値ごとに数値を 3D 座標(x,y,z)として読み取り、変換された 3D 座標を vout Vector オブジェクトに配置します。平行移動を含むすべてのマトリックス変換が vin Vector オブジェクトに適用されます。transformVectors() メソッドを使用すると、3D オブジェクトをメッシュとして描画および変換できます。メッシュとは、オブジェクトのシェイプを定義する頂点のコレクションです。

パラメーター

vin:Vector.<Number> — 数値のベクターでは、3 つの数値ごとに、変換される 3D 座標(x,y,z)を表します。
 
vout:Vector.<Number> — 数値のベクターでは、3 つの数値ごとに、変換された 3D 座標(x,y,z)を表します。

関連する API エレメント

transpose

()メソッド 
public function transpose():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

現在の Matrix3D オブジェクトを、行と列が入れ替わったマトリックスに変換します。例えば、現在の Matrix3D オブジェクトの rawData1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34 という 16 の数値が含まれる場合、transpose() メソッドは 4 つのエレメントごとに 1 行として読み取り、行を列に変換します。結果は、rawData1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34 のマトリックスになります。

transpose() メソッドは、現在のマトリックスを転置されたマトリックスに置き換えます。現在のマトリックスを変更せずにマトリックスを転置するには、clone() メソッドを使用して現在のマトリックスをコピーした後、transpose() メソッドをコピーに適用します。

直交マトリックスとは、転置が反転と等しい正方マトリックスです。





[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。