Hola Sheyla,<br><br>
<div class="gmail_quote">2009/11/6 marbella paredes <span dir="ltr"><<a href="mailto:lamamix100pre@hotmail.com">lamamix100pre@hotmail.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>buenos dias necesito hacer un poligono en modo grafico pero debo poder darle traslacion, rotacion y escalacion a demas debe estar rellenado de un color, bien ya tengo el poligono y lo puedo tras ladar en la pantalla segun lo desee el usuario tambien lo cuedo escalar tanto en aumento como en reduccion, pero aun no consigo poder rotarlo ni llenarlo de un color, para rotar estube revisando y tengo que hacerlo con funciones trigonometricas y e ahy mi problema por ejemplo <br>
senº=<u>lado opuesto</u> =<u>35</u> =0.1813<br>        hipotenusa     193<br><br>senº=<u>lado opuesto</u> =<u>190</u> =0.9844<br>        hipotenusa     193<br>y lo que necesito es obtener un angulo segun lei debo sacar el arcoseno entonces escribo asin(0.1813);<br>
y tampoco meda un angulo, y necesito que la funcion lo calcule para hacer en nuevo calculo y obtener los proximos puntos de la rotacion el unico angulo que tengo es el angulo recto, faltarian los otros dos.<br>angulo=90 <br>
x=190;<br>y=35;<br>h=193;<br><br>espero haberme explicado bien y si alguien me puede ayudar seria mejor gracias de antemano.<br>atentamente.<br><br></div></blockquote>
<div> </div>
<div>Típicamente, la operación o transformación de la rotación requiere un ángulo que debes proporcionar, aparte de la información del punto o vértice. Los cálculos son los siguientes:</div>
<div> </div>
<div>x' = x * cos(a) - y * sen(a)</div>
<div>
<div>y' = x * sen(a) + y * cos(a)</div></div>
<div> </div>
<div>donde (x',y') es el punto rotado a partir del ángulo, a, del punto original (x,y). Esta rotación se realiza por el origen en el sentido contrario al de las agujas del reloj. Recuerda que estos cálculos usan radianes, y por tanto el ángulo, a, debe estar en radianes para que las funciones trigonométricas funcionen correctamente, valga la redundancia.</div>

<div> </div>
<div>Como ha mencionado Jorge, que se me ha adelantado mientras te respondía, tienes que aplicar estas fórmulas a cada vértices de tu polígono.</div>
<div> </div>
<div>Si quieres rotar el polígono por otro punto que no sea el origen, entonces acabarás aplicando varias transformaciones en serie. La secuencia es la siguiente:</div>
<div> </div>
<div>T(-p,-q) R(a) T(p,q)</div>
<div> </div>
<div>donde T se refiere a la traslación y R a la rotación. Aquí queremos rotar por el punto (p,q). Como puedes ver, desplazamos cualquier punto por (-p,-q), que viene a ser casi lo mismo que mudar todo a otro origen descrito por (p,q). Luego rotamos, para luego volver a mudar todo por (p,q).</div>

<div> </div>
<div> </div>
<div>Espero que esto te sirva.</div>
<div> </div>
<div>Steven</div>
<div> </div></div>