Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: AIR 30.0 y versiones anteriores, Flash Player 30.0 y versiones anteriores, Flash Lite 4
Flex 4.6 y versiones anteriores, Flash Pro CS6 y versiones anteriores
Ocultar filtros
flash.geom 

Matrix3D  - AS3

Paquetesx

Nivel superior
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

Elementos del lenguaje

Constantes globales
Funciones globales
Operadores
Sentencias, palabras clave y directivas
Tipos especiales

Apéndices

Novedades
Errores del compilador
Advertencias del compilador
Errores en tiempo de ejecución
Migración a ActionScript 3
Conjuntos de caracteres admitidos
Solo etiquetas MXML
Elementos Motion XML
Etiquetas de texto temporizado
Lista de elementos desfasados
Constantes de implementación de accesibilidad
Cómo utilizar ejemplos de ActionScript
Avisos legales
Paqueteflash.geom
Clasepublic class Matrix3D
HerenciaMatrix3D Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

La clase Matrix3D representa una matriz de transformación que determina la posición y orientación del objeto de visualización tridimensional (3D). La matriz puede llevar a cabo funciones de transformación, incluida la traslación (cambio de posición en los ejes x, y y z), rotación y escala (cambio de tamaño). La clase Matrix3D también puede realizar proyecciones de perspectiva que asignan puntos del espacio de coordenadas 3D a la vista bidimensional (2D).

Una sola matriz puede combinar varias transformaciones y aplicarlas de una sola vez a un objeto de visualización 3D. Por ejemplo, se puede aplicar una matriz a coordenadas 3D para realizar una rotación seguida de una traslación.

Cuando se establece de forma explícita la propiedad z de cualquiera de las propiedades de rotación o de escala de un objeto de visualización, se crea automáticamente un objeto Matrix3D correspondiente.

Puede acceder al objeto Matrix3D de un objeto de visualización 3D mediante la propiedad transform.matrix3d. Los objetos 2D no tienen ningún objeto Matrix3D.

El valor de la propiedad z de un objeto 2D es cero y el valor de su propiedad matrix3D es null.

Nota: si se asigna el mismo objeto Matrix3D a dos objetos de visualización distintos, se emite un error de tiempo de ejecución.

La clase Matrix3D utiliza una matriz cuadrada 4x4: una tabla de cuatro filas y columnas de números que contienen los datos para la transformación. Las primeras tres filas de la matriz contienen datos para cada eje 3D (x,y,z). La traslación se incluye en la última columna. Los datos de orientación y escala se encuentran en las tres primeras columnas. Los factores de escala son los números diagonales de las tres primeras columnas. A continuación, se muestra una representación de elementos Matrix3D:

Elementos Matrix3D

Para utilizar la clase Matrix3D no es necesario conocer las matemáticas de matrices. Ofrece métodos específicos que simplifican la tarea de transformación y proyección, como los métodos appendTranslation(), appendRotation() o interpolateTo(). También puede utilizar los métodos decompose() y recompose() o la propiedad rawData para acceder a los elementos subyacentes de la matriz.

Los objetos de visualización almacenan en caché sus propiedades de rotación de eje para disponer de una rotación independiente para cada eje y administrar las diferentes combinaciones de rotaciones. Cuando se llama a un método de un objeto Matrix3D para transformar un objeto de visualización, la caché de rotación del objeto se invalida.

Elementos de API relacionados



Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  determinant : Number
[solo lectura] Número que determina si una matriz se puede invertir.
Matrix3D
  position : Vector3D
Objeto Vector3D que contiene la posición, las coordenadas 3D (x,y,z) de un objeto de visualización dentro del marco de referencia de la transformación.
Matrix3D
  rawData : Vector.<Number>
Un vector de 16 números, donde cada cuatro elementos forman una columna de una matriz 4x4.
Matrix3D
Métodos públicos
 MétodoDefinido por
  
Matrix3D(v:Vector.<Number> = null)
Crea un objeto Matrix3D.
Matrix3D
  
Añade la matriz multiplicando otro objeto Matrix3D por el objeto Matrix3D actual.
Matrix3D
  
appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Añade como apéndice una rotación incremental a un objeto Matrix3D.
Matrix3D
  
appendScale(xScale:Number, yScale:Number, zScale:Number):void
Añade como apéndice un cambio de escala incremental a lo largo de los ejes x, y y z, a un objeto Matrix3D.
Matrix3D
  
Añade como apéndice una traslación incremental, un cambio de posición a lo largo de los ejes x, y y z, a un objeto Matrix3D.
Matrix3D
  
Devuelve un nuevo objeto Matrix3D que es una copia exacta del objeto Matrix3D actual.
Matrix3D
  
copyColumnFrom(column:uint, vector3D:Vector3D):void
Copia un objeto Vector3D en columna específica del objeto Matrix3D de llamada.
Matrix3D
  
copyColumnTo(column:uint, vector3D:Vector3D):void
Copia la columna específica del objeto Matrix3D de llamada en el objeto Vector3D.
Matrix3D
  
copyFrom(sourceMatrix3D:Matrix3D):void
Copia todos los datos de la matriz desde el objeto Matrix3D de origen en el objeto Matrix3D de llamada.
Matrix3D
  
copyRawDataFrom(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Copia todos los datos vectoriales desde el objeto vectorial de origen en el objeto Matrix3D de llamada.
Matrix3D
  
copyRawDataTo(vector:Vector.<Number>, index:uint = 0, transpose:Boolean = false):void
Copia todos los datos de la matriz del objeto Matrix3D de llamada en el vector.
Matrix3D
  
copyRowFrom(row:uint, vector3D:Vector3D):void
Copia un objeto Vector3D en fila concreta del objeto Matrix3D de llamada.
Matrix3D
  
copyRowTo(row:uint, vector3D:Vector3D):void
Copia la fila concreta del objeto Matrix3D de llamada en el objeto Vector3D.
Matrix3D
  
Matrix3D
  
decompose(orientationStyle:String = "eulerAngles"):Vector.<Vector3D>
Devuelve los valores de configuración de la traslación, rotación y escala de la matriz de transformación como un vector de tres objetos Vector3D.
Matrix3D
  
Utilice la matriz de transformación sin los elementos de traslación para transformar un objeto Vector3D desde una coordenada de espacio a otra.
Matrix3D
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
  
Convierte la matriz actual en una matriz de identidad o unidad.
Matrix3D
  
interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D
[estática] Interpola la traslación, rotación y escala de transformación de una matriz con los de la matriz de destino.
Matrix3D
  
Interpola esta matriz hacia la traslación, rotación y transformaciones de la escala de la matriz de destino.
Matrix3D
  
Invierte la matriz actual.
Matrix3D
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void
Rota el objeto de visualización de forma que quede mirando hacia una posición especificada.
Matrix3D
  
Incluye como prefijo una matriz multiplicando el objeto Matrix3D actual por otro.
Matrix3D
  
prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void
Añade como prefijo una rotación incremental a un objeto Matrix3D.
Matrix3D
  
prependScale(xScale:Number, yScale:Number, zScale:Number):void
Añade como prefijo un cambio de escala incremental a lo largo de los ejes x, y y z, a un objeto Matrix3D.
Matrix3D
  
Añade como prefijo una traslación incremental, un cambio de posición a lo largo de los ejes x, y y z, a un objeto Matrix3D.
Matrix3D
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
  
recompose(components:Vector.<Vector3D>, orientationStyle:String = "eulerAngles"):Boolean
Establece los valores de configuración de traslación, rotación y escala de la matriz de transformación.
Matrix3D
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
  
Utilice la matriz de transformación para transformar un objeto Vector3D desde una coordenada de espacio a otra.
Matrix3D
  
Utiliza la matriz de transformación para transformar un vector de elementos Number de un espacio de coordenadas a otro.
Matrix3D
  
Convierte el objeto Matrix3D actual en una matriz en la que las filas y columnas se intercambian.
Matrix3D
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades

determinant

propiedad
determinant:Number  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Número que determina si una matriz se puede invertir.

Un objeto Matrix3D debe poder invertirse. Puede utilizar la propiedad determinant para asegurarse de que un objeto Matrix3D se puede invertir. Si el determinante es cero, no existe una inversa de la matriz. Por ejemplo, si una fila o columna entera de una matriz es cero o si dos filas o columnas son iguales, el determinante es cero. El determinante también se utiliza para solucionar una serie de ecuaciones.

Sólo una matriz cuadrada, como la clase Matrix3D, tiene un determinante.



Implementación
    public function get determinant():Number

Elementos de API relacionados

position

propiedad 
position:Vector3D

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Objeto Vector3D que contiene la posición, las coordenadas 3D (x,y,z) de un objeto de visualización dentro del marco de referencia de la transformación. La propiedad position proporciona acceso inmediato al vector de traslación de la matriz del objeto de visualización sin necesidad de descomponer y recomponer la matriz.

Con la propiedad position, puede obtener y establecer los elementos de traslación de la matriz de transformación.



Implementación
    public function get position():Vector3D
    public function set position(value:Vector3D):void

Elementos de API relacionados

rawData

propiedad 
rawData:Vector.<Number>

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Un vector de 16 números, donde cada cuatro elementos forman una columna de una matriz 4x4.

Si la propiedad rawData se establece en una matriz que no se puede invertir, se arroja una excepción. El objeto Matrix3D debe poder invertirse. Si se requiere una matriz que no se pueda invertir, cree una subclase del objeto Matrix3D.



Implementación
    public function get rawData():Vector.<Number>
    public function set rawData(value:Vector.<Number>):void

Elementos de API relacionados

Información sobre constructores

Matrix3D

()Información sobre
public function Matrix3D(v:Vector.<Number> = null)

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Crea un objeto Matrix3D. Los objetos Matrix3D se pueden inicializar con un vector de 16 números, donde cada grupo de cuatro elementos son una columna. Una vez que se crea el objeto Matrix3D, puede acceder a sus elementos de matriz con la propiedad rawData.

Si no se define ningún parámetro, el constructor genera un objeto Matrix3D de identidad o unidad. En la notación de matrices, una matriz de identidad tiene un valor de uno para todos los elementos en la posición diagonal principal y un valor de cero para todos los demás elementos. El valor de la propiedad rawData de una matriz de identidad es: 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1. El valor de la posición o traslación de la matriz de identidad es Vector3D(0,0,0), la configuración de la rotación es Vector3D(0,0,0) y el valor de la escala es Vector3D(1,1,1).

Parámetros
v:Vector.<Number> (default = null) — Un vector de 16 números, donde cada cuatro elementos forman una columna de una matriz 4x4.

Elementos de API relacionados

Información sobre métodos

append

()método
public function append(lhs:Matrix3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade la matriz multiplicando otro objeto Matrix3D por el objeto Matrix3D actual. El resultado combina ambas transformaciones de matriz. Se puede multiplicar un objeto Matrix3D por varias matrices. El objeto Matrix3D final contiene el resultado de todas las transformaciones.

La multiplicación de matrices es diferente a la suma de matrices. La multiplicación de matrices no es conmutativa. En otras palabras, A multiplicado por B no es igual que B multiplicado por A. Con el método append(), la multiplicación tiene lugar desde el lado izquierdo, lo que significa que el objeto Matrix3D lhs se encuentra en el lado izquierdo del operador de multiplicación.

thisMatrix = lhs * thisMatrix;

La primera vez que se llama al método append(), éste realiza una modificación relativa al espacio principal. Las llamadas posteriores son relativas al marco de referencia del objeto Matrix3D añadido.

El método append() sustituye la matiz actual por la añadida. Si desea añadir dos matrices sin modificar la matriz actual, cópiela mediante el método clone() y, a continuación, aplique el método append() a la copia.

Parámetros

lhs:Matrix3D — Matriz de la mano izquierda multiplicada por el objeto Matrix3D actual.

Elementos de API relacionados

appendRotation

()método 
public function appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como apéndice una rotación incremental a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza la rotación después de otras transformaciones en el objeto Matrix3D.

La rotación del objeto de visualización se define por un eje, un grado incremental de rotación alrededor del eje y un punto de giro opcional para el centro de la rotación del objeto. El eje puede ser cualquier dirección general. Los ejes habituales son X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) y Z_AXIS (Vector3D(0,0,1)). En la terminología de aviación, la rotación sobre el eje y se denomina "yaw". La rotación sobre el eje x se conoce como "pitch". La rotación sobre el eje z se denomina "roll".

También se debe tener en cuenta el orden de la transformación. Una rotación seguida de una transformación de traslación produce un efecto diferente al de una traslación seguida de una transformación de rotación.

El efecto de la rotación no es absoluto. Es relativo a la posición y la orientación actuales. Para realizar un cambio absoluto a la matriz de transformación, utilice el método recompose(). El método appendRotation() también es diferente de la propiedad de rotación de eje del objeto de visualización como, por ejemplo, la propiedad rotationX. La propiedad de rotación siempre se lleva a cabo antes de una traslación, mientras que el método appendRotation() se lleva a cabo en relación con los elementos que ya estén incluidos en la matriz. Para asegurarse de que obtiene un efecto similar al de la propiedad de rotación de eje del objeto de visualización, utilice el método prependRotation(), que lleva a cabo la rotación antes que otras transformaciones en la matriz.

Cuando se aplica la transformación del método appendRotation() a un objeto Matrix3D de un objeto de visualización, los valores de la propiedad de rotación en caché del objeto de visualización se invalidan.

Una forma de hacer rotar un objeto de visualización alrededor de un punto específico relativo a su ubicación consiste en establecer la traslación del objeto en el punto especificado, rotar el objeto mediante el método appendRotation() y trasladar el objeto de nuevo a la posición original. En el siguiente ejemplo, el objeto de visualización 3D myObject lleva a cabo una rotación del eje y alrededor de la coordenada (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);
     
    

Parámetros

degrees:Number — Grado de la rotación.
 
axis:Vector3D — Eje o dirección de la rotación. Los ejes habituales son X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) y Z_AXIS (Vector3D(0,0,1)). Este vector debe tener una longitud de uno.
 
pivotPoint:Vector3D (default = null) — Punto que determina el centro de la rotación de un objeto. El punto de giro predeterminado es un punto de registro.

Elementos de API relacionados

appendScale

()método 
public function appendScale(xScale:Number, yScale:Number, zScale:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como apéndice un cambio de escala incremental a lo largo de los ejes x, y y z, a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza los cambios de escala después de otras transformaciones en el objeto Matrix3D. El factor de escala predeterminado es (1.0, 1.0, 1.0).

La escala se define como un conjunto de tres cambios incrementales a lo largo de los tres ejes (x,y,z). Puede multiplicar cada eje con un número diferente. Cuando se aplican los cambios de la escala a un objeto de visualización, el tamaño de éste se reduce. Por ejemplo, si se establecen los ejes x, y y z en dos, se duplica el tamaño del objeto, mientras que si se establecen en 0.5, el tamaño se reduce a la mitad. Para asegurarse de que la transformación de escala sólo afecta a un eje específico, establezca los otros parámetros en uno. Un parámetro de uno implica que no se producen cambios en la escala a lo largo del eje específico.

Se puede utilizar el método appendScale() para cambiar el tamaño y para administrar las distorsiones como, por ejemplo, la expansión o contracción de un objeto de visualización, o para aplicar el zoom en una ubicación. Las transformaciones de escala se realizan automáticamente durante la rotación y traslación de un objeto de visualización.

También se debe tener en cuenta el orden de la transformación. Un cambio de tamaño seguido de una transformación de traslación produce un efecto diferente al de una traslación seguida de un cambio de tamaño.

Parámetros

xScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje x.
 
yScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje y.
 
zScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje z.

Elementos de API relacionados

appendTranslation

()método 
public function appendTranslation(x:Number, y:Number, z:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como apéndice una traslación incremental, un cambio de posición a lo largo de los ejes x, y y z, a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza los cambios de traslación después de otras transformaciones en el objeto Matrix3D.

La traslación se define como un conjunto de tres cambios incrementales a lo largo de los tres ejes (x,y,z). Cuando se aplica la transformación a un objeto de visualización, éste se mueve desde su ubicación actual a lo largo de los ejes x, y y z, tal como se especifica en los parámetros. Para asegurarse de que la traslación sólo afecta a un eje específico, establezca los otros parámetros en cero. Un parámetro cero implica que no se realiza ningún cambio a lo largo del eje específico.

Los cambios de traslación no son absolutos. Son relativos a la posición actual y la orientación de la matriz. Para realizar un cambio absoluto a la matriz de transformación, utilice el método recompose(). También se debe tener en cuenta el orden de la transformación. Una traslación seguida de una transformación de rotación produce un efecto diferente al de una rotación seguida de una traslación.

Parámetros

x:Number — Traslación incremental a lo largo del eje x.
 
y:Number — Traslación incremental a lo largo del eje y.
 
z:Number — Traslación incremental a lo largo del eje z.

Elementos de API relacionados

clone

()método 
public function clone():Matrix3D

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Devuelve un nuevo objeto Matrix3D que es una copia exacta del objeto Matrix3D actual.

Valor devuelto
Matrix3D — Nuevo objeto Matrix3D que es una copia exacta del objeto Matrix3D actual.

copyColumnFrom

()método 
public function copyColumnFrom(column:uint, vector3D:Vector3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia un objeto Vector3D en columna específica del objeto Matrix3D de llamada.

Parámetros

column:uint — La columna de destino de la copia.
 
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.

copyColumnTo

()método 
public function copyColumnTo(column:uint, vector3D:Vector3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia la columna específica del objeto Matrix3D de llamada en el objeto Vector3D.

Parámetros

column:uint — La columna desde la que se van a copiar los datos.
 
vector3D:Vector3D — El objeto Vector3D de destino de la copia.

copyFrom

()método 
public function copyFrom(sourceMatrix3D:Matrix3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia todos los datos de la matriz desde el objeto Matrix3D de origen en el objeto Matrix3D de llamada.

Parámetros

sourceMatrix3D:Matrix3D — El objeto Matrix3D desde el que se van a copiar los datos.

copyRawDataFrom

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia todos los datos vectoriales desde el objeto vectorial de origen en el objeto Matrix3D de llamada. El parámetro opcional index permite seleccionar cualquier ranura inicial en el vector.

Parámetros

vector:Vector.<Number> — El objeto vectorial desde el que se van a copiar los datos.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRawDataTo

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia todos los datos de la matriz del objeto Matrix3D de llamada en el vector. El parámetro opcional index permite seleccionar cualquier ranura inicial de destino en el vector.

Parámetros

vector:Vector.<Number> — El objeto vectorial en el que se van a copiar los datos.
 
index:uint (default = 0)
 
transpose:Boolean (default = false)

copyRowFrom

()método 
public function copyRowFrom(row:uint, vector3D:Vector3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia un objeto Vector3D en fila concreta del objeto Matrix3D de llamada.

Parámetros

row:uint — La fila desde en que se van a copiar los datos.
 
vector3D:Vector3D — El objeto Vector3D desde el que se van a copiar los datos.

copyRowTo

()método 
public function copyRowTo(row:uint, vector3D:Vector3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11, AIR 3.0, Flash Lite 4

Copia la fila concreta del objeto Matrix3D de llamada en el objeto Vector3D.

Parámetros

row:uint — La fila desde la que se van a copiar los datos.
 
vector3D:Vector3D — El objeto Vector3D en el que se van a copiar los datos.

copyToMatrix3D

()método 
public function copyToMatrix3D(dest:Matrix3D):void

Parámetros

dest:Matrix3D

decompose

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Devuelve los valores de configuración de la traslación, rotación y escala de la matriz de transformación como un vector de tres objetos Vector3D. El primer objeto Vector3D contiene los elementos de traslación. El segundo objeto Vector3D contiene los elementos de rotación. El tercer objeto Vector3D contiene los elementos de escala.

Algunos métodos Matrix3D, como el método interpolateTo(), descomponen y recomponen automáticamente la matriz para realizar la transformación.

Para modificar la transformación de la matriz con un marco de referencia principal absoluto, recupere la configuración con el método decompose() y realice los cambios oportunos. Con el método recompose() puede establecer el objeto Matrix3D en la transformación modificada.

El parámetro del método decompose() especifica el estilo de orientación que se utilizará para la transformación. La orientación predeterminada es eulerAngles, que define la orientación con tres ángulos de rotación independientes para cada eje. Las rotaciones tienen lugar de forma consecutiva y no cambian los ejes de las demás. Las propiedades de rotación del eje del objeto de visualización llevan a cabo una transformación de estilo de orientación de ángulos de Euler. Las otras opciones de estilo de orientación son axisAngle y cuaternión. La orientación de ángulo con eje utiliza una combinación de un eje y un ángulo para determinar la orientación. El eje alrededor del cual se rota el objeto es un vector de unidad que representa una dirección. El ángulo representa la magnitud de la rotación sobre el vector. La dirección también determina hacia dónde mira un objeto de visualización, mientras que el ángulo determina cuál es la dirección hacia arriba. Los métodos appendRotation() y prependRotation() utilizan la orientación de ángulo con eje. La orientación de cuaternión utiliza números complejos y el cuarto elemento de un vector. Los tres ejes de rotación (x, y, z) y un ángulo de rotación (w) representan la orientación. El método interpolate() utiliza cuaternión.

Parámetros

orientationStyle:String (default = "eulerAngles") — Parámetro opcional que determina el estilo de orientación que se utiliza para la transformación de matriz. Los tres tipos de estilo de orientación son eulerAngles (constante EULER_ANGLES), axisAngle (constante AXIS_ANGLE) y cuaternión (constante QUATERNION). Para obtener información adicional sobre los diferentes estilos de orientación, consulte la clase geom.Orientation3D.

Valor devuelto
Vector.<Vector3D> — Vector de tres objetos Vector3D, cada uno de los cuales contiene los valores de configuración de la traslación, rotación y escala, respectivamente.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En este ejemplo se utilizan los métodos decompose() y recompose() para hacer que una elipse se expanda horizontalmente al tiempo que se mueve hacia el punto de fuga. El primer objeto Vector3D devuelto por el método decompose() contiene las coordenadas de traslación. El tercer objeto Vector3D contiene la configuración de escala. El método incrementBy() del objeto Vector3D incrementa los valores de configuración absolutos de traslación y escala de la matriz.
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

()método 
public function deltaTransformVector(v:Vector3D):Vector3D

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Utilice la matriz de transformación sin los elementos de traslación para transformar un objeto Vector3D desde una coordenada de espacio a otra. El objeto Vector3D devuelto contiene las nuevas coordenadas después de que se hayan aplicado las transformaciones de rotación y escala. Si el método deltaTransformVector() aplica una matriz que sólo contiene una transformación de traslación, el objeto Vector3D devuelto es el mismo que el original.

Puede utilizar el método deltaTransformVector() para que un objeto de visualización de un espacio de coordenada responda a la transformación de rotación de un segundo objeto de visualización. El objeto no copia la rotación sino que sólo cambia su posición para reflejar los cambios en la rotación. Por ejemplo, para utilizar la API display.Graphics para dibujar un objeto de visualización 3D rotando, debe asignar las coordenadas de rotación del objeto a un punto 2D. En primer lugar, recupere las coordenadas 3D del objeto después de cada rotación mediante el método deltaTransformVector(). A continuación, aplique el método local2DToGlobal() del objeto de visualización para trasladar las coordenadas 3D a los puntos 2D. Después, puede utilizar los puntos 2D para dibujar el objeto 3D en rotación.

Nota: este método establece automáticamente en 0.0 el componente w de Vector3D pasado.

Parámetros

v:Vector3D — Objeto Vector3D que contiene las coordenadas que se transformarán.

Valor devuelto
Vector3D — Objeto Vector3D con las coordenadas transformadas.

Elementos de API relacionados

identity

()método 
public function identity():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Convierte la matriz actual en una matriz de identidad o unidad. Una matriz de identidad tiene un valor de uno para los elementos en la diagonal principal y un valor de cero para todos los demás elementos. El resultado es una matriz donde el valor rawData es 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1, la configuración de rotación se ha establecido en Vector3D(0,0,0), la configuración de posición o traslación se ha establecido en Vector3D(0,0,0) y la escala en Vector3D(1,1,1). A continuación se muestra una representación de una matriz de identidad.

Matriz de identidad

Un objeto transformado mediante la aplicación de una matriz de identidad no realiza ninguna transformación. Es decir, si una matriz se multiplica por una matriz de identidad, el resultado será una matriz igual que (idéntica a) la original.

interpolate

()método 
public static function interpolate(thisMat:Matrix3D, toMat:Matrix3D, percent:Number):Matrix3D

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Interpola la traslación, rotación y escala de transformación de una matriz con los de la matriz de destino.

El método interpolate() evita algunos resultados no deseados que pueden ocurrir cuando se utilizan métodos como las propiedades de rotación de eje del objeto de visualización. El método interpolate() invalida el valor en caché de la propiedad de rotación del objeto de visualización y convierte los elementos de la orientación de la matriz del objeto de visualización en un cuaternión antes de la interpolación. Este método proporciona el trazado más corto y eficaz para la rotación. Asimismo, produce una rotación suave y sin bloqueo de ejes. Cuando se utilizan ángulos de Euler, en los que cada eje se trata de forma independiente, se puede producir un bloqueo de ejes. Durante la rotación alrededor de dos o más ejes, éstos se alinean, lo que puede producir resultados inesperados. Con la rotación de cuaternión se evita el bloqueo de ejes.

Las llamadas consecutivas al método interpolate() pueden producir el efecto de un objeto de visualización que comienza rápidamente y, a continuación, se aproxima lentamente a otro objeto de visualización. Por ejemplo, si establece el parámetro thisMat en el objeto Matrix3D devuelto, el parámetro toMat en el objeto Matrix3D asociado del objeto de visualización de destino y el parámetro percent en 0,1, el objeto de visualización se mueve un diez por ciento hacia el objeto de destino. En llamadas o fotogramas posteriores, el objeto se mueve un diez por ciento del 90 por ciento restante; a continuación, el diez por ciento de la distancia restante y así hasta que alcanza el destino.

Parámetros

thisMat:Matrix3D — Objeto Matrix3D que se interpolará.
 
toMat:Matrix3D — Objeto Matrix3D de destino.
 
percent:Number — Valor entre 0 y 1 que determina el porcentaje que el objeto Matrix3D thisMat se interpola hacia el objeto Matrix3D de destino.

Valor devuelto
Matrix3D — Objeto Matrix3D con elementos que sitúan los valores de la matriz entre la matriz original y la de destino. Cuando se aplica la matriz devuelta al objeto de visualización this, éste se aproxima al objeto de destino según el porcentaje especificado.

Elementos de API relacionados

interpolateTo

()método 
public function interpolateTo(toMat:Matrix3D, percent:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Interpola esta matriz hacia la traslación, rotación y transformaciones de la escala de la matriz de destino.

El método interpolateTo() evita los resultados no deseados que pueden ocurrir cuando se utilizan métodos como las propiedades de rotación de eje del objeto de visualización. El método interpolateTo() invalida el valor en caché de la propiedad de rotación del objeto de visualización y convierte los elementos de la orientación de la matriz del objeto de visualización en un cuaternión antes de la interpolación. Este método proporciona el trazado más corto y eficaz para la rotación. Asimismo, produce una rotación suave y sin bloqueo de ejes. Cuando se utilizan ángulos de Euler, en los que cada eje se trata de forma independiente, se puede producir un bloqueo de ejes. Durante la rotación alrededor de dos o más ejes, éstos se alinean, lo que puede producir resultados inesperados. Con la rotación de cuaternión se evita el bloqueo de ejes.

Nota: En caso de interpolación, el valor de escalado de la matriz se restablece y esta se normaliza.

Las llamadas consecutivas al método interpolateTo() pueden producir el efecto de un objeto de visualización que comienza rápidamente y, a continuación, se aproxima lentamente a otro objeto de visualización. Por ejemplo, si el parámetro de porcentaje se establece en 0,1, el objeto de visualización se mueve un diez por ciento hacia el objeto de destino especificado por el parámetro toMat. En llamadas o fotogramas posteriores, el objeto se mueve un diez por ciento del 90 por ciento restante; a continuación, el diez por ciento de la distancia restante y así hasta que alcanza el destino.

Parámetros

toMat:Matrix3D — Objeto Matrix3D de destino.
 
percent:Number — Valor entre 0 y 1 que determina la ubicación del objeto de visualización relativo al destino. Cuánto más cerca de 1,0 esté el valor, más cerca está el objeto de visualización de su posición actual. Cuánto más cerca de 0 esté el valor, más cerca está el objeto de visualización del destino.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En este ejemplo, ellipse2, un objeto de visualización tridimensional, se mueve hacia ellipse1, otro objeto de visualización tridimensional. ellipse2 sigue a ellipse1 e intenta alcanzarlo. Si ellipse1 no rota alrededor de su eje y, ellipse2 lo alcanzará y se situará sobre la parte superior de ellipse1. Las dos elipses se dibujan de la misma forma, pero se sitúan en ubicaciones tridimensionales de espacio del mundo diferentes.
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

()método 
public function invert():Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Invierte la matriz actual. Una matriz invertida tiene el mismo tamaño que la original, pero realiza la transformación opuesta a ésta. Por ejemplo, si la matriz original hace rotar un objeto alrededor del eje x en una dirección, la matriz invertida lo hará rotar alrededor del eje en la dirección opuesta. Mediante la aplicación de una matriz invertida a un objeto, se deshace la transformación realizada por la matriz original. Si se multiplica una matriz por su inversa, el resultado será una matriz de identidad.

La inversa de una matriz se puede utilizar para dividir una matriz por otra. La forma de dividir la matriz A por la matriz B consiste en multiplicar la primera por la inversa de la segunda. La matriz inversa también se puede utilizar con un espacio de cámara. Cuando la cámara se mueve en el espacio del mundo, el objeto del mundo se debe mover en la dirección opuesta para realizar la transformación desde la vista del mundo al espacio de la cámara o la vista. Por ejemplo, si la cámara se aproxima, el objeto aumenta de tamaño. Es decir, si la cámara se mueve hacia abajo en el eje z del mundo, el objeto se mueve hacia arriba en dicho eje.

El método invert() sustituye la matriz actual por una matriz invertida. Si desea invertir una matriz sin modificar la matriz actual, cópiela primero mediante el método clone() y, a continuación, aplique el método invert() a la copia.

El objeto Matrix3D debe poder invertirse.

Valor devuelto
Boolean — Devuelve true si la matriz se invirtió correctamente.

Elementos de API relacionados

pointAt

()método 
public function pointAt(pos:Vector3D, at:Vector3D = null, up:Vector3D = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Rota el objeto de visualización de forma que quede mirando hacia una posición especificada. Este método permite una modificación en contexto de la orientación. El vector de dirección hacia adelante del objeto de visualización (el objeto Vector3D at) apunta a la posición relativa al mundo especificada. La dirección hacia arriba del objeto de visualización se especifica con el objeto Vector3D up.

El método pointAt() invalida el valor de la propiedad de rotación en caché del objeto de visualización. Este método descompone la matriz del objeto de visualización y modifica los elementos de rotación para que el objeto gire a la posición especificada. A continuación, recompone (actualiza) la matriz del objeto de visualización, que lleva a cabo la transformación. Si el objeto apunta a un destino en movimiento como, por ejemplo, la posición de un objeto en movimiento, con cada llamada posterior el método hace que el objeto rote hacia el destino en movimiento.

Nota: si se utiliza el método Matrix3D.pointAt() sin establecer los parámetros opcionales, un objeto de destino no se compara con la posición relativa al mundo especificada de forma predeterminada. Es necesario definir los valores de at en el eje y (0,-1,0) y up en el eje z (0,0,-1).

Parámetros

pos:Vector3D — La posición relativa al mundo del objeto de destino. "Relativa al mundo" define la transformación del objeto en relación con el espacio y las coordenadas del mundo, donde se sitúan todos los objetos.
 
at:Vector3D (default = null) — El vector relativo al objeto que define hacia dónde apunta el objeto de visualización. "Relativa al objeto" define la transformación del objeto en relación al espacio del objeto, el marco de referencia y el sistema de coordenadas propios del objeto. El valor predeterminado es el eje +y (0,1,0).
 
up:Vector3D (default = null) — El vector relativo al objeto que define "arriba" para el objeto de visualización. Si el objeto se ha dibujado mirando hacia abajo desde arriba, el eje +z es su vector "hacia arriba". "Relativa al objeto" define la transformación del objeto en relación al espacio del objeto, el marco de referencia y el sistema de coordenadas propios del objeto. El valor predeterminado es el eje +z-(0,0,1).

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En este ejemplo, un triángulo apunta y sigue el trazado del movimiento de la elipse. La elipse y el triángulo se establecen en ubicaciones diferentes. A continuación, la elipse se mueve hacia arriba hacia la esquina del escenario. El triángulo sigue los cambios de traslación de la elipse. Puede cambiar la forma del triángulo y los parámetros "at" y "up" de pointAt() para comprobar el efecto que tienen en el movimiento del triángulo.
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

()método 
public function prepend(rhs:Matrix3D):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Incluye como prefijo una matriz multiplicando el objeto Matrix3D actual por otro. El resultado combina ambas transformaciones de matriz.

La multiplicación de matrices es diferente a la suma de matrices. La multiplicación de matrices no es conmutativa. En otras palabras, A multiplicado por B no es igual que B multiplicado por A. Con el método preppend(), la multiplicación tiene lugar desde la parte derecha, lo que significa que el objeto Matrix3D rhs se encuentra en la parte derecha del operador de multiplicación.

thisMatrix = thisMatrix * rhs

Las modificaciones realizadas por el método prepend() son relativas al espacio del objeto. En otras palabras, siempre son relativas al marco de referencia inicial del objeto.

El método preppend() sustituye la matiz actual por la añadida como prefijo. Si desea añadir como prefijo dos matrices sin modificar la matriz actual, cópiela primero mediante el método clone() y, a continuación, aplique el método preppend() a la copia.

Parámetros

rhs:Matrix3D — Parte derecha de la matriz por la que se multiplica el objeto Matrix3D actual.

Elementos de API relacionados

prependRotation

()método 
public function prependRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como prefijo una rotación incremental a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza la rotación antes de otras transformaciones en el objeto Matrix3D.

La rotación del objeto de visualización se define por un eje, un grado incremental de rotación alrededor del eje y un punto de giro opcional para el centro de la rotación del objeto. El eje puede ser cualquier dirección general. Los ejes habituales son X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) y Z_AXIS (Vector3D(0,0,1)). En la terminología de aviación, la rotación sobre el eje y se denomina "yaw". La rotación sobre el eje x se conoce como "pitch". La rotación sobre el eje z se denomina "roll".

También se debe tener en cuenta el orden de la transformación. Una rotación seguida de una transformación de traslación produce un efecto diferente al de una traslación seguida de una rotación.

El efecto de la rotación no es absoluto. El efecto es relativo al objeto, relativo al marco de referencia de la posición y orientación originales. Para realizar un cambio absoluto a la transformación, utilice el método recompose().

Cuando se aplica la transformación del método prependRotation() a un objeto Matrix3D de un objeto de visualización, los valores de la propiedad de rotación en caché del objeto de visualización se invalidan.

Una forma de hacer rotar un objeto de visualización alrededor de un punto específico relativo a su ubicación consiste en establecer la traslación del objeto en el punto especificado, rotar el objeto mediante el método prependRotation() y trasladar el objeto de nuevo a la posición original. En el siguiente ejemplo, el objeto de visualización 3D myObject lleva a cabo una rotación del eje y alrededor de la coordenada (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);
     
    

Parámetros

degrees:Number — Grado de la rotación.
 
axis:Vector3D — Eje o dirección de la rotación. Los ejes habituales son X_AXIS (Vector3D(1,0,0)), Y_AXIS (Vector3D(0,1,0)) y Z_AXIS (Vector3D(0,0,1)). Este vector debe tener una longitud de uno.
 
pivotPoint:Vector3D (default = null) — Punto que determina el centro de la rotación. El punto de giro predeterminado es un punto de registro.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En este ejemplo, el usuario puede mover un ratón para rotar una elipse alrededor de sus ejes x e y. La elipse se dibuja con el punto de registro en el centro. La elipse rota alrededor de su eje y utilizando la coordenada x del ratón. Rota alrededor de su eje x utilizando la coordenada y del ratón.
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

()método 
public function prependScale(xScale:Number, yScale:Number, zScale:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como prefijo un cambio de escala incremental a lo largo de los ejes x, y y z, a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza los cambios de escala antes de otras transformaciones en el objeto Matrix3D. Los cambios son relativos al objeto, relativos al marco de referencia de la posición y orientación originales. El factor de escala predeterminado es (1.0, 1.0, 1.0).

La escala se define como un conjunto de tres cambios incrementales a lo largo de los tres ejes (x,y,z). Puede multiplicar cada eje con un número diferente. Cuando se aplican los cambios de la escala a un objeto de visualización, el tamaño de éste se reduce. Por ejemplo, si se establecen los ejes x, y y z en dos, se duplica el tamaño del objeto, mientras que si se establecen en 0.5, el tamaño se reduce a la mitad. Para asegurarse de que la transformación de escala sólo afecta a un eje específico, establezca los otros parámetros en uno. Un parámetro de uno implica que no se producen cambios en la escala a lo largo del eje específico.

Se puede utilizar el método prependScale() para cambiar el tamaño y para administrar las distorsiones como, por ejemplo, la expansión o contracción de un objeto de visualización. También se puede utilizar para aplicar el zoom en una ubicación. Las transformaciones de escala se realizan automáticamente durante la rotación y traslación de un objeto de visualización.

También se debe tener en cuenta el orden de la transformación. Un cambio de tamaño seguido de una transformación de traslación produce un efecto diferente al de una traslación seguida de un cambio de tamaño.

Parámetros

xScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje x.
 
yScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje y.
 
zScale:Number — Multiplicador utilizado para aplicar una escala al objeto a lo largo del eje z.

Elementos de API relacionados

prependTranslation

()método 
public function prependTranslation(x:Number, y:Number, z:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Añade como prefijo una traslación incremental, un cambio de posición a lo largo de los ejes x, y y z, a un objeto Matrix3D. Cuando se aplica el objeto Matrix3D a un objeto de visualización, la matriz realiza los cambios de traslación antes de otras transformaciones en el objeto Matrix3D.

La traslación especifica la distancia que recorre el objeto de visualización desde su ubicación actual a lo largo de los ejes x, y y z. El método prependTranslation() establece la traslación como un conjunto de tres cambios incrementales a lo largo de los tres ejes (x,y,z). Para que una traslación sólo cambie un eje específico, establezca los otros parámetros en cero. Un parámetro cero implica que no se realiza ningún cambio a lo largo del eje específico.

Los cambios de traslación no son absolutos. El efecto es relativo al objeto, relativo al marco de referencia de la posición y orientación originales. Para realizar un cambio absoluto a la matriz de transformación, utilice el método recompose(). También se debe tener en cuenta el orden de la transformación. Una traslación seguida de una transformación de rotación produce un efecto diferente que una rotación seguida de una transformación de traslación. Cuando se utiliza prependTranslation(), el objeto de visualización continúa moviéndose en la dirección hacia donde mira, independientemente de las otras transformaciones. Por ejemplo, si un objeto de visualización estuviera mirando hacia un eje x positivo, continuaría moviéndose en la dirección especificada por el método prependTranslation(), independientemente de cómo se haya rotado el objeto. Para que los cambios de traslación tengan lugar después de otras transformaciones, utilice el método appendTranslation().

Parámetros

x:Number — Traslación incremental a lo largo del eje x.
 
y:Number — Traslación incremental a lo largo del eje y.
 
z:Number — Traslación incremental a lo largo del eje z.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En este ejemplo, el usuario puede empujar una elipse hacia arriba del eje y del escenario con un ratón. Cuando el usuario mueve el ratón sobre la elipse, ésta salta diez coordenadas hacia arriba en el eje y. Cuando se mueve el ratón fuera de la elipse, si ésta no ha alcanzado la parte superior, salta de nuevo diez coordenadas hacia arriba en el eje y. Una vez que la elipse alcanza la parte superior, vuelve a la parte inferior del escenario.
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

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Establece los valores de configuración de traslación, rotación y escala de la matriz de transformación. A diferencia de los cambios incrementales realizados por las propiedades de rotación del objeto de visualización o los métodos de rotación del objeto Matrix3D, los cambios realizados por el método recompose() son cambios absolutos. El método recompose() sobrescribe la transformación de la matriz.

Para modificar la transformación de la matriz con un marco de referencia principal absoluto, recupere la configuración con el método decompose() y realice los cambios oportunos. Con el método recompose() puede establecer el objeto Matrix3D en la transformación modificada.

El parámetro del método recompose() especifica el estilo de orientación que se utilizó para la transformación. La orientación predeterminada es eulerAngles, que define la orientación con tres ángulos de rotación independientes para cada eje. Las rotaciones tienen lugar de forma consecutiva y no cambian los ejes de las demás. Las propiedades de rotación del eje del objeto de visualización llevan a cabo una transformación de estilo de orientación de ángulos de Euler. Las otras opciones de estilo de orientación son axisAngle y cuaternión. La orientación de ángulo con eje utiliza la combinación de un eje y un ángulo para determinar la orientación. El eje alrededor del cual se rota el objeto es un vector de unidad que representa una dirección. El ángulo representa la magnitud de la rotación sobre el vector. La dirección también determina hacia dónde mira un objeto de visualización, mientras que el ángulo determina cuál es la dirección hacia arriba. Los métodos appendRotation() y prependRotation() utilizan la orientación de ángulo con eje. La orientación de cuaternión utiliza números complejos y el cuarto elemento de un vector. Una orientación se representa por los tres ejes (x,y,z) y un ángulo de rotación (w). El método interpolate() utiliza cuaternión.

Parámetros

components:Vector.<Vector3D> — Vector de tres objetos Vector3D que sustituyen los elementos de traslación, rotación y escala del objeto Matrix3D.
 
orientationStyle:String (default = "eulerAngles") — Parámetro opcional que determina el estilo de orientación que se utiliza para la transformación de matriz. Los tres tipos de estilo de orientación son eulerAngles (constante EULER_ANGLES), axisAngle (constante AXIS_ANGLE) y cuaternión (constante QUATERNION). Para obtener información adicional sobre los diferentes estilos de orientación, consulte la clase geom.Orientation3D.

Valor devuelto
Boolean — Devuelve false si alguno de los elementos Vector3D del vector components no existe o es null.

Elementos de API relacionados

transformVector

()método 
public function transformVector(v:Vector3D):Vector3D

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Utilice la matriz de transformación para transformar un objeto Vector3D desde una coordenada de espacio a otra. El objeto Vector3D devuelto contiene las nuevas coordenadas después de la transformación. Todas las transformaciones de matriz incluida la traslación se aplican al objeto Vector3D.

Si el resultado del método transformVector() se aplicó a la posición de un objeto de visualización, sólo cambia la posición de dicho objeto. Los elementos de rotación y escala del objeto de visualización permanecen iguales.

Nota: este método establece automáticamente en 1.0 el componente w de Vector3D pasado.

Parámetros

v:Vector3D — Objeto Vector3D que contiene las coordenadas que se transformarán.

Valor devuelto
Vector3D — Objeto Vector3D con las coordenadas transformadas.

Elementos de API relacionados

transformVectors

()método 
public function transformVectors(vin:Vector.<Number>, vout:Vector.<Number>):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Utiliza la matriz de transformación para transformar un vector de elementos Number de un espacio de coordenadas a otro. El método tranformVectors() lee los grupos de tres números en el objeto vectorial vin como una coordenada 3D (x,y,z) y coloca una coordenada 3D transformada en el objeto vectorial vout. Todas las transformaciones de matriz incluida la traslación se aplican al objeto vectorial vin. Puede utilizar el método transformVectors() para representar y transformar un objeto 3D como una malla. Una malla es un conjunto de vértices que define la forma del objeto.

Parámetros

vin:Vector.<Number> — Vector de números, donde cada grupo de tres números forma una coordenada 3D (x,y,z) que se transformará.
 
vout:Vector.<Number> — Vector de números, donde cada grupo de tres números forma una coordenada 3D transformada (x,y,z).

Elementos de API relacionados

transpose

()método 
public function transpose():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Convierte el objeto Matrix3D actual en una matriz en la que las filas y columnas se intercambian. Por ejemplo, si el rawData del objeto Matrix3D actual contiene los 16 números siguientes: 1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34, el método transpose() lee los grupos de cuatro elementos como una fila y convierte las filas en columnas. El resultado es una matriz con el rawData de: 1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34.

El método transpose() sustituye la matriz actual por una matriz traspuesta. Si desea trasponer una matriz sin modificar la matriz actual, cópiela primero mediante el método clone() y, a continuación, aplique el método transpose() a la copia.

Una matriz ortogonal es una matriz cuadrada cuya trasposición es igual a su inversa.





[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.