Naslaggids voor Adobe ActionScript® 3.0 voor het Adobe® Flash®-platform
Startpagina  |  Lijst met pakketten en klassen verbergen |  Pakketten  |  Klassen  |  Nieuw  |  Index  |  Bijlagen  |  Waarom in het Engels?
Filters: AIR 30.0 en eerder, Flash Player 30.0 en eerder, Flash Lite 4
Flex 4.6 en eerder, Flash Pro CS6 en eerder
Filters verbergen
flash.geom 

Matrix3D  - AS3

Pakkettenx

Hoofdniveau
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

Taalelementen

Algemene constanten
Algemene functies
Operatoren
Programmeerinstructies, gereserveerde woorden en compileraanwijzingen
Speciale typen

Bijlagen

Nieuw
Compilerfouten
Compilerwaarschuwingen
Uitvoeringsfouten
Migreren naar ActionScript 3
Ondersteunde tekensets
Alleen MXML-labels
Elementen van bewegings-XML
Timed Text-tags
Lijst van vervangen elementen
Constanten voor toegankelijkheidsimplementatie
ActionScript-voorbeelden gebruiken
Juridische kennisgeving
Pakketflash.geom
Klassepublic class Matrix3D
OverervingMatrix3D Inheritance Object

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

De klasse Matrix3D vertegenwoordigt een transformatiematrix die de positie en oriëntatie van een driedimensionaal (3D) weergaveobject bepaalt. De matrix kan worden gebruikt voor het uitvoeren van transformatiefuncties, waaronder transleren (verplaatsen langs de x-, y- en z-assen), roteren en schalen (formaat wijzigen). De klasse Matrix3D kan ook worden gebruikt voor het uitvoeren van perspectiefprojectie, waarbij punten uit de ruimte met 3D-coördinaten worden toegewezen aan een tweedimensionale (2D) weergave.

Eén matrix kan verschillende transformaties ondersteunen en tegelijkertijd toepassen op een 3D-weergaveobject. Een matrix kan bijvoorbeeld worden toegepast op 3D-coördinaten om eerst te roteren en vervolgens te transleren.

Wanneer u de eigenschap z, of een van de andere eigenschappen voor roteren of schalen, van een weergaveobject expliciet instelt, wordt er automatisch een bijbehorend Matrix3D-object gemaakt.

Gebruik de eigenschap transform.matrix3d om toegang te krijgen tot het object Matrix3D van een 3D-weergaveobject. 2D-objecten hebben geen Matrix3D-object.

De waarde van de eigenschap z van een 2D-object is nul en de waarde van de eigenschap matrix3D is null.

Opmerking: Als hetzelfde Matrix3D-object wordt toegewezen aan twee verschillende weergaveobjecten, treedt er een runtime-fout op.

De klasse Matrix3D maakt gebruik van een matrix van 4x4: een tabel met vier rijen en kolommen met getallen die de gegevens voor de transformatie bevatten. De eerste drie rijen van de matrix bevatten gegevens voor elke 3D-as (x,y,z). De vertaalinformatie staat in de laatste kolom. De oriëntatie- en schalingsgegevens staan in de eerste drie kolommen. De schalingsfactoren zijn de diagonale getallen in de eerste drie kolommen. Hier ziet u een voorstelling van Matrix3D-elementen:

Matrix3D-elementen

U hebt geen uitgebreide kennis van matrices nodig om de klasse Matrix3D te kunnen gebruiken. De klasse omvat specifieke methoden die transformatie en projectie vereenvoudigen, zoals de methoden appendTranslation(), appendRotation() en interpolateTo(). U kunt ook de methoden decompose() en recompose(), of de eigenschap rawData, gebruiken om toegang te krijgen tot de onderliggende matrixelementen.

Weergaveobjecten bewaren hun eigen asrotatie-eigenschappen zodat ze voor elke as een afzonderlijke rotatie kunnen hebben en de verschillende combinaties van rotaties kunnen beheren. Als een methode van een Matrix3D-object wordt aangeroepen om een weergaveobject te transformeren, wordt de rotatiecache van het object ongeldig gemaakt.

Verwante API-elementen



Openbare eigenschappen
 EigenschapGedefinieerd door
 Inheritedconstructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie.
Object
  determinant : Number
[alleen-lezen] Een getal dat bepaalt of een matrix kan worden geïnverteerd.
Matrix3D
  position : Vector3D
Een Vector3D-object dat de positie, de 3D-coördinaat (x,y,z), van een weergaveobject bevat binnen het verwijzingsframe van de transformatie.
Matrix3D
  rawData : Vector.<Number>
Een vector van 16 getallen, waarbij elke vier elementen een kolom vormen van een matrix van 4 x 4.
Matrix3D
Openbare methoden
 MethodeGedefinieerd door
  
Matrix3D(v:Vector.<Number> = null)
Maakt een Matrix3D-object.
Matrix3D
  
Breidt de matrix uit door een ander Matrix3D-object te vermenigvuldigen met het huidige Matrix3D-object.
Matrix3D
  
appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Voegt een incrementele rotatie toe aan een Matrix3D-object.
Matrix3D
  
appendScale(xScale:Number, yScale:Number, zScale:Number):void
Voegt een incrementele schaalwijziging langs de X-, Y- en Z-assen, toe aan een Matrix3D-object.
Matrix3D
  
Voegt een incrementele vertaling, een herplaatsing langs de X-, Y- en Z-assen, toe aan een Matrix3D-object.
Matrix3D
  
Retourneert een nieuw Matrix3D-object dat een exacte kopie is van het huidige Matrix3D-object.
Matrix3D
  
copyColumnFrom(column:uint, vector3D:Vector3D):void
Hiermee wordt een Vector3D-object naar een specifieke kolom van het aanroepende Matrix3D-object gekopieerd.
Matrix3D
  
copyColumnTo(column:uint, vector3D:Vector3D):void
Hiermee wordt een specifieke kolom van het aanroepende Matrix3D-object naar het Vector3D-object gekopieerd.
Matrix3D
  
copyFrom(sourceMatrix3D:Matrix3D):void
Hiermee worden alle matrixgegevens gekopieerd van het Matrix3D-bronobject naar het aanroepende Matrix3D -object.
Matrix3D
  
copyRawDataFrom(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Hiermee worden alle vectorgegevens gekopieerd van het vectorbronobject naar het aanroepende Matrix3D-object.
Matrix3D
  
copyRawDataTo(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Hiermee worden alle matrixgegevens gekopieerd van het aanroepende Matrix3D-object naar de beschikbare vector.
Matrix3D
  
copyRowFrom(row:uint, vector3D:Vector3D):void
Hiermee wordt een Vector3D-object naar een specifieke rij van het aanroepende Matrix3D-object gekopieerd.
Matrix3D
  
copyRowTo(row:uint, vector3D:Vector3D):void
Hiermee wordt een specifieke rij van het aanroepende Matrix3D-object naar het Vector3D-object gekopieerd.
Matrix3D
  
Matrix3D
  
decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>
Retourneert de vertalings-, rotatie- en schaalinstellingen van de transformatiematrix als een vector van drie Vector3D-objecten.
Matrix3D
  
Gebruikt de transformatiematrix zonder de vertaalelementen om een Vector3D-object te transformeren van de ene ruimtecoördinaat naar een andere.
Matrix3D
 Inherited
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd.
Object
  
Converteert de huidige matrix naar een identiteits- of eenheidsmatrix.
Matrix3D
  
interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D
[statisch] Interpoleert de vertalings-, rotatie- en schaaltransformatie van een matrix in de richting van deze transformaties van de doelmatrix.
Matrix3D
  
Interpoleert deze matrix in de richting van de vertalings-, rotatie- en schaaltransformaties van de doelmatrix.
Matrix3D
  
Inverteert de huidige matrix.
Matrix3D
 Inherited
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven.
Object
  
pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void
Roteert het weergaveobject zo dat het naar een opgegeven positie is gericht.
Matrix3D
  
Breidt de matrix aan het begin uit door het huidige Matrix3D-object te vermenigvuldigen met een ander Matrix3D-object.
Matrix3D
  
prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Voegt een incrementele rotatie toe aan het begin van een Matrix3D-object.
Matrix3D
  
prependScale(xScale:Number, yScale:Number, zScale:Number):void
Voegt een incrementele schaalwijziging langs de X-, Y- en Z-assen, toe aan het begin van een Matrix3D-object.
Matrix3D
  
Voegt een incrementele vertaling, een herplaatsing langs de X-, Y- en Z-assen, toe aan het begin van een Matrix3D-object.
Matrix3D
 Inherited
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd.
Object
  
recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean
Stelt de instellingen voor vertalen, roteren en schalen van de transformatiematrix in.
Matrix3D
 Inherited
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in.
Object
 Inherited
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies.
Object
 Inherited
Retourneert een tekenreeksrepresentatie van het opgegeven object.
Object
  
Gebruikt de transformatiematrix om een Vector3D-object te transformeren van de ene ruimtecoördinaat naar een andere.
Matrix3D
  
Gebruikt de transformatiematrix om een vector van getallen te transformeren van de ene coördinaatruimte naar een andere.
Matrix3D
  
Converteert het huidige Matrix3D-object in een matrix waarin de rijen en kolommen zijn verwisseld.
Matrix3D
 Inherited
Retourneert de primitieve waarde van het opgegeven object.
Object
Eigenschapdetails

determinant

eigenschap
determinant:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Een getal dat bepaalt of een matrix kan worden geïnverteerd.

Een Matrix3D-object moet inverteerbaar zijn. Met de eigenschap determinant kunt u zeker weten of een Matrix3D-object inverteerbaar is. Als determinant nul is, bestaat er geen inverse van de matrix. Als bijvoorbeeld een hele rij of kolom van een matrix nul is, of als twee rijen of kolommen gelijk zijn, is de determinant nul. Determinant wordt ook gebruikt om een reeks vergelijkingen op te lossen.

Alleen een vierkante matrix, zoals de klasse Matrix3D, heeft een determinant.



Implementatie
    public function get determinant():Number

Verwante API-elementen

position

eigenschap 
position:Vector3D

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Een Vector3D-object dat de positie, de 3D-coördinaat (x,y,z), van een weergaveobject bevat binnen het verwijzingsframe van de transformatie. De eigenschap position biedt rechtstreeks toegang tot de vertaalvector van de matrix van het weergaveobject zonder dat de matrix moet worden ontleed en opnieuw moet worden samengesteld.

Met de eigenschap position kunt u de vertaalelementen van de transformatiematrix ophalen en instellen.



Implementatie
    public function get position():Vector3D
    public function set position(value:Vector3D):void

Verwante API-elementen

rawData

eigenschap 
rawData:Vector.<Number>

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Een vector van 16 getallen, waarbij elke vier elementen een kolom vormen van een matrix van 4 x 4.

Een uitzondering wordt gegenereerd als de eigenschap rawData is ingesteld op een matrix die niet geïnverteerd kan worden. Het Matrix3D-object moet inverteerbaar zijn. Als een niet-inverteerbare matrix nodig is, maakt u een subklasse van het Matrix3D-object.



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

Verwante API-elementen

Constructordetails

Matrix3D

()Constructor
public function Matrix3D(v:Vector.<Number> = null)

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Maakt een Matrix3D-object. Matrix3D-objecten kunnen worden geïnitialiseerd met een vector van 16 getallen, waarbij elke vier elementen een kolom vormen. Wanneer het Matrix3D-object is gemaakt, kunt u de matrixelementen benaderen via de eigenschap rawData.

Als geen parameter is gedefinieerd, produceert de constructor een identiteit of Matrix3D-eenheidsobject. In de matrixnotatie heeft een identiteitsmatrix de waarde één voor alle elementen op de diagonale hoofdpositie, en de waarde nul voor alle andere elementen. De waarde van de eigenschap rawData van een identiteitsmatrix is: 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1. De positie of vertaalwaarde van de identiteitsmatrix is Vector3D(0,0,0), de rotatie-instelling is Vector3D(0,0,0) en de schaalwaarde is Vector3D(1,1,1).

Parameters
v:Vector.<Number> (default = null) — Een vector van 16 getallen, waarbij elke vier elementen een kolom vormen van een matrix van 4 x 4.

Verwante API-elementen

Methodedetails

append

()methode
public function append(lhs:Matrix3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Breidt de matrix uit door een ander Matrix3D-object te vermenigvuldigen met het huidige Matrix3D-object. Het resultaat is een combinatie van beide matrixtransformaties. U kunt een Matrix3D-object met vele matrixen vermenigvuldigen. Het uiteindelijke Matrix3D-object bevat het resultaat van alle transformaties.

Matrixvermenigvuldiging is iets anders dan matrixoptelling. Matrixvermenigvuldiging is niet verwisselbaar. Met andere woorden, A maal B is niet hetzelfde als B maal A. Met de methode append() vindt de vermenigvuldiging plaats vanaf de linkerzijde. Dat betekent dat het Matrix3D-object lhs zich aan de linkerkant van de vermenigvuldigingsoperator bevindt.

dezeMatrix = lhs * dezeMatrix;

De eerste keer dat de methode append() wordt aangeroepen, wordt een wijziging ten aanzien van de bovenliggende ruimte doorgevoerd. Volgende aanroepen hebben betrekking op het referentiekader van het toegevoegde Matrix3D-object.

De methode append() vervangt de huidige matrix door de toegevoegde matrix. Als u twee matrixen wilt toevoegen zonder de huidige matrix te veranderen, kopieert u de huidige matrix met de methode clone() en past u op de kopie de methode append() toe.

Parameters

lhs:Matrix3D — Een matrix aan de linkerzijde die wordt vermenigvuldigd met het huidige Matrix3D-object.

Verwante API-elementen

appendRotation

()methode 
public function appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele rotatie toe aan een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de rotatie uit na de andere transformaties in het Matrix3D-object.

De rotatie van een weergaveobject wordt gedefinieerd door een as, een incrementele rotatiegraad rond de as en een optioneel draaipunt voor het middelpunt van de rotatie van het object. De as kan elke richting hebben. De gewone assen zijn de X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) en Z_AXIS (Vector3D(0,0,1)). In vliegtuigterminologie wordt de rotatie rond de Y-as een gier genoemd. De rotatie rond de X-as wordt een instelhoek genoemd. De rotatie rond de X-as wordt een rol genoemd.

De volgorde van de transformatie is van belang. Een rotatie, gevolgd door een vertalingstransformatie, geeft een ander effect dan een vertaling, gevolgd door een rotatietransformatie.

Het rotatie-effect is niet absoluut. Het is relatief ten opzichte van de huidige positie en oriëntatie. Gebruik de methode recompose() als u een absolute wijziging wilt aanbrengen in de transformatiematrix. De methode appendRotation() verschilt bovendien van de asrotatie-eigenschap van het weergaveobject, zoals de eigenschap rotationX. De rotatie-eigenschap wordt altijd uitgevoerd voor een vertaling, terwijl de methode appendRotation() wordt uitgevoerd ten opzichte van wat zich al in de matrix bevindt. Als u ervoor wilt zorgen dat u een soortgelijk effect krijgt als de asrotatie-eigenschap van het weergaveobject, gebruikt u de methode prependRotation(), die de rotatie vóór andere transformaties in de matrix uitvoert.

Als de transformatie van de methode appendRotation() wordt uitgevoerd op een Matrix3D-object van een weergaveobject, worden de in de cache opgeslagen waarden van de rotatie-eigenschap van het weergaveobject ongeldig gemaakt.

Een manier om een weergaveobject rond een specifiek punt ten opzichte van zijn locatie te laten draaien, is door de vertaling van het object in te stellen op het opgegeven punt, het object te draaien met de methode appendRotation() en het object weer naar de oorspronkelijke positie te vertalen. In het volgende voorbeeld wordt het 3D-weergaveobject myObject bij de coördinaat (10,10,0) geroteerd langs de y-as.

    
    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);
     
    

Parameters

degrees:Number — De mate van rotatie.
 
axis:Vector3D — De as of richting van rotatie. De normale assen zijn de X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) en Z_AXIS (Vector3D(0,0,1)). Deze vector moet een lengte van één hebben.
 
pivotPoint:Vector3D (default = null) — Een punt dat het middelpunt bepaalt van de rotatie van een object. Het standaarddraaipunt voor een object is het registratiepunt.

Verwante API-elementen

appendScale

()methode 
public function appendScale(xScale:Number, yScale:Number, zScale:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele schaalwijziging langs de X-, Y- en Z-assen, toe aan een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de schaalwijzigingen uit na de andere transformaties in het Matrix3D-object. De standaardschalingsfactor is (1.0, 1.0, 1.0).

De schaal is gedefinieerd als een reeks van drie incrementele wijzigingen langs de drie assen (x,y,z). U kunt elke as vermenigvuldigen met een ander getal. Als de schaalwijzigingen op een weergaveobject worden toegepast, neemt de grootte van het object toe of af. Als u de X-, Y- en Z-as bijvoorbeeld instelt op twee, wordt het object twee keer zo groot, en als u de assen instelt op 0,5 wordt de grootte gehalveerd. Stel de andere parameters in op één als u ervoor wilt zorgen dat de schaaltransformatie alleen invloed heeft op een specifieke as. De parameter één betekent geen schaalwijziging langs de specifieke as.

De methode appendScale() kan worden gebruikt voor formaatwijziging maar ook om vervormingen te beheren, zoals het uitrekken of samentrekken van een weergaveobject, of voor het in- en uitzoomen op een locatie. Schaaltransformaties worden automatisch uitgevoerd tijdens het roteren en vertalen van een weergaveobject.

De volgorde van de transformatie is van belang. Een formaatwijziging, gevolgd door een vertalingstransformatie, geeft een ander effect dan een vertaling, gevolgd door een formaatwijzigingstransformatie.

Parameters

xScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de x-as te schalen.
 
yScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de y-as te schalen.
 
zScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de Z-as te schalen.

Verwante API-elementen

appendTranslation

()methode 
public function appendTranslation(x:Number, y:Number, z:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele vertaling, een herplaatsing langs de X-, Y- en Z-assen, toe aan een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de vertalingswijzigingen uit na de andere transformaties in het Matrix3D-object.

De vertaling is gedefinieerd als een reeks van drie incrementele wijzigingen langs de drie assen (x,y,z). Wanneer de transformatie op een weergaveobject wordt toegepast, beweegt het weergaveobject zich vanuit de huidige locatie langs de X- Y- en Z-assen, zoals met de parameters is gespecificeerd. Stel de andere parameters in op nul als u ervoor wilt zorgen dat de vertaling alleen invloed heeft op een specifieke as. De parameter nul betekent geen wijziging langs de specifieke as.

De vertaalwijzigingen zijn niet absoluut. Ze zijn relatief ten aanzien van de huidige positie en oriëntatie van de matrix. Gebruik de methode recompose() als u een absolute wijziging wilt aanbrengen in de transformatiematrix. De volgorde van de transformatie is ook van belang. Een vertaling, gevolgd door een rotatietransformatie, geeft een ander effect dan een rotatie, gevolgd door een vertaling.

Parameters

x:Number — Een incrementele vertaling langs de X-as.
 
y:Number — Een incrementele vertaling langs de Y-as.
 
z:Number — Een incrementele vertaling langs de Z-as.

Verwante API-elementen

clone

()methode 
public function clone():Matrix3D

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Retourneert een nieuw Matrix3D-object dat een exacte kopie is van het huidige Matrix3D-object.

Geretourneerde waarde
Matrix3D — Een nieuw Matrix3D-object dat een exacte kopie is van het huidige Matrix3D-object.

copyColumnFrom

()methode 
public function copyColumnFrom(column:uint, vector3D:Vector3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee wordt een Vector3D-object naar een specifieke kolom van het aanroepende Matrix3D-object gekopieerd.

Parameters

column:uint — De doelkolom van de kopie.
 
vector3D:Vector3D — Het Vector3D-object waaruit de gegevens moeten worden gekopieerd.

copyColumnTo

()methode 
public function copyColumnTo(column:uint, vector3D:Vector3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee wordt een specifieke kolom van het aanroepende Matrix3D-object naar het Vector3D-object gekopieerd.

Parameters

column:uint — De kolom waaruit de gegevens moeten worden gekopieerd.
 
vector3D:Vector3D — Het doel-Vector3D-object van de kopie.

copyFrom

()methode 
public function copyFrom(sourceMatrix3D:Matrix3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee worden alle matrixgegevens gekopieerd van het Matrix3D-bronobject naar het aanroepende Matrix3D -object.

Parameters

sourceMatrix3D:Matrix3D — Het Matrix3D-object waaruit de gegevens moeten worden gekopieerd.

copyRawDataFrom

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

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee worden alle vectorgegevens gekopieerd van het vectorbronobject naar het aanroepende Matrix3D-object. Met de optionele indexparameter kunt u elk startpunt in de vector selecteren.

Parameters

vector:Vector.<Number> — Het vectorobject waaruit de gegevens moeten worden gekopieerd.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRawDataTo

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

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee worden alle matrixgegevens gekopieerd van het aanroepende Matrix3D-object naar de beschikbare vector. Met de optionele indexparameter kunt u elk doelstartpunt in de vector selecteren.

Parameters

vector:Vector.<Number> — Het vectorobject waarin de gegevens moeten worden gekopieerd.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRowFrom

()methode 
public function copyRowFrom(row:uint, vector3D:Vector3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee wordt een Vector3D-object naar een specifieke rij van het aanroepende Matrix3D-object gekopieerd.

Parameters

row:uint — De rij waarin de gegevens moeten worden gekopieerd.
 
vector3D:Vector3D — Het Vector3D-object waaruit de gegevens moeten worden gekopieerd.

copyRowTo

()methode 
public function copyRowTo(row:uint, vector3D:Vector3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0, Flash Lite 4

Hiermee wordt een specifieke rij van het aanroepende Matrix3D-object naar het Vector3D-object gekopieerd.

Parameters

row:uint — De rij waaruit de gegevens moeten worden gekopieerd.
 
vector3D:Vector3D — Het Vector3D-object waarnaar de gegevens moeten worden gekopieerd.

copyToMatrix3D

()methode 
public function copyToMatrix3D(dest:Matrix3D):void

Parameters

dest:Matrix3D

decompose

()methode 
public function decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Retourneert de vertalings-, rotatie- en schaalinstellingen van de transformatiematrix als een vector van drie Vector3D-objecten. Het eerste Vector3D-object bevat de vertalingselementen. Het tweede Vector3D-object bevat de rotatie-elementen. Het derde Vector3D-object bevat de schaalelementen.

Sommige Matrix3D-methoden, zoals de methode interpolateTo() ontleden de matrix automatisch en stellen deze opnieuw samen om hun transformatie uit te voeren.

Als u de transformatie van een matrix wilt wijzigen met een absoluut bovenliggend referentiekader, haalt u de instellingen op met de methode decompose() en brengt u de gewenste wijzigingen aan. U kunt het Matrix3D-object vervolgens op de gewijzigde transformatie instellen met de methode recompose().

De parameter van de methode decompose() bepaalt de oriëntatiestijl die voor de transformatie moet worden gebruikt. De standaardoriëntatie is eulerAngles; deze definieert de oriëntatie met drie afzonderlijke rotatiehoeken voor elke as. De rotaties worden opeenvolgend uitgevoerd en veranderen elkaars as niet. De asrotatie-eigenschappen van het weergaveobject voeren een transformatie met de oriëntatiestijl Euler-hoeken uit. De andere mogelijke oriëntatiestijlen zijn axisAngle en quaternion. De oriëntatie van de ashoek maakt gebruik van een combinatie van een as en een hoek om de oriëntatie te bepalen. De as waaromheen het object wordt gedraaid is een eenheidsvector die een richting voorstelt. De hoek stelt de grootte van de rotatie rond de vector voor. De richting bepaalt ook waarnaar een weergaveobject is gericht en de hoek bepaalt welke kant naar boven is gericht. De methoden appendRotation() en prependRotation() maken gebruik van de oriëntatie Ashoek. De viertal-oriëntatie maakt gebruik van complexe getallen en het vierde element van een vector. De oriëntatie wordt voorgesteld door de drie rotatieassen (x,y,z) en een rotatiehoek (w). De methode interpolate() maakt gebruik van viertallen.

Parameters

orientationStyle:String (default = "eulerAngles") — Een optionele parameter die de oriëntatiestijl bepaalt die voor de matrixtransformatie wordt gebruikt. De drie verschillende oriëntatiestijlen zijn eulerAngles (constante EULER_ANGLES), axisAngle (constante AXIS_ANGLE) en quaternion (constante QUATERNION). Zie de klasse geom.Orientation3D voor meer informatie over de verschillende oriëntatiestijlen.

Geretourneerde waarde
Vector.<Vector3D> — Een vector van drie Vector3D-objecten, die respectievelijk de instellingen bevatten voor vertaling, rotatie en schaal.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In dit voorbeeld worden de methoden decompose() en recompose() gebruikt om een ovaal horizontaal uit te rekken terwijl deze zich naar een verdwijnend punt beweegt. Het eerste Vector3D-object dat door de methode decompose() wordt geretourneerd, bevat de coördinaten voor vertaling. Het derde Vector3D-object bevat de schaalinstellingen. De methode incrementBy() van het Vector3D-object verhoogt de absolute instellingen voor vertaling en schalen van de matrix.
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

()methode 
public function deltaTransformVector(v:Vector3D):Vector3D

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Gebruikt de transformatiematrix zonder de vertaalelementen om een Vector3D-object te transformeren van de ene ruimtecoördinaat naar een andere. Het geretourneerde Vector3D-object bevat de nieuwe coördinaten nadat de rotatie- en schaaltransformaties zijn toegepast. Als de methode deltaTransformVector() van toepassing is op een matrix die alleen een vertaaltransformatie bevat, is het geretourneerde Vector3D-object gelijk aan het originele Vector3D-object.

Met de methode deltaTransformVector() kunt u een weergaveobject in één coördinaatruimte laten antwoorden op de rotatietransformatie van een tweede weergaveobject. Het object kopieert de rotatie niet, maar verandert alleen de positie om de wijzigingen in de rotatie te weerspiegelen. Als u bijvoorbeeld de API display.Graphics wilt gebruiken voor het tekenen van een roterend 3D-weergaveobject, moet u de rotatiecoördinaten van het object toewijzen aan een 2D-punt. Gebruik eerst de methode deltaTransformVector() om na elke rotatie de 3D-coördinaten van het object op te halen. Pas vervolgens de methode local3DToGlobal() van het weergaveobject toe om de 3D-coördinaten te transleren naar 2D-punten. Vervolgens kunt u de 2D-punten gebruiken om het roterende 3D-object te tekenen.

Opmerking: Deze methode stelt de w-component van de doorgestuurde Vector3D automatisch in op 0.0.

Parameters

v:Vector3D — Een Vector3D-object dat de coördinaten bevat die zullen worden getransformeerd.

Geretourneerde waarde
Vector3D — Een Vector3D-object met de getransformeerde coördinaten.

Verwante API-elementen

identity

()methode 
public function identity():void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Converteert de huidige matrix naar een identiteits- of eenheidsmatrix. Een identiteitsmatrix heeft de waarde één voor de elementen langs de hoofddiagonaal en de waarde nul voor alle andere elementen. Het resultaat is een matrix waarvan de waarde rawData 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 is, de rotatie is ingesteld op Vector3D(0,0,0), de positie en vertaling zijn ingesteld op Vector3D(0,0,0) en de schaal is ingesteld op Vector3D(1,1,1). Hier ziet u een voorstelling van een identiteitsmatrix.

Identiteitsmatrix

Een object dat is getransformeerd door een identiteitsmatrix toe te passen, voert geen transformatie uit. Met andere woorden, als een matrix wordt vermenigvuldigd met een identiteitsmatrix, is het resultaat een matrix die identiek is aan de originele matrix.

interpolate

()methode 
public static function interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Interpoleert de vertalings-, rotatie- en schaaltransformatie van een matrix in de richting van deze transformaties van de doelmatrix.

Met de methode interpolate() vermijdt u bepaalde ongewenste resultaten die kunnen optreden bij methoden zoals de asrotatie-eigenschappen van het weergaveobject. De methode interpolate() maakt de in de cache opgeslagen waarde van de rotatie-eigenschap van het weergaveobject ongeldig en converteert de oriëntatie-eigenschappen van de matrix van het weergaveobject vóór de interpolatie naar een viertal. Deze methode garandeert het kortste en meest doeltreffende pad voor rotatie. Het produceert eveneens een vloeiende rotatie zonder kompasvergrendeling. Bij het gebruik van Euler-hoeken, waarbij elke as onafhankelijk wordt afgehandeld, kan een kompasvergrendeling optreden. Tijdens de rotatie rond twee of meer assen, kunnen de assen worden uitgelijnd, wat tot onverwachte resultaten leidt. Met Viertal-rotatie vermijdt u een kompasvergrendeling.

Opeenvolgende aanroepen naar de methode interpolate() kunnen het effect opleveren van een weergaveobject dat snel begint en vervolgens langzaam een ander weergaveobject nadert Als u de parameter thisMat bijvoorbeeld instelt op het geretourneerde Matrix3D-object, de parameter toMat op het Matrix3D-object dat aan het doelweergaveobject is gekoppeld en de parameter percent op 0.1, verplaatst het weergaveobject zich tien procent in de richting van het doelobject. Bij volgende aanroepen of in volgende kaders verplaatst het object zich tien procent van de resterende 90 procent, daarna tien procent van de resterende afstand, totdat het object het doel heeft bereikt.

Parameters

thisMat:Matrix3D — Het Matrix3D-object dat moet worden geïnterpoleerd.
 
toMat:Matrix3D — Het doel-Matrix3D-object.
 
percent:Number — Een waarde tussen 0 en 1 die het percentage bepaalt dat het Matrix3D-object thisMat wordt geïnterpoleerd in de richting van het doel-Matrix3D-object.

Geretourneerde waarde
Matrix3D — Een Matrix3D-object met elementen die de waarden van de matrix tussen de originele matrix en de doelmatrix plaatsen. Als de geretourneerde matrix wordt toegepast op weergaveobject this, verplaatst het object zich één procent dichter naar het doelobject toe.

Verwante API-elementen

interpolateTo

()methode 
public function interpolateTo(toMat:Matrix3D, percent:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Interpoleert deze matrix in de richting van de vertalings-, rotatie- en schaaltransformaties van de doelmatrix.

Met de methode interpolateTo() vermijdt u de ongewenste resultaten die kunnen optreden bij methoden zoals de asrotatie-eigenschappen van het weergaveobject. De methode interpolateTo() maakt de in de cache opgeslagen waarde van de rotatie-eigenschap van het weergaveobject ongeldig en converteert de oriëntatie-eigenschappen van de matrix van het weergaveobject vóór de interpolatie naar een viertal. Deze methode garandeert het kortste en meest doeltreffende pad voor rotatie. Het produceert eveneens een vloeiende rotatie zonder kompasvergrendeling. Bij het gebruik van Euler-hoeken, waarbij elke as onafhankelijk wordt afgehandeld, kan een kompasvergrendeling optreden. Tijdens de rotatie rond twee of meer assen, kunnen de assen worden uitgelijnd, wat tot onverwachte resultaten leidt. Met Viertal-rotatie vermijdt u een kompasvergrendeling.

Opmerking: in het geval van interpolatie wordt de schaalwaarde van de matrix opnieuw ingesteld en wordt de matrix genormaliseerd.

Opeenvolgende aanroepen naar de methode interpolateTo() kunnen het effect opleveren van een weergaveobject dat snel begint en vervolgens langzaam een ander weergaveobject nadert Als de parameter percent bijvoorbeeld is ingesteld op 0,1, verplaatst het weergaveobject zich tien procent in de richting van het doelobject dat is opgegeven met de parameter toMat. Bij volgende aanroepen of in volgende kaders verplaatst het object zich tien procent van de resterende 90 procent, daarna tien procent van de resterende afstand, totdat het object het doel heeft bereikt.

Parameters

toMat:Matrix3D — Het doel-Matrix3D-object.
 
percent:Number — Een waarde tussen 0 en 1 die de locatie van het weergaveobject ten opzichte van het doel bepaalt. Hoe dichter de waarde bij 1,0 ligt, des te dichter het weergaveobject zich bij de huidige positie bevindt. Hoe dichter de waarde bij 0 ligt, des te dichter het weergaveobject zich bij het doel bevindt.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In dit voorbeeld verplaatst ellipse2, een driedimensionaal weergaveobject, zich in de richting van ellipse1, een ander driedimensionaal weergaveobject. ellipse2 blijft ellipse1 volgen en probeert het te bereiken. Als ellipse1 niet rond zijn Y-as draait, bereikt ellipse2 ellipse1 en landt het er bovenop. De twee ovalen zijn op dezelfde manier getekend, maar zijn op verschillende driedimensionale locaties in de wereldruimte geplaatst.
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

()methode 
public function invert():Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Inverteert de huidige matrix. Een geïnverteerde matrix is even groot als de originele matrix, maar voert de tegenovergestelde transformatie uit van de originele matrix. Als de originele matrix bijvoorbeeld een object heeft dat in de ene richting rond de X-as draait, heeft de inverse van de matrix een object dat in de tegenovergestelde richting rond de as draait. Door een geïnverteerde matrix op een object toe te passen, maakt u niet de transformatie ongedaan die door de originele matrix wordt uitgevoerd. Als een matrix wordt vermenigvuldigd met diens geïnverteerde matrix, is het resultaat een identiteitsmatrix.

Een inversie van een matrix kan worden gebruikt om de ene matrix door een andere te delen. U deelt matrix A dus door matrix B door matrix A te vermenigvuldigen met de inverse van matrix B. De geïnverteerde matrix kan ook worden gebruikt met een cameraruimte. Als de camera zich in de wereldruimte begeeft, moet het object in de wereld zich in de tegenovergestelde richting voortbewegen om te transformeren van de wereldweergave naar de camera- of weergaveruimte. Als de camera bijvoorbeeld dichterbij komt, worden de objecten groter. Met andere woorden, als de camera zich langs de wereld-Z-as naar beneden beweegt, bewegen de objecten langs de wereld-Z-as naar boven.

De methode invert() vervangt de huidige matrix door de geïnverteerde matrix. Als u een matrix wilt inverteren zonder de huidige matrix te veranderen, kopieert u eerst de huidige matrix met de methode clone() en past u op de kopie de methode invert() toe.

Het Matrix3D-object moet inverteerbaar zijn.

Geretourneerde waarde
Boolean — Retourneert true als de matrix met succes is geïnverteerd.

Verwante API-elementen

pointAt

()methode 
public function pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Roteert het weergaveobject zo dat het naar een opgegeven positie is gericht. Met deze methode kan de oriëntatie ter plekke worden gewijzigd. De voorwaartse richtingsvector van het weergaveobject (het Vector3Dobject at) wijst naar de opgegeven wereld-relatieve positie. De opwaartse richting van het weergaveobject wordt opgegeven met het Vector3D-object up.

De methode pointAt() maakt de in de cache opgeslagen waarde voor de rotatie-eigenschap van het weergaveobject ongeldig. De methode ontleedt de matrix van het weergaveobject en wijzigt de rotatie-elementen zodat het object naar de opgegeven positie wordt gedraaid. Daarna wordt de matrix van het weergaveobject opnieuw samengesteld (bijgewerkt), waardoor de transformatie wordt uitgevoerd. Als het object naar een bewegend doel wijst, bijvoorbeeld de positie van een bewegend object, laat de methode het object bij elke volgende aanroep in de richting van het bewegende doel draaien.

Opmerking: als u de Matrix3D.pointAt()-methode gebruikt zonder de optionele parameters in te stellen, wordt het doelobject niet standaard in de opgegeven positie in verhouding tot de wereld weergegeven. U moet de waarden voor at op de -Y-as (0,-1,0) instellen en up op de -Z-as (0,0,-1).

Parameters

pos:Vector3D — De wereld-relatieve positie van het doelobject. Wereld-relatief definieert de transformatie van het object ten opzichte van de wereldruimte en -coördinaten waar alle objecten zijn gepositioneerd.
 
at:Vector3D (default = null) — De object-relatieve vector die bepaalt waar het weergaveobject naartoe wijst. Object-relatief definieert de transformatie van het object ten opzichte van de objectruimte, het eigen referentiekader en coördinatensysteem van het object. Standaardwaarde is de +Y-as (0,1,0).
 
up:Vector3D (default = null) — De object-relatieve vector die 'naar boven' definieert voor het weergaveobject. Als het object is getekend met zicht van boven naar beneden, is de +Z-as de "up"-vector. Object-relatief definieert de transformatie van het object ten opzichte van de objectruimte, het eigen referentiekader en coördinatensysteem van het object. Standaardwaarde is de +Z-as (0,0,1).

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In dit voorbeeld wijst een driehoek naar en volgt deze driehoek het pad van de beweging van de ovaal. De ovaal en de driehoek zijn ingesteld op verschillende locaties. De ovaal beweegt vervolgens omhoog in de richting van de hoek van het werkgebied. De driehoek volgt de vertaalwijzigingen van de ovaal. U kunt de vorm van de driehoek en de parameters "at" en "up" van pointAt() wijzigen om te zien wat de invloed daarvan is op de beweging van de driehoek.
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

()methode 
public function prepend(rhs:Matrix3D):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Breidt de matrix aan het begin uit door het huidige Matrix3D-object te vermenigvuldigen met een ander Matrix3D-object. Het resultaat is een combinatie van beide matrixtransformaties.

Matrixvermenigvuldiging is iets anders dan matrixoptelling. Matrixvermenigvuldiging is niet verwisselbaar. Met andere woorden, A maal B is niet hetzelfde als B maal A. Met de methode prepend() vindt de vermenigvuldiging plaats vanaf de rechterzijde. Dat betekent dat het Matrix3D-object rhs zich aan de rechterkant van de vermenigvuldigingsoperator bevindt.

dezeMatrix = dezeMatrix * rhs

De wijzigingen die met de methode prepend() worden doorgevoerd, vinden plaats ten opzichte van de objectruimte. Met andere woorden, ze zijn altijd relatief ten opzichte van het eerste referentiekader van het object.

De methode prepend() vervangt de huidige matrix door de aan het begin toegevoegde matrix. Als u twee matrixen aan het begin wilt toevoegen zonder de huidige matrix te veranderen, kopieert u eerst de huidige matrix met de methode clone() en past u op de kopie de methode prepend() toe.

Parameters

rhs:Matrix3D — Een rechterzijde van de matrix waarmee de huidige Matrix3D wordt vermenigvuldigd.

Verwante API-elementen

prependRotation

()methode 
public function prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele rotatie toe aan het begin van een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de rotatie uit vóór de andere transformaties in het Matrix3D-object.

De rotatie van een weergaveobject wordt gedefinieerd door een as, een incrementele rotatiegraad rond de as en een optioneel draaipunt voor het middelpunt van de rotatie van het object. De as kan elke richting hebben. De gewone assen zijn de X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) en Z_AXIS (Vector3D(0,0,1)). In vliegtuigterminologie wordt de rotatie rond de Y-as een gier genoemd. De rotatie rond de X-as wordt een instelhoek genoemd. De rotatie rond de X-as wordt een rol genoemd.

De volgorde van de transformatie is van belang. Een rotatie, gevolgd door een vertalingstransformatie, geeft een ander effect dan een vertaling, gevolgd door een rotatie.

Het rotatie-effect is niet absoluut. Het effect is object-relatief, relatief ten opzichte van het referentiekader van de originele positie en oriëntatie. Gebruik de methode recompose() als u een absolute wijziging wilt aanbrengen in de transformatie.

Als de transformatie van de methode prependRotation() wordt uitgevoerd op een Matrix3D-object van een weergaveobject, worden de in de cache opgeslagen waarden van de rotatie-eigenschap van het weergaveobject ongeldig gemaakt.

Eén manier om een weergaveobject te roteren rond een specifiek punt ten opzichte van de eigen locatie is door het translatiepunt van het object in te stellen op dat punt, het object te draaien met de methode prependRotation() en het object weer terug te transleren naar de originele positie. In het volgende voorbeeld wordt het 3D-weergaveobject myObject bij de coördinaat (10,10,0) geroteerd langs de y-as.

    
    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);
     
    

Parameters

degrees:Number — De mate van rotatie.
 
axis:Vector3D — De as of richting van rotatie. De normale assen zijn de X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) en Z_AXIS (Vector3D(0,0,1)). Deze vector moet een lengte van één hebben.
 
pivotPoint:Vector3D (default = null) — Een punt dat het middelpunt van de rotatie bepaalt. Het standaarddraaipunt voor een object is het registratiepunt.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In dit voorbeeld kan de gebruiker de muis bewegen om een ovaal te laten draaien rond de x- en y-as. De ovaal wordt getekend met het registratiepunt in het midden. De ovaal draait rond de y-as met behulp van de x-coördinaat van de muis. Deze draait rond de x-as met behulp van de y-coördinaat van de muis.
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

()methode 
public function prependScale(xScale:Number, yScale:Number, zScale:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele schaalwijziging langs de X-, Y- en Z-assen, toe aan het begin van een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de schaalwijzigingen uit vóór de andere transformaties in het Matrix3D-object. De wijzigingen zijn object-relatief, relatief ten opzichte van het referentiekader van de originele positie en oriëntatie. De standaardschalingsfactor is (1.0, 1.0, 1.0).

De schaal is gedefinieerd als een reeks van drie incrementele wijzigingen langs de drie assen (x,y,z). U kunt elke as vermenigvuldigen met een ander getal. Als de schaalwijzigingen op een weergaveobject worden toegepast, neemt de grootte van het object toe of af. Als u de X-, Y- en Z-as bijvoorbeeld instelt op twee, wordt het object twee keer zo groot, en als u de assen instelt op 0,5 wordt de grootte gehalveerd. Stel de andere parameters in op één als u ervoor wilt zorgen dat de schaaltransformatie alleen invloed heeft op een specifieke as. De parameter één betekent geen schaalwijziging langs de specifieke as.

De methode prependScale() kan worden gebruikt voor formaatwijziging, maar ook voor het beheren van vervormingen, zoals het uitrekken of samentrekken van een weergaveobject. Deze kan ook worden gebruikt om op een locatie in of uit te zoomen. Schaaltransformaties worden automatisch uitgevoerd tijdens het roteren en vertalen van een weergaveobject.

De volgorde van de transformatie is van belang. Een formaatwijziging, gevolgd door een vertalingstransformatie, geeft een ander effect dan een vertaling, gevolgd door een formaatwijzigingstransformatie.

Parameters

xScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de x-as te schalen.
 
yScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de y-as te schalen.
 
zScale:Number — Een vermenigvuldiger die wordt gebruikt om het object langs de Z-as te schalen.

Verwante API-elementen

prependTranslation

()methode 
public function prependTranslation(x:Number, y:Number, z:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voegt een incrementele vertaling, een herplaatsing langs de X-, Y- en Z-assen, toe aan het begin van een Matrix3D-object. Wanneer het Matrix3D-object op een weergaveobject wordt toegepast, voert de matrix de vertalingswijzigingen uit vóór de andere transformaties in het Matrix3D-object.

Vertaling bepaalt de afstand die het weergaveobject langs de X-, Y- en Z-as aflegt vanaf de huidige locatie. De methode prependTranslation() stelt de vertaling in als een reeks van drie incrementele wijzigingen langs de drie assen (x,y,z). Stel de andere parameters in op nul als u wilt dat een vertaling maar één specifieke as verandert. De parameter nul betekent geen wijziging langs de specifieke as.

De vertaalwijzigingen zijn niet absoluut. Het effect is object-relatief, relatief ten opzichte van het referentiekader van de originele positie en oriëntatie. Gebruik de methode recompose() als u een absolute wijziging wilt aanbrengen in de transformatiematrix. De volgorde van de transformatie is ook van belang. Een vertaling, gevolgd door een rotatietransformatie, geeft een ander effect dan een rotatie, gevolgd door een vertalingstransformatie. Als prependTranslation() wordt gebruikt, blijft het weergaveobject zich voortbewegen in de richting waarin het is georiënteerd, ongeacht de andere transformaties. Als een weergaveobject bijvoorbeeld naar een positie X-as is gericht, blijft het zich voortbewegen in de richting die door de methode prependTranslation() is opgegeven, ongeacht hoe het object is geroteerd. Als u wilt dat de vertaling na de andere transformaties plaatsvindt, gebruikt u de methode appendTranslation().

Parameters

x:Number — Een incrementele vertaling langs de X-as.
 
y:Number — Een incrementele vertaling langs de Y-as.
 
z:Number — Een incrementele vertaling langs de Z-as.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In dit voorbeeld kan de gebruiker met een muis een ovaal omhoog langs de y-as van het werkgebied duwen. Als de gebruiker de muis over de ovaal beweegt, springt de ovaal tien coördinaten omhoog langs de y-as. Als de muis zich van de ovaal verwijdert en de ovaal de top nog niet heeft bereikt, springt de ovaal weer tien coördinaten omhoog langs de y-as. Wanneer de ovaal de top heeft bereikt, wordt deze weer naar de onderkant van het werkgebied verplaatst.
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

()methode 
public function recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Stelt de instellingen voor vertalen, roteren en schalen van de transformatiematrix in. In tegenstelling tot de incrementele wijzigingen die worden uitgevoerd door de rotatie-eigenschappen van het weergaveobject of de rotatiemethoden van het Matrix3D-object, zijn de wijzigingen die worden uitgevoerd door de methode recompose() absoluut. De methode recompose() overschrijft de transformatie van de matrix.

Als u de transformatie van een matrix wilt wijzigen met een absoluut bovenliggend referentiekader, haalt u de instellingen op met de methode decompose() en brengt u de gewenste wijzigingen aan. U kunt het Matrix3D-object vervolgens op de gewijzigde transformatie instellen met de methode recompose().

De parameter van de methode recompose() bepaalt de oriëntatiestijl die is gebruikt voor de transformatie. De standaardoriëntatie is eulerAngles; deze definieert de oriëntatie met drie afzonderlijke rotatiehoeken voor elke as. De rotaties worden opeenvolgend uitgevoerd en veranderen elkaars as niet. De asrotatie-eigenschappen van het weergaveobject voeren een transformatie met de oriëntatiestijl Euler-hoeken uit. De andere mogelijke oriëntatiestijlen zijn axisAngle en quaternion. De oriëntatie Ashoek maakt gebruik van de combinatie van een as en een hoek om de oriëntatie te bepalen. De as waaromheen het object wordt gedraaid is een eenheidsvector die een richting voorstelt. De hoek stelt de grootte van de rotatie rond de vector voor. De richting bepaalt ook waarnaar een weergaveobject is gericht en de hoek bepaalt welke kant naar boven is gericht. De methoden appendRotation() en prependRotation() maken gebruik van de oriëntatie Ashoek. De viertal-oriëntatie maakt gebruik van complexe getallen en het vierde element van een vector. Een oriëntatie wordt voorgesteld door de drie rotatieassen (x,y,z) en een rotatiehoek (w). De methode interpolate() maakt gebruik van viertallen.

Parameters

components:Vector.<Vector3D> — Een vector van drie Vector3D-objecten die de elementen voor vertalen, roteren en schalen van het Matrix3D-object vervangen.
 
orientationStyle:String (default = "eulerAngles") — Een optionele parameter die de oriëntatiestijl bepaalt die voor de matrixtransformatie wordt gebruikt. De drie verschillende oriëntatiestijlen zijn eulerAngles (constante EULER_ANGLES), axisAngle (constante AXIS_ANGLE) en quaternion (constante QUATERNION). Zie de klasse geom.Orientation3D voor meer informatie over de verschillende oriëntatiestijlen.

Geretourneerde waarde
Boolean — Retourneert de waarde false als een van de Vector3D-elementen van de vector componentsniet bestaat of de waarde null heeft.

Verwante API-elementen

transformVector

()methode 
public function transformVector(v:Vector3D):Vector3D

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Gebruikt de transformatiematrix om een Vector3D-object te transformeren van de ene ruimtecoördinaat naar een andere. Het geretourneerde Vector3D-object bevat na de transformatie de nieuwe coördinaten. Alle matrixtransformaties, ook de vertaling, worden op het Vector3D-object toegepast.

Als het resultaat van de methode transformVector() is toegepast op de positie van een weergaveobject, verandert alleen de positie van het weergaveobject. De rotatie- en schaalelementen van het weergaveobject veranderen niet.

Opmerking: Deze methode stelt de w-component van de doorgestuurde Vector3D automatisch in op 1.0.

Parameters

v:Vector3D — Een Vector3D-object dat de coördinaten bevat die zullen worden getransformeerd.

Geretourneerde waarde
Vector3D — Een Vector3D-object met de getransformeerde coördinaten.

Verwante API-elementen

transformVectors

()methode 
public function transformVectors(vin:Vector.<Number>, vout:Vector.<Number>):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Gebruikt de transformatiematrix om een vector van getallen te transformeren van de ene coördinaatruimte naar een andere. De methode transformVectors() leest alle reeksen van drie getallen in het Vector-object vin als een 3D-coördinaat (x,y,z) en plaatst een getransformeerde 3D-coördinaat in het Vector-object vout. Alle matrixtransformaties, ook de getransleerde versies, worden op het Vector-object vin toegepast. Gebruik de methode transformVectors() om een 3D-object te renderen en te transformeren als een mesh. Een maas is een verzameling hoekpunten die de vorm van het object definiëren.

Parameters

vin:Vector.<Number> — Een vector van getallen, waarbij een reeks van drie getallen een 3D-coördinaat (x,y,z) vormt die wordt getransformeerd.
 
vout:Vector.<Number> — Een vector van getallen, waarbij een reeks van drie getallen een getransformeerde 3D-coördinaat (x,y,z) vormt.

Verwante API-elementen

transpose

()methode 
public function transpose():void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Converteert het huidige Matrix3D-object in een matrix waarin de rijen en kolommen zijn verwisseld. Als de rawData van het huidige Matrix3D-object bijvoorbeeld de volgende 16 getallen bevat, 1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34, leest de methode transpose() telkens vier elementen als rij en worden de rijen in kolommen omgezet. Het resultaat is een matrix met de volgende rawData: 1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34.

De methode transpose() vervangt de huidige matrix door een omgezette matrix. Als u een matrix wilt omzetten zonder de huidige matrix te veranderen, kopieert u eerst de huidige matrix met de methode clone() en past u op de kopie de methode transpose() toe.

Een orthogonale matrix is een vierkante matrix waarvan de transpositie gelijk is aan zijn inverse.





[ X ]Waarom in het Engels?
Sommige inhoud van de Naslaggids voor ActionScript 3.0 staat in het Engels

Niet alle onderdelen van de Naslaggids voor ActionScript 3.0 zijn in alle talen vertaald. Wanneer een taalelement niet is vertaald, wordt het in het Engels weergegeven. Zo is de klasse ga.controls.HelpBox niet in elke taal vertaald. In de Nederlandse versie van de naslaggids wordt de klasse ga.controls.HelpBox bijvoorbeeld in het Engels weergegeven.