Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: AIR 30.0 och tidigare, Flash Player 30.0 och tidigare, Flash Lite 4
Flex 4.6 och tidigare, Flash Pro CS6 och tidigare
Dölj filter
flash.geom 

Matrix3D  - AS3

Paketx

Översta nivån
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

Språkelement

Globala konstanter
Globala funktioner
Operatorer
Programsatser, nyckelord och direktiv
Specialtyper

Bilagor

Nyheter
Kompilatorfel
Kompileringsvarningar
Körningsfel
Flytta till ActionScript 3
Teckenuppsättningar som stöds
Endast MXML-taggar
Motion XML-element
Timed Text-taggar
Lista över borttagna element
Konstanter för hjälpmedelsimplementering
Använda ActionScript-exempel
Juridiska meddelanden
Paketflash.geom
Klasspublic class Matrix3D
ArvMatrix3D Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Klassen Matrix3D representerar en omformningsmatris som avgör position och orientering för ett tredimensionellt (3D) visningsobjekt. Matrisen kan användas för att utföra omformningsfunktioner inklusive förflyttning (ompositionering längs x-, y-, och z-axlarna), rotation och skalning (storleksändring). Klassen Matrix3D kan också utföra perspektivprojektion som mappar punkter från 3D-koordinatrymden till en tvådimensionell (2D) vy.

En ensam matris kan kombinera flera omformningar och tillämpa dem samtidigt på ett 3D-visningsobjekt. Till exempel kan en matris användas i 3D-koordinater för att utföra en rotation som följs av en förflyttning.

När du uttryckligen ställer in z-egenskapen eller någon av rotations- eller skalningsegenskaperna för ett visningsobjekt, skapas ett motsvarande Matrix3D-objekt automatiskt.

Du kan komma åt ett 3D-visningsobjekts Matrix3D-objekt genom egenskapen transform.matrix3d. 2D-objekt har inte något Matrix3D-objekt.

Värdet på z-egenskapen för ett 2D-objekt är noll och värdet på dess matrix3D-egenskap är null.

Obs! Om samma Matrix3D-objekt tilldelas till två olika visningsobjekt, genereras ett körningsfel.

Matrix3D-klassen använder en 4x4 fyrkantig matris: en tabell på fyra rader och kolumner med nummer som innehåller data för omformningen. De första tre raderna av matrisen innehåller data för varje 3D-axel (x,y,z). Översättningsinformation finns i den sista kolumnen. Orienterings- och skalningsinformationen finns i de tre första kolumnerna. Skalningsfaktorerna är de diagonala numren i de tre första kolumnerna. Här visas Matrix3D-elementen:

Matrix3D-element

Du behöver inte förstå matrismatematik för att använda klassen Matrix3D. Den har specifika metoder som förenklar omformning och projektion, som till exempel metoderna appendTranslation(), appendRotation() och interpolateTo(). Du kan också använda metoderna decompose() och recompose() eller egenskapen rawData för att komma åt de underliggande matriselementen.

Visningsobjekt cachelagrar axelrotationsegenskaperna så att separat rotation kan skapas för varje axel, samt för att hantera de olika rotationskombinationerna. När en metod för ett Matrix3D-objekt anropas för att omforma ett visningsobjekt görs objektets rotationscache ogiltig.

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  determinant : Number
[skrivskyddad] Ett nummer som avgör om matrisen går att invertera.
Matrix3D
  position : Vector3D
Ett Vector3D-objekt som innehåller positionen, 3D-koordinaten (x,y,z) för ett visningsobjekt inom omformningens referensram.
Matrix3D
  rawData : Vector.<Number>
En Vector med 16 siffror, där varje grupp med fyra element utgör en kolumn i en 4x4-matris.
Matrix3D
Publika metoder
 MetodDefinieras med
  
Matrix3D(v:Vector.<Number> = null)
Skapar ett Matrix3D-objekt.
Matrix3D
  
Gör ett tillägg till matrisen genom att multiplicera ett annat Matrix3D-objekt med det aktuella Matrix3D-objektet.
Matrix3D
  
appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Lägger till en stegvis rotation till ett Matrix3D-objekt.
Matrix3D
  
appendScale(xScale:Number, yScale:Number, zScale:Number):void
Lägger till en stegvis skaländring, längs x-, y- och z-axeln, till ett Matrix3D-objekt.
Matrix3D
  
Lägger till en stegvis översättning (en förflyttning längs x-, y- och z-axlarna) i ett Matrix3D-objekt.
Matrix3D
  
Returnerar ett nytt Matrix3D-objekt som är en exakt kopia av det aktuella Matrix3D-objektet.
Matrix3D
  
copyColumnFrom(column:uint, vector3D:Vector3D):void
Kopierar ett Vector3D-objekt till en specifik kolumn för anropande Matrix3D-objekt.
Matrix3D
  
copyColumnTo(column:uint, vector3D:Vector3D):void
Kopierar en specifik kolumn i anropande Matrix3D-objekt till Vector3D-objektet.
Matrix3D
  
copyFrom(sourceMatrix3D:Matrix3D):void
Kopierar alla matrisdata från källans Matrix3D-objekt till anropande Matrix3D-objekt.
Matrix3D
  
copyRawDataFrom(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Kopierar alla vektordata från källans vektorobjekt till anropande Matrix3D-objekt.
Matrix3D
  
copyRawDataTo(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Kopierar alla matrisdata från det anropande Matrix3D-objektet till den tillhandahållna vektorn.
Matrix3D
  
copyRowFrom(row:uint, vector3D:Vector3D):void
Kopierar ett Vector3D-objekt till en specifik rad för anropande Matrix3D-objekt.
Matrix3D
  
copyRowTo(row:uint, vector3D:Vector3D):void
Kopierar en specifik rad i anropande Matrix3D-objekt till Vector3D-objektet.
Matrix3D
  
Matrix3D
  
decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>
Returnerar omformningsmatrisens översättnings-, rotations- och skalningsinställningar som en Vector av tre Vector3D-objekt.
Matrix3D
  
Använder omformningmatrisen utan dess översättningselement för att omforma ett Vector3D-objekt från en rumskoordinat till en annan.
Matrix3D
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
  
Konverterar den aktuella matrisen till en identitets- eller enhetsmatris.
Matrix3D
  
interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D
[statisk] Interpolerar översättnings-, rotations- och skalningsomformningar för en matris mot målmatrisens.
Matrix3D
  
Interpolerar den här matrisen mot målmatrisens översättnings-, rotations- och skalningsomformningar.
Matrix3D
  
Inverterar den aktuella matrisen.
Matrix3D
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
  
pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void
Roterar visningsobjektet så att det riktas mot en viss position.
Matrix3D
  
Lägger till matrisen före, genom att multiplicera det aktuella Matrix3D-objektet med ett annat Matrix3D-objekt.
Matrix3D
  
prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Lägger till en stegvis rotation före ett Matrix3D-objekt.
Matrix3D
  
prependScale(xScale:Number, yScale:Number, zScale:Number):void
Lägger till en stegvis skaländring längs x-, y- och z-axeln före ett Matrix3D-objekt.
Matrix3D
  
Lägger till en stegvis översättning (en förflyttning längs x-, y- och z-axeln) före ett Matrix3D-objekt.
Matrix3D
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
  
recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean
Anger omformningsmatrisens översättnings-, rotations- och skalningsinställningar.
Matrix3D
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
  
Använder omformningmatrisen för att omforma ett Vector3D-objekt från en rumskoordinat till en annan.
Matrix3D
  
Använder omformningsmatrisen för att omforma en vektor med siffror från ett koordinatsystem till ett annat.
Matrix3D
  
Konverterar det aktuella Matrix3D-objektet till en matris där raderna och kolumnerna har bytt plats.
Matrix3D
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
Egenskapsdetaljer

determinant

egenskap
determinant:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Ett nummer som avgör om matrisen går att invertera.

Ett Matrix3D-objekt måste gå att invertera. Med hjälp av determinant-egenskapen kan du säkerställa att Matrix3D-objektet går att invertera. Om determinanten är noll finns det ingen inverterad version av matrisen. Om till exempel en hel rad eller kolumn av matrisen är noll, eller om två rader eller kolumner är lika, är determinanten noll. Determinanten används också för att lösa ett antal ekvationer.

Endast en fyrkantsmatris, som till exempel Matrix3D-klassen, har en determinant.



Implementering
    public function get determinant():Number

Relaterade API-element

position

egenskap 
position:Vector3D

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Ett Vector3D-objekt som innehåller positionen, 3D-koordinaten (x,y,z) för ett visningsobjekt inom omformningens referensram. Egenskapen position ger omedelbar åtkomst till översättningsvektorn för visningsobjektets matris utan att behöva ta isär eller sätta ihop matrisen.

Med egenskapen position kan du få eller ställa in översättningselementen för omformningsmatrisen.



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

Relaterade API-element

rawData

egenskap 
rawData:Vector.<Number>

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

En Vector med 16 siffror, där varje grupp med fyra element utgör en kolumn i en 4x4-matris.

Ett undantag genereras om rawData-egenskapen är angiven i en matris som inte går att invertera. Matrix3D-objektet måste gå att invertera. Om en matris som inte går att invertera behövs skapar du en underklass till Matrix3D-objektet.



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

Relaterade API-element

Konstruktordetaljer

Matrix3D

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Skapar ett Matrix3D-objekt. Matrix3D-objekt kan initieras med en Vector med 16 siffror, där varje grupp med fyra element utgör en kolumn. När Matrix3D-objektet har skapats kommer du åt dess matriselement med hjälp av rawData-egenskapen.

Om ingen parameter har definierats skapar konstruktorn ett Matrix3D identitets- eller enhetsobjekt. I matris-notation har en identitetsmatris värdet ett på alla element på huvuddiagonalpositionen och värdet noll på alla övriga element. Värdet på rawData-egenskapen för en identitetsmatris är: 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1. Identitetsmatrisens positions- eller översättningsvärde är Vector3D(0,0,0), rotationsinställningen är Vector3D(0,0,0) och skalningsvärdet är Vector3D(1,1,1).

Parametrar
v:Vector.<Number> (default = null) — En Vector med 16 siffror, där varje grupp med fyra element utgör en kolumn i en 4x4-matris.

Relaterade API-element

Metoddetaljer

append

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Gör ett tillägg till matrisen genom att multiplicera ett annat Matrix3D-objekt med det aktuella Matrix3D-objektet. Resultatet kombinerar båda matrisomformningarna. Du kan multiplicera ett Matrix3D-objekt med många matriser. Det slutliga Matrix3D-objektet innehåller resultatet av alla omformningar.

Matrismultiplicering skiljer sig från matrisaddition. Matrismultiplicering är inte kommutativ. Med andra ord är inte A gånger B lika med B gånger A. Med append()-metoden startas multipliceringen på vänster sida, vilket innebär att Matrix3D-lhs-objektet är till vänster om multipliceringsoperatorn.

thisMatrix = lhs * thisMatrix;

Första gången append()-metoden anropas gör den en ändring i förhållande till det överordnade rummet. Flera anrop efter varandra sker relativt referensramen eller det tillagda Matrix3D-objektet.

Metoden append() ersätter den aktuella matrisen med den tillagda matrisen. Om du vill lägga till två matriser utan att ändra i den aktuella matrisen kopierar du den aktuella matrisen med hjälp av clone()-metoden och tillämpar sedan append()-metoden på kopian.

Parametrar

lhs:Matrix3D — En vänstersidig matris som multipliceras med det aktuella Matrix3D-objektet.

Relaterade API-element

appendRotation

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis rotation till ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen rotationen efter övriga omformningar i Matrix3D-objektet.

Visningsobjektets rotation definieras av en axel, en stegvis rotationsgrad runt axeln samt en valfri pivotpunkt för centrum för objektets rotation. Axeln kan gå i alla riktningar. De vanliga axlarna är X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) och Z_AXIS (Vector3D(0,0,1)). Med flygterminologi kallas rotation runt y-axeln för en gir. Rotation runt x-axeln kallas en krängning. Rotation runt z-axeln kallas en roll.

Omformningsordningen spelar också roll. En omformning som utgörs av en rotation följd av en översättning skapar en annan effekt än om översättningen följs av en rotation.

Rotationseffekten är inte absolut. Den är relativ till den aktuella positionen och orienteringen. För att göra en absolut ändring i omformningsmatrisen använder du recompose()-metoden. Metoden appendRotation() skiljer sig också från visningsobjektets axelrotationsegenskap, till exempel rotationX-egenskapen. Rotationsegenskapen utförs alltid före översättning, medan metoden appendRotation() utförs relativt till vad som redan finns i matrisen. För att säkerställa att du får en effekt som liknar visningsobjektets axelrotationsegenskap använder du prependRotation()-metoden. Den utför rotationen före övriga omformningar i matrisen.

När appendRotation()-metodens omformning används i visningsobjektets Matrix3D-objekt blir visningsobjektets cachelagrade rotationsegenskapsvärde ogiltigt.

Ett sätt att låta ett visningsobjekt rotera runt en specifik punkt relativt till dess position är att ställa in objektets översättning till den specifika punkten, låta objektet rotera med appendRotation()-metoden och sedan översätta objektet tillbaka till ursprungspositionen. I följande exempel utför 3D-visningsobjektet myObject en y-axelrotation runt koordinaten (10,10,0).

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

Parametrar

degrees:Number — Rotationsgraden.
 
axis:Vector3D — Axeln eller rotationsriktningen. De vanliga axlarna är X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) och Z_AXIS (Vector3D(0,0,1)). Den här vektorn ska ha längden ett.
 
pivotPoint:Vector3D (default = null) — En punkt som bestämmer centrum för ett objekts rotation. Standardpivotpunkt för ett objekt är dess registreringspunkt.

Relaterade API-element

appendScale

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis skaländring, längs x-, y- och z-axeln, till ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen skalningsändringarna efter övriga omformningar i Matrix3D-objektet. Standardskalningsfaktor är (1.0, 1.0, 1.0).

Skalningen definieras som ett set med tre stegvisa ändringar längs de tre axlarna (x,y,z). Du kan multiplicera varje axel med ett eget nummer. När skalningsändringarna används i ett visningsobjekt ökas eller minskas objektets storlek. Genom att öka x-, y- och z-axlarnas storlek till två dubbleras objektets storlek, medan en minskning till 0,5 halverar dess storlek. För att säkerställa att skalningsomformningen bara påverkar en specifik axel sätts övriga parametrar till ett. En parameter på ett innebär att ingen skalningsförändring utförs längs den angivna axeln.

appendScale()-metoden kan användas för att ändra storlek men även för att hantera förvrängningar som till exempel att sträcka ut eller krympa ett visningsobjekt eller för att zooma in eller ut på en plats. Skalningsomformningar utförs automatiskt vid rotation och översättning av ett visningsobjekt.

Omformningsordningen spelar också roll. En omformning i form av en storleksändring som följs av en översättning skapar en annan effekt än en översättning följd av en storleksändring.

Parametrar

xScale:Number — En multiplikator som används för att skala objektet längs x-axeln.
 
yScale:Number — En multiplikator som används för att skala objektet längs y-axeln.
 
zScale:Number — En multiplikator som används för att skala objektet längs z-axeln.

Relaterade API-element

appendTranslation

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis översättning (en förflyttning längs x-, y- och z-axlarna) i ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen översättningsändringarna efter övriga omformningar i Matrix3D-objektet.

Omformningen definieras som ett set med tre stegvisa ändringar längs de tre axlarna (x,y,z). När omformningen används i ett visningsobjekt förflyttas visningsobjektet från sin aktuella plats längs x-, y- och z-axlarna enliget parameterns specificering. För att säkerställa att översättningen bara påverkar en specifik axel sätts övriga parametrar till noll. En nollparameter innebär att ingen ändring utförs längs den angivna axeln.

Översättningsändringarna är inte absoluta. De är relativa till matrisens aktuella position och orientering. För att göra en absolut ändring i omformningsmatrisen använder du recompose()-metoden. Omformningsordningen spelar också roll. En omformning som utgörs av en översättning följd av en rotation skapar en annan effekt än om rotationen följs av en översättning.

Parametrar

x:Number — En stegvis översättning längs x-axeln.
 
y:Number — En stegvis översättning längs y-axeln.
 
z:Number — En stegvis översättning längs z-axeln.

Relaterade API-element

clone

()metod 
public function clone():Matrix3D

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Returnerar ett nytt Matrix3D-objekt som är en exakt kopia av det aktuella Matrix3D-objektet.

Returnerar
Matrix3D — Ett nytt Matrix3D-objekt som är en exakt kopia av det aktuella Matrix3D-objektet.

copyColumnFrom

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar ett Vector3D-objekt till en specifik kolumn för anropande Matrix3D-objekt.

Parametrar

column:uint — Målkolumn för kopian.
 
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.

copyColumnTo

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar en specifik kolumn i anropande Matrix3D-objekt till Vector3D-objektet.

Parametrar

column:uint — Den kolumn från vilken data ska kopieras.
 
vector3D:Vector3D — Vector3D-målobjektet för kopian.

copyFrom

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar alla matrisdata från källans Matrix3D-objekt till anropande Matrix3D-objekt.

Parametrar

sourceMatrix3D:Matrix3D — Matrix3D-objekt varifrån data kopieras.

copyRawDataFrom

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar alla vektordata från källans vektorobjekt till anropande Matrix3D-objekt. Den valfria indexparametern gör att du kan välja vilken startplats som helst i vektorn.

Parametrar

vector:Vector.<Number> — Vektorobjektet varifrån data kopieras.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRawDataTo

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar alla matrisdata från det anropande Matrix3D-objektet till den tillhandahållna vektorn. Den valfria indexparametern gör att du kan välja vilken målstartplats som helst i vektorn.

Parametrar

vector:Vector.<Number> — Vektorobjektet dit data ska kopieras.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRowFrom

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar ett Vector3D-objekt till en specifik rad för anropande Matrix3D-objekt.

Parametrar

row:uint — Raden dit data kopieras.
 
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.

copyRowTo

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0, Flash Lite 4

Kopierar en specifik rad i anropande Matrix3D-objekt till Vector3D-objektet.

Parametrar

row:uint — Raden varifrån data kopieras.
 
vector3D:Vector3D — Det Vector3D-objekt till vilket data ska kopieras.

copyToMatrix3D

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

Parametrar

dest:Matrix3D

decompose

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Returnerar omformningsmatrisens översättnings-, rotations- och skalningsinställningar som en Vector av tre Vector3D-objekt. Det första Vector3D-objektet innehåller översättningselementen. Det andra Vector3D-objektet innehåller rotationselementen. Det tredje Vector3D-objektet innehåller skalningselementen.

Vissa Matrix3D-metoder, till exempel interpolateTo()-metoden delar automatisk upp och sätter ihop matrisen för att utföra omformningen.

För att ändra i matrisens omformning med en absolut överordnad referensram hämtar du inställningarna med decompose()-metoden och gör önskade ändringar. Sedan kan du ange Matrix3D-objektet till den ändrade omformningen med hjälp av recompose()-metoden.

decompose()-metodens parameter specificerar orienteringstypen som ska användas för omformningen. Standardorientering är eulerAngles som definierar orienteringen med tre separata rotationsvinklar för varje axel. Rotationerna görs efter varandra och förändrar inte varandras axlar. Visningsobjektets axelrotationsegenskaper utför omformning enligt orienteringstypen Euler-vinklar. Övriga orienteringstypsalternativ är axisAngle och quaternion. Axel-vinkel-orienteringen använder en kombination av en axel och en vinkel för att avgöra orienteringen. Den axel som objektet roterar runt är en enhetsvektor som anger riktningen. Vinkeln representerar storleken på rotationen runt vektorn. Riktningen avgör också åt vilket håll visningsobjekt är riktat, och vinkeln avgör vilket håll som är upp. Metoderna appendRotation() och prependRotation() använder axel-vinkel-orienteringen. Kvaternion-orienteringen använder komplexa nummer och det fjärde elementet i en vektor. De tre rotationsaxlarna (x,y,z) och en vinkelrotation (w) utgör orienteringen. interpolate()-metoden använder kvaternion.

Parametrar

orientationStyle:String (default = "eulerAngles") — En valfri parameter som avgör vilken orienteringstyp som används vid matrisomformningen. De tre orienteringstyperna är eulerAngles (constant EULER_ANGLES), axisAngle (constant AXIS_ANGLE) och quaternion (constant QUATERNION). Mer information om de olika orienteringstyperna finns i geom.Orientation3D-klassen.

Returnerar
Vector.<Vector3D> — En Vector med tre Vector3D-objekt som vart och ett innehåller översättnings-, rotations- och skalningsinställningar.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I det här exemplet används metoderna decompose() och recompose() för att få en ellips att sträckas horisontellt samtidigt som den förflyttas mot försvinningspunkten. Det första Vector3D-objektet som returneras av decompose()-metoden innehåller översättningskoordinaterna. Det tredje Vector3D-objektet innehåller skalningsinställningarna. Vector3D-objektets incrementBy()-metod ökar stegvis matrisens absoluta översättnings- och skalningsinställningar.
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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Använder omformningmatrisen utan dess översättningselement för att omforma ett Vector3D-objekt från en rumskoordinat till en annan. Det returnerade Vector3D-objektet innehåller de nya koordinaterna efter att rotations- och skalningsomformningarna har tillämpats. Om deltaTransformVector()-metoden lägger till en matris som endast innehåller översättningsomformning är det Vector3D-objekt som returneras identiskt med ursprungsobjektet.

Använd deltaTransformVector()-metoden för att få ett visningsobjekt i ett koordinatrum att svara på rotationsomformningen för ett annat visningsobjekt. Objektet kopierar inte rotationen, utan ändrar endast sin position för att reflektera ändringar i rotationen. För att till exempel använda display.Graphics-API:t för att rita ett roterande 3D-visningsobjekt, måste du mappa objektets rotationskoordinater till en 2D-punkt. Först hämtar du objektets 3D-koordinater efter varje rotation, med hjälp av metoden deltaTransformVector(). Sedan använder du visningsobjektets local3DToGlobal()-metod för att översätta 3D-koordinaterna till 2D-punkter. Du kan sedan använda 2D-punkterna för att rita det roterande 3D-objektet.

Obs! Den här metoden anger automatiskt w-komponenten för skickad Vector3D som 0.0.

Parametrar

v:Vector3D — Ett Vector3D-objekt, som innehåller de koordinater som ska omformas.

Returnerar
Vector3D — Ett Vector3D-objekt med de omformade koordinaterna.

Relaterade API-element

identity

()metod 
public function identity():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Konverterar den aktuella matrisen till en identitets- eller enhetsmatris. En identitetsmatris har värdet ett för elementen på huvuddiagonalen och värdet noll för alla andra element. Resultatet är en matris där rawData-värdet är 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 och rotationsinställningen har angetts till Vector3D(0,0,0). Positions- eller översättninginställningen är angiven till Vector3D(0,0,0) och skalningsvärdet är angett till Vector3D(1,1,1). Här visas en identitetsmatris.

Identity Matrix

Ett objekt som har omformats genom att en identitetsmatris har lagts till utför ingen omformning. Med andra ord, om en matris multipliceras med en identitetsmatris resulterar det i en matris som är samma som (identisk med) ursprungsmatrisen.

interpolate

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Interpolerar översättnings-, rotations- och skalningsomformningar för en matris mot målmatrisens.

interpolate()-metoden undviker några av de oönskade resultat som kan inträffa när metoder som till exempel visningsobjektets axelrotationsegenskaper används. interpolate()-metoden gör det cachelagrade värdet på rotationsegenskapen ogiltigt och konverterar orienteringselementen för visningsobjektens matris till en kvaternion före interpoleringen. Den här metoden garanterar den kortaste, mest effektiva banan för rotationen. Den skapar också en jämn rotation utan gimbal lock. Ett gimbal lock kan inträffa när Euler-vinklar används, där varje axel hanteras individuellt. Vid rotation runt två eller fler axlar kan axlarna råka gå ihop, vilket kan ge oväntade resultat. Med kvaternion-rotation undviks gimbal lock.

Flera anrop efter varandra till interpolate()-metoden kan skapa en effekt av ett visningsobjekt som snabbt startar och sedan långsamt närmar sig ett annat visningsobjekt. Om du till exempel anger thisMat-parametern till det returnerade Matrix3D-objektet, anger toMat-parametern till målvisningsobjektets associerade Matrix3D-objekt, och percent-parametern till 0,1, kommer visningsobjektet att flyttas 10 procent mot målobjektet. Vid efterföljande anrop eller ramar flyttas objektet 10 procent av de återstående 90 procenten, sedan 10 procent av det återstående avståndet och fortsätter tills målet nås.

Parametrar

thisMat:Matrix3D — Matrix3D-objektet måste interpoleras.
 
toMat:Matrix3D — Matrix3D-objektet som är målet.
 
percent:Number — Ett värde mellan 0 och 1 som avgör hur många procent Matrix3D thisMat-objektet ska interpoleras mot Matrix3D-objektet som är målet.

Returnerar
Matrix3D — Ett Matrix3D-objekt med element som placerar matrisens värde mellan den ursprungliga matrisen och målmatrisen. När den returnerade matrisen används i this-visningsobjektet flyttas objektet den angivna procenten närmare målobjektet.

Relaterade API-element

interpolateTo

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Interpolerar den här matrisen mot målmatrisens översättnings-, rotations- och skalningsomformningar.

Med interpolateTo()-metoden undviker du de oönskade resultaten som kan inträffa när metoder som till exempel visningsobjektets axelrotationsegenskaper används. interpolateTo()-metoden gör det cachelagrade värdet på rotationsegenskapen ogiltigt och konverterar orienteringselementen för visningsobjektens matris till en kvaternion före interpoleringen. Den här metoden garanterar den kortaste, mest effektiva banan för rotationen. Den skapar också en jämn rotation utan gimbal lock. Ett gimbal lock kan inträffa när Euler-vinklar används, där varje axel hanteras individuellt. Vid rotation runt två eller fler axlar kan axlarna råka gå ihop, vilket kan ge oväntade resultat. Med kvaternion-rotation undviks gimbal lock.

Obs! Vid interpolation återställs skalningsvärdet i matrisen och matrisen normaliseras.

Med flera anrop efter varandra till interpolateTo()-metoden kan skapa en effekt av ett visningsobjekt som startar snabbt och sedan långsamt närmar sig ett annat visningsobjekt. Om till exempel procentparametern sätts till 0,1 flyttas visningsobjektet 10 procent mot målobjektet som har angetts av toMat-parametern. Vid efterföljande anrop eller ramar flyttas objektet 10 procent av de återstående 90 procenten, sedan 10 procent av det återstående avståndet och fortsätter tills målet nås.

Parametrar

toMat:Matrix3D — Matrix3D-objektet som är målet.
 
percent:Number — Ett värde mellan 0 och 1 som bestämmer visningsobjektets position i förhållande till målet. Ju närmare 1,0 värdet är, desto närmare är visningsobjektet den nuvarande positionen. Ju närmare 0 värdet är, desto närmare målet är visningsobjektet.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I det här exemplet går ellipse2, ett tredimensionellt visningsobjekt mot ellipse1 som är ett annat tredimensionellt objekt. ellipse2 följer efter ellipse1 och försöker komma i fatt. Om ellipse1 inte roterar runt sin y-axel kommer ellipse2 att hinna upp och landa på ellipse1. De två ellipserna dras i samma riktning men placeras i olika tredimensionella omgivningsrum.
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

()metod 
public function invert():Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Inverterar den aktuella matrisen. En inverterad matris har samma storlek som den ursprungliga men utför motsatt omformning jämfört med originalmatrisen. Om till exempel originalmatrisen får ett objekt att rotera runt x-axeln i en riktning får den inverterade matrisen objektet att rotera runt axeln i motsatt riktning. Genom att en inverterad matris läggs till ett objekt ångras omformningen som utfördes av originalmatrisen. Om en matris multipliceras med motsvarande inverterade matris blir resultatet en identitetsmatris.

En inverterad matris kan användas för att dividera en matris med en annan. Du dividerar matris A med matris B genom att multiplicera matris A med den inverterade matris B. En inverterad matris kan även användas med ett kamerarum. När kameran flyttas i omgivningsrummet måste objektet i omgivningen förflyttas i motsatt riktning för att omformas från omgivningsvyn till kamera-eller vypunktsrummet Om kameran till exempel flyttas närmare blir objekten större. Med andra ord: om kameran förflyttas utför omgivningens z-axel, förflyttas objektet uppför omgivnings-z-axeln.

Metoden invert() ersätter den aktuella matrisen med en inverterad matris. Om du vill invertera en matris utan att ändra i den aktuella matrisen, kopierar du först den aktuella matrisen med hjälp av clone()-metoden och använder sedan invert()-metoden på kopian.

Matrix3D-objektet måste gå att invertera.

Returnerar
Boolean — Returnerar true om matrisen inverterades.

Relaterade API-element

pointAt

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Roterar visningsobjektet så att det riktas mot en viss position. Metoden tillåter ändringar i orienteringen på plats. Visningsobjektets vektor som är riktad framåt (Vector3D-objektet at) är riktad mot den angivna omgivningsrelativa positionen. Visningsobjektets riktning ”upp” anges med up-Vector3D-objektet.

Med metoden pointAt() görs visningsobjektets cachelagrade rotationsegenskapsvärde ogiltigt. Metoden delar upp visningsobjektets matris och gör ändringar i rotationselementen så att objektet kan vridas mot den angivna positionen. Sedan sätter den ihop (uppdaterar) visningsobjektets matris igen, vilket utför omformningen. Om objektet pekar mot ett rörligt mål, till exempel ett rörligt objekts position, kan metoden med hjälp av flera anrop efter varandra göra så att objektet roterar mot det rörliga målet.

Obs! Om du använder metoden Matrix3D.pointAt() utan att ange de valfria parametrarna, får ett målobjekt inte den angivna relativa positionen som standard. Du måste ange värden för at för -y-axeln (0,-1,0) och up för -z-axeln (0,0,-1).

Parametrar

pos:Vector3D — Målobjektets position i förhållande till omgivningen. ”Omgivningsrelaterat” definierar omformningen av objektet relativt omgivningens rumskoordinater där alla objekt har positionerats.
 
at:Vector3D (default = null) — Den objektrelativa vektorn som definierar åt vilket håll visningsobjektet är riktat. Objektrelativt definierar omformningen av objektet relativt till objektets rum, objektets egen referensram och koordinatsystem. +y-axeln (0,1,0) är standardvärde.
 
up:Vector3D (default = null) — Den objektrelativa vektorn som definierar visningsobjektets ”upp”. Om objektet dras medan det betraktas ur ett fågelperspektiv är det +z-axeln som är ”upp”-vektor. Objektrelativt definierar omformningen av objektet relativt till objektets rum, objektets egen referensram och koordinatsystem. +z-axeln (0,0,1) är standardvärde.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I det här exemplet riktas en triangel mot ellipsen och följer dess rörelseväg. Ellipsen och triangeln har placerats på olika positioner. Sedan rör sig ellipsen upp mot scenens hörn. Triangeln följer ellipsens översättningsförändringar. Prova att ändra triangelns form samt ”at”- och ”up”-parametrarna för pointAt() för att se deras effekt på triangelns rörelse.
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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till matrisen före, genom att multiplicera det aktuella Matrix3D-objektet med ett annat Matrix3D-objekt. Resultatet kombinerar båda matrisomformningarna.

Matrismultiplicering skiljer sig från matrisaddition. Matrismultiplicering är inte kommutativ. Med andra ord är inte A gånger B lika med B gånger A. Med prepend()-metoden sker multipliceringen från höger sida, vilket innebär att Matrix3D rhs-objektet är till höger om multipliceringsoperatorn.

thisMatrix = thisMatrix * rhs

Ändringarna som har gjorts med prepend()-metoden är objekts- och rumsrelativa. Med andra ord är de alltid relativa till objektets initiala referensram.

Metoden prepend() ersätter den aktuella matrisen med matrisen som har lagts till före. Om du vill lägga till två matriser före, utan att ändra i den aktuella matrisen, kopierar du den aktuella matrisen med clone()-metoden och använder sedan prepend()-metoden på kopian.

Parametrar

rhs:Matrix3D — Högersidan av matrisen som det aktuella Matrix3D-objektet multipliceras med.

Relaterade API-element

prependRotation

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis rotation före ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen rotationen före övriga omformningar i Matrix3D-objektet.

Visningsobjektets rotation definieras av en axel, en stegvis rotationsgrad runt axeln samt en valfri pivotpunkt för centrum för objektets rotation. Axeln kan gå i alla riktningar. De vanliga axlarna är X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) och Z_AXIS (Vector3D(0,0,1)). Med flygterminologi kallas rotation runt y-axeln för en gir. Rotation runt x-axeln kallas en krängning. Rotation runt z-axeln kallas en roll.

Omformningsordningen spelar också roll. En omformning i form av en rotation följd av en översättning skapar en annan effekt än en översättning följd av en rotation.

Rotationseffekten är inte absolut. Effekten är objektrelativ, relativ till referensramen för originalpositionen och originalorienteringen. För att göra en absolut ändring i omformningen använder du recompose()-metoden.

När prependRotation()-metodens omformning används i visningsobjektets Matrix3D-objekt blir visningsobjektets cachelagrade rotationsegenskapsvärden ogiltiga.

Ett sätt att låta ett visningsobjekt rotera runt en specifik punkt relativt till dess position är att ställa in objektets förflyttning till den specifika punkten, låta objektet rotera med prependRotation()-metoden och sedan förflytta objektet tillbaka till ursprungspositionen. I följande exempel utför 3D-visningsobjektet myObject en y-axelrotation runt koordinaten (10,10,0).

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

Parametrar

degrees:Number — Rotationsgraden.
 
axis:Vector3D — Axeln eller rotationsriktningen. De vanliga axlarna är X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) och Z_AXIS (Vector3D(0,0,1)). Den här vektorn ska ha längden ett.
 
pivotPoint:Vector3D (default = null) — En punkt som avgör rotationscentrum. Standardpivotpunkt för ett objekt är dess registreringspunkt.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I det här exemplet kan användaren med hjälp av musen rotera ellipsen runt dess x- och y-axlar. Ellipsen dras med registreringspunkten i ellipsens mitt. Ellipsen roterar runt sin y-axel med hjälp av musens x-koordinat. Den roterar runt sin x-axel med hjälp av musens y-koordinat.
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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis skaländring längs x-, y- och z-axeln före ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen skalningsändringarna före övriga omformningar i Matrix3D-objektet. Ändringarna är objektrelativa, relativa till referensramen för originalpositionen och originalorienteringen. Standardskalningsfaktor är (1.0, 1.0, 1.0).

Skalningen definieras som ett set med tre stegvisa ändringar längs de tre axlarna (x,y,z). Du kan multiplicera varje axel med ett eget nummer. När skalningsändringarna används i ett visningsobjekt ökas eller minskas objektets storlek. Genom att öka x-, y- och z-axlarnas storlek till två dubbleras objektets storlek, medan en minskning till 0,5 halverar dess storlek. För att säkerställa att skalningsomformningen bara påverkar en specifik axel sätts övriga parametrar till ett. En parameter på ett innebär att ingen skalningsförändring utförs längs den angivna axeln.

Metoden prependScale() kan användas för storleksändring liksom för att hantera förvrängningar som till exempel att sträcka eller krympa ett visningsobjekt. Den kan även användas för att zooma in eller ut på en plats. Skalningsomformningar utförs automatiskt vid rotation och översättning av ett visningsobjekt.

Omformningsordningen spelar också roll. En omformning i form av en storleksändring som följs av en översättning skapar en annan effekt än en översättning följd av en storleksändring.

Parametrar

xScale:Number — En multiplikator som används för att skala objektet längs x-axeln.
 
yScale:Number — En multiplikator som används för att skala objektet längs y-axeln.
 
zScale:Number — En multiplikator som används för att skala objektet längs z-axeln.

Relaterade API-element

prependTranslation

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Lägger till en stegvis översättning (en förflyttning längs x-, y- och z-axeln) före ett Matrix3D-objekt. När Matrix3D-objektet har lagts till i ett visningsobjekt utför matrisen översättningsändringarna före övriga omformningar i Matrix3D-objektet.

Översättning specificerar den sträcka som visningsobjektet förflyttas från sin aktuella plats längs x-, y- och z-axlarna. prependTranslation()-metoden anger översättningen som ett set med tre stegvisa ändringar längs de tre axlarna (x,y,z). Om en översättning endast ska förändra en specifik axel sätter du övriga parametrar till noll. En nollparameter innebär att ingen ändring utförs längs den angivna axeln.

Översättningsändringarna är inte absoluta. Effekten är objektrelativ, relativ till referensramen för originalpositionen och originalorienteringen. För att göra en absolut ändring i omformningsmatrisen använder du recompose()-metoden. Omformningsordningen spelar också roll. En omformning i form av en översättning följd av en rotation ger en annan effekt än en rotation som följs av en översättning. När metoden prependTranslation() används fortsätter visningsobjektet att förflyttas i den riktning som det är riktat, oavsett övriga omformningar. Om till exempel ett visningsobjekt var riktat mot en positiv x-axel fortsätter dess rörelse i den riktning som har specificerats av prependTranslation()-metoden, oavsett hur objektet tidigare har roterats. För att utföra översättningsändringar efter andra omformningar använder du appendTranslation()-metoden.

Parametrar

x:Number — En stegvis översättning längs x-axeln.
 
y:Number — En stegvis översättning längs y-axeln.
 
z:Number — En stegvis översättning längs z-axeln.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I det här exempel knuffas en ellips uppför scenens y-axel med hjälp av en mus. När användaren förflyttar musen över ellipsen hoppar ellipsen tio koordinater uppför y-axeln. Om ellipsen inte har hunnit upp till toppen hoppar den ytterligare tio koordinater uppför y-axeln när musen släpper ellipsen. När ellipsen har nått toppen flyttas den tillbaka längst ned på scenen.
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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Anger omformningsmatrisens översättnings-, rotations- och skalningsinställningar. Till skillnad från de stegvisa ökningar som görs av visningsobjektets rotationsegenskaper eller till skillnad från Matrix3D-objektets rotationsmetoder, är ändringarna som görs av recompose()-metoden absoluta ändringar. recompose()-metoden skriver över matrisomformningen.

För att ändra i matrisens omformning med en absolut överordnad referensram hämtar du inställningarna med decompose()-metoden och gör önskade ändringar. Sedan kan du ange Matrix3D-objektet till den ändrade omformningen med hjälp av recompose()-metoden.

recompose()-metodens parameter specificerar vilken orienteringstyp som har använts vid omformningen. Standardorientering är eulerAngles som definierar orienteringen med tre separata rotationsvinklar för varje axel. Rotationerna görs efter varandra och förändrar inte varandras axlar. Visningsobjektets axelrotationsegenskaper utför omformning enligt orienteringstypen Euler-vinklar. Övriga orienteringstypsalternativ är axisAngle och quaternion. Axel-vinkel-orienteringen använder en kombination av en axel och en vinkel för att avgöra orienteringen. Den axel som objektet roterar runt är en enhetsvektor som anger riktningen. Vinkeln representerar storleken på rotationen runt vektorn. Riktningen avgör också åt vilket håll visningsobjekt är riktat, och vinkeln avgör vilket håll som är upp. Metoderna appendRotation() och prependRotation() använder axel-vinkel-orienteringen. Kvaternion-orienteringen använder komplexa nummer och det fjärde elementet i en vektor. En orientering representeras av de tre axlarna (x, y, z) och en rotationsvinkel (w). interpolate()-metoden använder kvaternion.

Parametrar

components:Vector.<Vector3D> — En Vector med tre Vector3D-objekt som ersätter Martix3D-objektets översättnings-, rotations- och skalningselement.
 
orientationStyle:String (default = "eulerAngles") — En valfri parameter som avgör vilken orienteringstyp som används vid matrisomformningen. De tre orienteringstyperna är eulerAngles (constant EULER_ANGLES), axisAngle (constant AXIS_ANGLE) och quaternion (constant QUATERNION). Mer information om de olika orienteringstyperna finns i geom.Orientation3D-klassen.

Returnerar
Boolean — Returnerar false om något av Vector3D-elementen i components-vektorn inte finns eller är null.

Relaterade API-element

transformVector

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Använder omformningmatrisen för att omforma ett Vector3D-objekt från en rumskoordinat till en annan. Det returnerade Vector3D-objektet innehåller de nya koordinaterna efter omformningen. Alla matrisomformningar inklusive översättning används i Vector3D-objektet.

Om transformVector()-metodens resultat används i visningsobjektets position förändras endast positionen. Visningsobjektets rotations- och skalelement ändras inte.

Obs! Den här metoden anger automatiskt w-komponenten för skickad Vector3D som 1.0.

Parametrar

v:Vector3D — Ett Vector3D-objekt, som innehåller de koordinater som ska omformas.

Returnerar
Vector3D — Ett Vector3D-objekt med de omformade koordinaterna.

Relaterade API-element

transformVectors

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Använder omformningsmatrisen för att omforma en vektor med siffror från ett koordinatsystem till ett annat. tranformVectors()-metoden läser grupper om tre siffror i Vector-objektet vin som en 3D-koordinat (x,y,z) och placerar en omformad 3D-koordinat i Vector-objektet vout. Alla matrisomformningar inklusive översättning används i Vector-objektet vin. Du kan använda transformVectors()-metoden för att rendera och omforma ett 3D-objekt som ett nät. Ett nät är en samling hörnpunkter som definierar objektets form.

Parametrar

vin:Vector.<Number> — En Vector med siffror, där varje grupp om tre siffror utgör en 3D-koordinat (x,y,z) som ska omformas.
 
vout:Vector.<Number> — En Vector med siffror, där varje grupp om tre siffror utgör en 3D-omformad koordinat (x,y,z).

Relaterade API-element

transpose

()metod 
public function transpose():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Konverterar det aktuella Matrix3D-objektet till en matris där raderna och kolumnerna har bytt plats. Om till exempel det aktuella Matrix3D-objektets rawData innehåller följande 16 siffror, 1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34 läser transpose()-metoden grupper om fyra element som en rad och ändrar raderna till kolumner. Resultatet är en matris med följande rawData: 1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34.

Metoden transpose() ersätter den aktuella matrisen med en omformad matris. Om du vill flytta om i en matris utan att ändra i den aktuella matrisen, kopierar du först den aktuella matrisen med clone()-metoden och använder sedan transpose()-metoden på kopian.

En ortogonal matris är en fyrkantig matris vars transponering är lika med dess inverterade version.





[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.