37
NOMBRES: Andrés Flores AULA: G-201 FECHA: 12/08/2015 La computación grafica o gráficos por computadora es el campo de la informática visual, donde se utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real Computación en 2D Es la generación de imágenes digitales por computadora sobre todo de modelos bidimensionales Computación en 3D Forma de proyectar la luz Modelos tridimensionales Técnicas específicas Aplicaciones Juegos Aplicaciones COMPU TACIO N GRAFI CA

Cuaderno Virtual Computacion Grafica

Embed Size (px)

DESCRIPTION

cuaderno donde se muestran trabajos de programación en C#

Citation preview

NOMBRES: Andrs FloresAULA: G-201FECHA: 12/08/2015La computacin grafica o grficos por computadora es el campo de la informtica visual, donde se utilizan computadoras tanto para generar imgenes visuales sintticamente como integrar o cambiar la informacin visual y espacial probada del mundo realComputacin en 2DEs la generacin de imgenes digitales por computadora sobre todo de modelos bidimensionalesComputacin en 3DForma de proyectar la luzModelos tridimensionales Tcnicas especficasAplicaciones uegos!plicacionesRealidad Virtual"imula sensaciones#ise$ada para todos los sentidos de los seres %umanos menos el del olfatoCOMPUTACIONGRAFICA"incronizacinRealidad aumentada!lgo sinttico"e aumenta cosas a la realidad com&n'retende dar una realidad (ue no e)isteMundos virtuales*epresentacin grafica dentro de una aplicacin e interactuar +avatar en aplicacin,Procesamiento digital-on.unto de tcnicas (ue se aplican a las imgenes de digitales con el ob.etivo de me.orarla calidad o facilitar la b&s(ueda de informacin Materiales Educativos/ncentivan el aprendiza.e del alumno!prendiza.e ms entretenimientoE.emplo 0 using "ystem1using "ystem2-ollections23eneric1using "ystem2-omponentModel1using "ystem2#ata1using "ystem2#ra4ing1using "ystem2Lin(1using "ystem2Te)t1using "ystem25indo4s2Forms1namespace 5indo4sForms!pplication06public partial class E.ercicio0 7 Form6public E.ercicio0+,6/nitialize-omponent+,18private void group9o)0:Enter+ob.ect sender, Event!rgs e,68private void E.ercicio0:Load+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;"aludos ?;,18private void btnMensa.e0:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;9/E>AE>/#?" ! -B;,;Mensa.e de /nformacion;,18private void btn"alir:-lic@+ob.ect sender, Event!rgs e,6-lose+,18private void btnMensa.eC:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;Este es un mensa.e de prueba;,;ca.a de mensa.es;,Message9o)9uttons2Des>o,Message9o)/con2E)clamation,1888'arse %ace (ue cambie la variable a lo (ue necesitemosTo"tringE-onvierte de variable a te)toME>"!E"-?#/3? #E 9?T?>E"private void btnMensa.e0:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;!steris@;, ;ca.a de mensa.es;, Message9o)9uttons2Des>o, Message9o)/con2!steris@,18 private void btnMensa.eC:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;Error;, ;ca.a de mensa.es;, Message9o)9uttons2!bort*etry/gnore, Message9o)/con2Error,18private void btnMensa.eF:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;E)clamacion;, ;ca.a de mensa.es;, Message9o)9uttons2?G-ancel, Message9o)/con2E)clamation,18private void btnMensa.eH:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;-uidado;, ;ca.a de mensa.es;, Message9o)9uttons2*etry-ancel, Message9o)/con2o-ancel, Message9o)/con25arning,18private void btnMensa.eL:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;'regunta;, ;ca.a de mensa.es;, Message9o)9uttons2!bort*etry/gnore, Message9o)/con2Muestion,18private void btnMensa.eN:-lic@+ob.ect sender, Event!rgs e,6Message9o)2"%o4+;>??? !LT???;, ;ca.a de mensa.es;, Message9o)9uttons2?G, Message9o)/con2"top,18private void btn"alir:-lic@+ob.ect sender, Event!rgs e,6-lose+,18

Message9o)2"%o4 +Mtodo, +"tring, "tring, Message9o)9uttons,Muestra un cuadro de mensa.e con el te)to, la leyenda, y los botones especificados2Espacio de nombres:"ystem25indo4s2FormsEnsamblado:"ystem25indo4s2Forms +en "ystem25indo4s2Forms2dll,"inta)ispublic static #ialog*esult "%o4+string te)t,string caption,Message9o)9uttons buttons,'armetrostextTipo7 "ystem2"tringTe)to (ue se mostrar en el cuadro de mensa.e2 captionTipo7 "ystem2"tringTe)to (ue se mostrar en la barra de ttulo del cuadro de mensa.e2 buttonsTipo7 "ystem25indo4s2Forms2Message9o)9uttons=no de los valores de Message9o)9uttons (ue especifica (ue los botones (ue se muestran en el cuadro de mensa.e2 Aalor devueltoTipo7 "ystem25indo4s2Forms2#ialog*esultuno de los valores de #ialog*esult 2'E*/MET*? #E => -/*-=L?-?#/3? !'*E>#/#?private float radio,area,perimetro1

public Frm-irculo+,6OO-onstructor/nitialize-omponent+,18OOMetodosprivate void perimetro-irculo+,6perimetroECP+float,Mat%2'/Pradio18 private void area-irculo+,6areaE+float,Mat%2'/P+float,Mat%2'o4+radio,C,18private void label0:-lic@+ob.ect sender, Event!rgs e,68private void Frm-irculo:Load+ob.ect sender, Event!rgs e,68private void btn-alcular:-lic@+ob.ect sender, Event!rgs e,6radioEfloat2'arse+t)t*adio2Te)t,1perimetro-irculo+,1area-irculo+,1t)t'erimetro2Te)tEperimetro2To"tring+,1t)t!rea2Te)tEarea2To"tring+,1

8private void btn*esetear:-lic@+ob.ect sender, Event!rgs e,6t)t*adio2Te)tE;;1t)t'erimetro2Te)tE;;1t)t!rea2Te)tE;;18private void btn"alir:-lic@+ob.ect sender, Event!rgs e,6-lose+,18private void t)t*adio:Te)t-%anged+ob.ect sender, Event!rgs e,68private void t)t!rea:Te)t-%anged+ob.ect sender, Event!rgs e,68private void t)t'erimetro:Te)t-%anged+ob.ect sender, Event!rgs e,68 88Mat% +-lase,'roporciona constantes y mtodos estticos para operaciones trigonomtricas, logartmicas y otras funciones matemticas comunes2erar(ua de %erencia"ystem2?b.ect "ystem2Mat%!*E! D 'E*/MET*? #EL -=!#*!#?En si el programa es el mismo (ue el del crculo, cambia los mtodos por las formulas del rea y permetro del -uadrado?'E*!-/?>E" -?> F*!--/?>E"E> E"TE -!"? L?" MET?#?" F=E*?> LL!M!#?" #E =>! -L!"E #/FE*E>TE7-lase Fracion2csOO #atos miembro Q atributos2private long m>um1private long m#en1OO Funciones miembro Q mtodos2OO -onstructor por defecto2 public Fraction+,6m>um E RL1 m#en E 0L18public void *ead#ata+Te)t9o) t)t>um,Te)t9o) t)t#en,6m>um E long2'arse+t)t>um2Te)t,1m#en E long2'arse+t)t#en2Te)t,18public void 'rint#ata+Te)t9o) t)t>um,Te)t9o) t)t#en,6t)t>um2Te)t E m>um2To"tring+,1t)t#en2Te)t E m#en2To"tring+,18public Fraction !ddition+Fraction F0, Fraction FC,6Fraction Temp E ne4 Fraction+,1Temp2m>um E +F02m>um P FC2m#en, S +F02m#en P FC2m>um,1Temp2m#en E F02m#en P FC2m#en1Temp2"implify+,1return+Temp,18public Fraction "ubtraction+Fraction F0, Fraction FC,6Fraction Temp E ne4 Fraction+,1Temp2m>um E +F02m>um P FC2m#en, Q +F02m#en P FC2m>um,1Temp2m#en E F02m#en P FC2m#en1Temp2"implify+,1return +Temp,18public Fraction Multiply+Fraction F0, Fraction FC,6Fraction Temp E ne4 Fraction+,1Temp2m>um E F02m>um P FC2m>um1Temp2m#en E F02m#en P FC2m#en1Temp2"implify+,1return +Temp,18public Fraction #ivision+Fraction F0, Fraction FC,6Fraction Temp E ne4 Fraction+,1Temp2m>um E F02m>um P FC2m#en1Temp2m#en E F02m#en P FC2m>um1Temp2"implify+,1return +Temp,18private long M-#+long num0, long numC,6long temp14%ile+numC T R,6temp E num0 U numC1num0 E numC1numC E temp18return+num0,18public void "implify+,6long factor E M-#+m>um, m#en,1m>um E m>um O factor1 OO F2m>um OE factor1m#en E m#en O factor1 OO F2m#en OE factor1

888Metodos llamados en cada botn seg&n corresponda7Fraction F0 E ne4 Fraction+,1Fraction FC E ne4 Fraction+,1Fraction FF E ne4 Fraction+,1public frmFractions+,6/nitialize-omponent+,18private void frmFractions:Load+ob.ect sender, Event!rgs e,68private void btn!ddition:-lic@+ob.ect sender, Event!rgs e,6F02*ead#ata+t)tF0num, t)tF0den,1F02"implify+,1FC2*ead#ata+t)tFCnum, t)tFCden,1FC2"implify+,1F02'rint#ata+t)tF0num, t)tF0den,1FC2'rint#ata+t)tFCnum, t)tFCden,1FF E FF2!ddition+F0, FC,1FF2'rint#ata+t)tFFnum, t)tFFden,18private void btn"ubtraction:-lic@+ob.ect sender, Event!rgs e,6F02*ead#ata+t)tF0num, t)tF0den,1F02"implify+,1FC2*ead#ata+t)tFCnum, t)tFCden,1FC2"implify+,1F02'rint#ata+t)tF0num, t)tF0den,1FC2'rint#ata+t)tFCnum, t)tFCden,1FF E FF2"ubtraction+F0, FC,1FF2'rint#ata+t)tFFnum, t)tFFden,18private void btnMultiply:-lic@+ob.ect sender, Event!rgs e,6F02*ead#ata+t)tF0num, t)tF0den,1F02"implify+,1FC2*ead#ata+t)tFCnum, t)tFCden,1FC2"implify+,1F02'rint#ata+t)tF0num, t)tF0den,1FC2'rint#ata+t)tFCnum, t)tFCden,1FF E FF2Multiply+F0, FC,1FF2'rint#ata+t)tFFnum, t)tFFden,18private void btn#ivision:-lic@+ob.ect sender, Event!rgs e,6F02*ead#ata+t)tF0num, t)tF0den,1F02"implify+,1FC2*ead#ata+t)tFCnum, t)tFCden,1FC2"implify+,1F02'rint#ata+t)tF0num, t)tF0den,1FC2'rint#ata+t)tFCnum, t)tFCden,1FF E FF2#ivision+F0, FC,1FF2'rint#ata+t)tFFnum, t)tFFden,18private void btnE)it:-lic@+ob.ect sender, Event!rgs e,6-lose+,1888-lases +3ua de programacin de -B,=na clase es una construccin (ue permite crear tipos personalizados propios mediante laagrupacin de variables de otros tipos, mtodos y eventos2 =na clase es como un plano2#efine los datos y el comportamiento de un tipo2 "i la clase no se declara como esttica, el cdigo de cliente puede utilizarla mediante la creacin de objetos o instancias (ue se asignan a una variable2 La variable permanece en memoria%asta (ue todas las referencias a ella estn fuera del mbito2 En ese momento, -L* la marca como apta para la recoleccin de elementos no utilizados2 "i la clase se declara como esttica, solo e)iste una copia en memoria y el cdigo de cliente solo puede tener acceso a ella a travs de la propia clase y no de una variable de instancia2 'ara obtener ms informacin, vea -lases estticas y sus miembros +3ua de programacin de -B,2! diferencia de los structs, las clases admiten la herencia, una caracterstica fundamental de la programacin orientada a ob.etos2 'ara obtener ms informacin, vea >;te't;o'2.&e't < >D>;/tpunto.:n"/led < true;7pri8"te 8oid /ttecl"di8i+Clic)3o/9ect sender2 :8entArgs e4.num1 < 1o"t.C"rse3te't;o'1.&e't4;te't;o'1.&e't < >>;te't;o'2.&e't < >/>;/tpunto.:n"/led < true;7pri8"te 8oid /ttecl"resul+Clic)3o/9ect sender2 :8entArgs e4.num2 < 1o"t.C"rse3te't;o'1.&e't4;iE 3te't;o'2.&e't4.resul < num1 = num2;te't;o'1.&e't < resul.&oString34;7iE 3te't;o'2.&e't ->4.resul < num1 - num2;te't;o'1.&e't < resul.&oString34;7iE 3te't;o'2.&e't D>4.resul < num1 D num2;te't;o'1.&e't < resul.&oString34;7iE 3te't;o'2.&e't />4.resul < num1 / num2;te't;o'1.&e't < resul.&oString34;77pri8"te 8oid /tlimpi"r+Clic)3o/9ect sender2 :8entArgs e4.num1 < 0;num2 < 0;te't;o'2.&e't < >>;te't;o'1.&e't < >>;7pri8"te 8oid /tpunto+Clic)3o/9ect sender2 :8entArgs e4.te't;o'1.&e't < te't;o'1.&e't = >.>;/tpunto.:n"/led < E"lse;777&"ller donde se ("ce con los /otones se c"lcule un numero con l"s oper"ciones /Fsic"s %ue contiene l" 8"lid"ciGn de ingres"r un" sol" 8e6 el punto2 /orr"r lo %ue se ingresG en p"nt"ll"y 8"lid"ciGn de l"s oper"ciones donde sH se ingres" un" oper"ciGn estFn suspendid"s l"s demFs ("st" ingres"r el otro nImero y "pl"st"r el igu"l.!A(ER$T% )*#E&%+-?#/3?namespace 5inLaberinto6public partial class frmLaberinto'rincipiante 7 Form6private intY,Z matrizLaberinto E ne4 intY,Z 6 6R,C,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R8, 6R,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,R8, 6R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,0,R8, 6R,0,0,0,0,0,0,0,0,0,0,0,0,0,R,0,R8, 6R,0,R,R,R,R,R,R,R,R,R,R,R,R,R,0,R8, 6R,0,0,0,0,0,R,0,0,0,0,0,0,0,0,0,R8, 6R,0,R,R,R,R,R,R,R,R,R,R,R,R,R,0,R8, 6R,0,R,0,0,0,0,0,0,0,0,0,0,0,0,0,R8, 6R,0,R,0,R,R,R,R,R,R,R,R,R,R,R,R,R8, 6R,0,R,0,0,0,0,0,0,0,0,0,0,0,0,0,R8,6R,0,R,R,R,R,R,R,R,R,0,R,R,R,R,R,R8, 6R,0,R,0,0,0,0,0,0,R,0,0,0,0,0,0,R8, 6R,0,R,R,R,R,R,R,0,R,R,R,R,0,R,R,R8, 6R,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,R8, 6R,0,R,R,R,R,R,R,0,R,R,R,R,R,R,0,R8,6R,0,R,0,0,0,0,0,0,R,0,0,0,0,0,0,R8, 6R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,F,R881private int fila E R1private int columna E 01public frmLaberinto'rincipiante+,6/nitialize-omponent+,18private void frmLaberinto'rincipiante:Gey#o4n+ob.ect sender, GeyEvent!rgs e,6OOif +e2Gey-ode EE Geys2*ig%t,OO6OOpic-aminante2Left E pic-aminante2Left S CI1OO8OOif +e2Gey-ode EE Geys2Left,OO6OOpic-aminante2Left E pic-aminante2Left Q CI1OO8OOif +e2Gey-ode EE Geys2=p,OO6OOpic-aminante2Top E pic-aminante2Top Q CI1OO8OOif +e2Gey-ode EE Geys2#o4n,OO6OOpic-aminante2Top E pic-aminante2Top S CI1OO8if +matrizLaberintoYfila, columnaZ KE F,6if +e2Gey-ode EE Geys2*ig%t,6if +matrizLaberintoYfila, columna S 0Z KE R,6pic-aminante2Left E pic-aminante2Left S CI1columnaSS188if +e2Gey-ode EE Geys2Left,6if +matrizLaberintoYfila, columna Q 0Z KE R,6pic-aminante2Left E pic-aminante2Left Q CI1columnaQQ188if +e2Gey-ode EE Geys2=p,6if +matrizLaberintoYfila, columnaZ KE C,6if +matrizLaberintoYfila Q 0, columnaZ KE R,6pic-aminante2Top E pic-aminante2Top Q CI1filaQQ1888if +e2Gey-ode EE Geys2#o4n,6if +matrizLaberintoYfila S 0, columnaZ KE R,6pic-aminante2Top E pic-aminante2Top S CI1filaSS1888else6Message9o)2"%o4+;FEL/-/T!-/?>E"\n9uen Traba.o;, ;=d2 lo %a logrado;, Message9o)9uttons2?G, Message9o)/con2E)clamation,1-lose+,188private void frmLaberinto'rincipiante:Load+ob.ect sender, Event!rgs e,68private void picLaberinto:-lic@+ob.ect sender, Event!rgs e,6888 El raton se mueve a lo largo de la matriz seleccionada, R para no pasar por a% y 0 para permitirse mover2-laves EnumeracinEspecifica los cdigos y modificadores clave2Esta enumeracin tiene un Flags!ttribute atributo (ue permite una combinacin bit a bit de los valores de sus miembros2Reali,ar el mapaEl mapa debe ser a.ustado al tama$o (ue vayamos a usar en el proyecto2La matriz se da a partir del laberinto (ue dibu.emos2TA!!ER !A(ER$T% C%$ $CA!E"Es e)actamente el mismo proceso anterior, &nicamente lo (ue cambia es la matriz y la imagen donde se mover el ratnMatrices +3ua de programacin de -B,'uede almacenar distintas variables del mismo tipo en una estructura de datos de matriz2 'ara declarar una matriz especifi(ue el tipo de sus elementos2typeYZ array>ame1Los e.emplos siguientes crean matrices unidimensionales, multidimensionales y escalonadas7-Bclass Test!rrays-lass6static void Main+,6OO #eclare a singleQdimensional arrayintYZ array0 E ne4 intYIZ1OO #eclare and set array element values intYZ arrayC E ne4 intYZ 6 0, F, I, L, ] 81OO !lternative synta) intYZ arrayF E 6 0, C, F, H, I, J 81OO #eclare a t4o dimensional array intY,Z multi#imensional!rray0 E ne4 intYC, FZ1OO #eclare and set array element values intY,Z multi#imensional!rrayC E 6 6 0, C, F 8, 6 H, I, J 8 81OO #eclare a .agged array intYZYZ .agged!rray E ne4 intYJZYZ1OO "et t%e values of t%e first array in t%e .agged array structure.agged!rrayYRZ E ne4 intYHZ 6 0, C, F, H 8188/nformacin general sobre las matrices=na matriz tiene las propiedades siguientes7 =na matriz puede ser unidimensional, multidimensional o escalonada2 El n&mero de dimensiones y la longitud de cada dimensin se establecen cuando se crea la instancia de la matriz2 Estos valores no se pueden cambiar durante la duracin de la instancia2 Los valores predeterminado de los elementos numricos de matriz se establece encero y el de los elementos de referencia se establece en null2 =na matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null2 Las matrices se indizan basadas en cero7 una matriz con n elementos se indiza desde R %asta nQ02 Los elementos de una matriz pueden ser de cual(uier tipo, incluido el tipo matriz2 Los tipos de matriz son tipos de referencia derivados del tipo base abstracto !rray2 'uesto (ue este tipo implementa /Enumerable e /Enumerable, puede utilizar la iteracin foreac% en todas las matrices de -B2