Вы находитесь на странице: 1из 4

Trabajo Grfica de una funcin

Presentado por:

Juan David Araque Giraldo - C C : !"#$%&&$'&

(rea: )*ica + ,epresentacin ! Profesor: -abin ,.os Castrilln -ec/a: !$ de 0nero

1niversidad de Antioquia -acultad de 2n*enier.a Departa3ento de 2n*enier.a de 4iste3as 5edell.n '"!"

Funciones Trigonomtricas: Seno, Coseno y Tangente

Por qu funciones trigonomtricas?

Desde la fec/a en que tuve conoci3iento acerca de este trabajo6 co3enc7 a pensar en que funcin esco*er.a + en co3o reali8ar.a la representacin de esta6 lue*o de pensar un rato se 3e vino esta pre*unta a la cabe8a: 9:;u7 tan dif.cil ser.a *raficar el seno<= >To3ando la funcin seno co3o eje3plo de cualquier funcin tri*ono37trica? 5e sur*.a esta duda pues sie3pre 3e /ab.a topado con *rficas de circunferencias6 cuadrados6 rectn*ulos + l.neas6 pero 3e parec.a que /ab.a 3s6 que se pod.an lo*rar otras cosas + que la dificultad no deber.a ser 3uc/a Al cabo de los d.as 7sa 3e pareci la idea 3as apropiada + la que 3s 3e atra.a As. que ter3in7 decidi7ndo3e por reali8ar la *rfica del seno por varias ra8ones: porque no la /ab.a visto antes en cdi*o ni representada por un len*uaje de pro*ra3acin espec.fico6 por las caracter.sticas que posee co3o funcin6 co3o lo son su periodicidad6 su representacin en for3a de curva + su aparente fcil 3anejo6 ta3bi7n porque +a pose.a conoci3ientos acerca de tri*ono3etr.a + 3e podr.a dese3pe@ar 3ejor que si no los tuviera

Realizacin del cdigo, e ecucin, errores y !ro"lemas !resentados

)o pri3ero era establecer un punto de inicio + a partir de a/. co3en8ar a desarrollar la idea e ir avan8ando As. que co3enc7 averi*uando co3o reali8ar la operacin seno con cdi*o6 pero no paso 3uc/o tie3po /asta que record7 que ten.a una librer.a con bastantes eje3plo de l7Aico6 as. que co3enc7 a buscar uno a uno + lo*r7 encontrar un eje3plo en el que se reali8aba la operacin Math.Sin para sacar el seno de #"B6 C0ureDaE Fa con este dato inici7 un proceso de prueba + error con varios valores6 cerciorndo3e de entender el funciona3iento de la ecuacin para poderla 3anejar con se*uridad lue*o A/ora6 /ab.a que aplicarla + *raficarlaG e3pec7 *uindo3e por el eje3plo dado en clase en el cual se *raficaba una circunferencia6 co3prend. co3o se reali8aba + lo arre*l7 para que 3ostrara la circunferencia co3pleta pues solo 3ostraba 3ediaG teniendo un conoci3iento base para *raficar6 co3enc7 a reali8ar la representacin del seno Pri3ero6 definir las variables + objetos a usarG las cantidades6 el bit3ap6 el *raficador6 el for36 el pincel + un punto Para e3pe8ar6 da3os valor a un li3ite + le pone3os un contador para denotar el nu3ero de pasos en el que reali8ar la *rfica6 lue*o defini3os en otra variable de cantidad el *rado >B? desde el cual quiero que e3piece + entra3os al ciclo que se encar*ar de dibujar las diferentes l.neas que confor3arn la *rfica6 una por una Co3en8a3os llevando a cabo la

operacin Math.Sin de esta for3a: - copie Math.Sin(3.14159265358979323846 * ang / 180) en angy-6 7sta ecuacin es la usada para convertir unidades de *rados a radianesG se 3ultiplican los *rados por H + se divide por !I"6 pues !I"B son H radianes 0n este caso la variable ang es usada para los n*ulos que deben ser convertidos a radianes + poder ser ad3itidos por la operacin Math.Sin6 de la cual sale un resultado que es llevado a angy + ser el encar*ado de dar los valores en F6 3ientras que el n*ulo >ang) aporta los valores en J )ue*o de reali8ar la operacin indicada6 pasa3os a dibujar por 3edio del *raficador + su atributo .dra !ine" dibujando l.neas entre dos puntos indicadosG 7sta funcin de dibujo6 queda plas3ada en un bit3ap que fue instanciado al inicio )ue*o copia3os los valores de J + F en otras dos variables diferentes para llevar a cabo la sucesin de l.neas que confor3an la *rfica >por 3edio de los dos puntos 3encionados antes? Para ter3inar el ciclo au3enta3os el contador + el valor del n*ulo A/ora6 los detalles faltantes son los relacionados a la ejecucin6 visuali8acin e interaccin con el usuario6 los cuales fueron: 3odificar el ta3a@o + el lu*ar de la ventana >#or$? al 3ostrarse6 ca3biando los atributos . idth + .height para el ta3a@o + usando un punto >point? para la posicin Ta3bi7n se 3uestra un saludo o introduccin corta al usuario + se le dan las pautas o se le infor3a acerca de que aplicacin esta usando )ue*o de tener prctica3ente lista la aplicacin6 se verifica que no ten*a errores6 que co3pile + ejecute sin proble3as A/ora bien6 lue*o de tener +a una *rfica lista :por qu7 no probar con el resto de funciones >coseno + tan*ente?< Pues eso fue lo que se llevo a cabo + result Con el coseno se daban los 3is3os valores que con el seno al n*ulo inicial6 el contador + el l.3ite6 pues las dos funciones se co3portan 3u+ si3ilar3ente Para el coseno se us la operacin Math.%o& + para la tan*ente la Math.'an6 pero con respecto a la tan*ente no se pod.an dar los 3is3os valores que con las anteriores6 pues 7sta se co3porta diferente + >en este caso? 3andaba un error al tratar de ejecutar con los valores usados antes As. que /ubo que /acer un proceso de prueba + error6 del cual se conclu+ que el error era provocado porque cuando la tan*ente lle*a a los $"B su resultado no es definido pues es una as.ntota + por 3uc/o que se acerque nunca toca los $"B6 + as. ocurre cada !I"B6 por eje3plo $"6 'K"6 %&"6 L#"6 etc )a solucin fue co3en8ar desde $!B /asta 'L$B6 pues entre estos *rados la tan*ente se *rafica sin error + se lo*ra apreciar 3u+ bien Mste ca3bio produjo la variacin del l.3ite estndar que era !&" a ser !KI que son el nN3ero de *rados entre $! + 'L$6 ade3s /ubo que 3odificar la diferencia en la que au3entaban cada ve8 los *rados de !" que era la estndar a ! para evitar el error A/ora el proble3a era 3ostrar las diferentes l.neas curvas que for3an la tan*ente pues /asta a/ora solo 3ostrar.a una6 que ser.a la que va de $"B a 'K"B >sin tocarlos? As. que solucion7 esto *raficando si3ultnea3ente las diferentes l.neas6 cada una independiente3ente pero con una diferencia en J de !I" respectiva3ente6 para as. lo*rar con varias de 7stas l.neas consecutivas una representacin 3as acertada de la tan*ente Para 3ejorar la visuali8acin de las diferentes *rficas6 se cre una i3a*en que representaba un plano cartesiano6 pero /ec/o a la 3edida para este caso + con las 3arcas de los diferentes *rados para 3ejorar la co3prensin del *rfico Debido a

esto se debi ajustar el anc/o + lar*o de las tres funciones para que encajaran en la i3a*en Con todo esto listo a*re*a3os al al*orit3o la posibilidad de per3itir al usuario 3odificar el anc/o + lar*o de cada una de las funciones6 pero de 3odo separado: por un lado se visuali8an las *rficas representadas en el plano cartesiano + por otro se 3odifican los valores + se 3uestran las *rficas6 pero no en un plano cartesiano6 esto debido a que al 3odificar el anc/o + el lar*o se ca3bia toda la posicin respecto a la i3a*en del plano cartesiano6 as. que 3as fcil3ente se representan pero en un fondo plano # $lgunos detalles y !ro"lemas !resentados %adicionales&: - )as *rficas por defecto se dibujaban al 9rev7s=6 debido a que el 3anejo del eje F en la pantalla es en sentido contrario al convencional + al aplicado en los planos cartesianos6 para re3ediar esto se 3ultiplic el resultado en F por un nN3ero ne*ativo resultando en la *rfica tal co3o es )os valores por los que se 3ultiplican + su3an las funciones6 fueron asi*nados dependiendo de la i3a*en *u.a del plano cartesiano as.: $"B del plano son !#" piAeles6 entonces para el ajuste en J se 3ultiplicaba por ! %%%%%%%% que es el resultado de !#"O$" Para F6 +a que el l.3ite de las funciones seno + coseno es !6 se 3ultiplic la funcin por -!#" para que ajustara a la 3edida en el plano6 ade3s se 3odific su posicin para que quedara en todo el centro del plano6 el cual es #!" piAeles Para esco*er una de las dos opciones6 ver *rfica o 3odificar valores6 se us el 37todo cualitativo para el ciclo principal en el que se desarrolla la aplicacin para que el usuario in*rese ciertas instrucciones + va+a avan8ando Para la opcin de ver las *rficas en el plano6 solo se reali8a una ve8 la accin de *raficar6 puesto que los valores no se 3odificaran + por opti3i8ar el pro*ra3aG cuando se ordena ver una de las *rficas solo ejecuta la accin de 3ostrar el *rfico en el (or$ Para la opcin de 3odificar valores6 no se puede solo 3ostrar el *rfico6 si no que debe reali8arse la opcin de *raficar cada ve8 que el usuario escoja esta opcin6 debido a que los valores ca3bian a libertad del usuario

Вам также может понравиться