25.10.2014 Views

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

[0][5]<br />

[0][6]<br />

[0][7]<br />

datosCompon<strong>en</strong>te[0][5] = new Array(); // Ubicacion(t) <strong>en</strong>tre nodos "z" //<br />

datosCompon<strong>en</strong>te[0][6] = new Array(); // Distancia(t) <strong>en</strong>tre nodos //<br />

datosCompon<strong>en</strong>te[0][7] = new Array(); // Inclinacion(t) <strong>en</strong>tre nodos //<br />

// Asignacion <strong>de</strong>l "arreglo <strong>de</strong> voltajes nodales"<br />

// a <strong>la</strong>s terminales <strong>de</strong>l compon<strong>en</strong>te<br />

V1_t = datosCompon<strong>en</strong>te[1][4]; // [+]<br />

V2_t = datosCompon<strong>en</strong>te[2][4]; // [-]<br />

V3_t = datosCompon<strong>en</strong>te[3][4]; // [Vo]<br />

for (i in V1_t) {<br />

<strong>de</strong>ltaV = V2_t[i] - V3_t[i];<br />

// Coloca el compon<strong>en</strong>te a una altura igual al punto<br />

// medio <strong>de</strong> <strong>la</strong>s coord<strong>en</strong>adas "z" <strong>de</strong> cada terminal<br />

cont<strong>en</strong>edor_z = (V2_t[i] + V3_t[i])/2;<br />

// Calcu<strong>la</strong> distancia geometrica <strong>en</strong>tre terminales <strong>de</strong>l compon<strong>en</strong>te<br />

distancia = Math.sqrt(<strong>de</strong>ltaV*<strong>de</strong>ltaV + 1600);<br />

// Calcu<strong>la</strong> angulo <strong>de</strong> <strong>la</strong> terminal 2 a <strong>la</strong> 3<br />

inclinacion = (Math.atan2(<strong>de</strong>ltaV,40)/Math.PI)*180;<br />

}<br />

}<br />

datosCompon<strong>en</strong>te[0][5].push(cont<strong>en</strong>edor_z);<br />

datosCompon<strong>en</strong>te[0][6].push(distancia);<br />

datosCompon<strong>en</strong>te[0][7].push(inclinacion);<br />

public function asignaPot<strong>en</strong>cial(t:Number):void {<br />

// -----------------------------------------------------------<br />

// Funcion "onEnterFrame" l<strong>la</strong>mada <strong>de</strong>s<strong>de</strong> el motor<strong>3D</strong>_ac<br />

// -----------------------------------------------------------<br />

// Rota, esca<strong>la</strong> y ori<strong>en</strong>ta el compon<strong>en</strong>te<br />

cont<strong>en</strong>edor_z = datosCompon<strong>en</strong>te[0][5][t];<br />

distancia = datosCompon<strong>en</strong>te[0][6][t];<br />

inclinacion = datosCompon<strong>en</strong>te[0][7][t];<br />

}<br />

this.z = cont<strong>en</strong>edor_z;<br />

lineaGrafica.scaleX = distancia/40;<br />

cont<strong>en</strong>edorGrafico.rotationY = inclinacion;<br />

public function <strong>de</strong>sactivarComportami<strong>en</strong>to<strong>3D</strong>Complejo():void {<br />

this.z = 0;<br />

cont<strong>en</strong>edorGrafico.z = 0;<br />

datosCompon<strong>en</strong>te[0][4] = cont<strong>en</strong>edorGrafico.z;<br />

cont<strong>en</strong>edorGrafico.rotationY = 0;<br />

lineaGrafica.scaleX = 1;<br />

lineaSalida.alpha = 1;<br />

}<br />

inicializaList<strong>en</strong>ers();<br />

107

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!