#!/usr/bin/python# -*- coding: utf-8 -*-# www.pythondiario.com from Tkinter import * def Call(): # Definimos la funcion lab = Label(root, text='Usted presiono\nel boton') lab.pack() boton['bg'] = 'blue' # Al presionar queda azul boton['fg'] = 'white' # Si pasamos el Mouse queda blanco root = Tk() # Ventana de fondoroot.geometry('100x110+350+70') # Geometría de la ventanaboton = Button(root, text='Presionar', command=Call) boton.pack() root.mainloop()
jueves, 4 de abril de 2019
U2 - Boton Presionar
U2 - Poligonos en Clase
rom Tkinter import *
def mostrar(num):
v1 = Toplevel(v0)
v1.title('Ventana hija')
v1.protocol('WM_DELETE_WINDOW', 'onexit')
v1.config(bg='blue')
v1.geometry('800x500')
if num == 1:
hola = Canvas(v1, width=800, height=800, bg='white')
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(300, 300, 400, 200, 500, 200, 600, 300, 700, 200, 800, 200, 900, 300, 878, 395, 600, 700,
325, 401, fill="red", outline="brown", width=6)
b1 = Button(hola, text='Ocultar', command=lambda: ejecutar(Ocultar(v1)))
b1.grid(row=1, column=3)
elif num == 2:
hola = Canvas(v1, width=500, height=500, bg='white')
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(400, 50, 350, 150, 400, 250, 450, 150, fill="red", outline="red", width=6)
hola.create_polygon(400, 250, 300, 250, 250, 350, 350, 350, fill="red", outline="red", width=6)
hola.create_polygon(400, 250, 450, 350, 550, 350, 500, 250, fill="red", outline="red", width=6)
b2 = Button(hola, text='Ocultar', command=lambda: ejecutar(Ocultar(v1)))
b2.grid(row=1, column=3)
elif num == 3:
hola = Canvas(v1, width=300, height=210, bg="black")
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(130, 420, 130, 100, 200, 100, 200, 420,
400, 420, 400, 100, 470, 100, 470, 420,
130, 420, 400, 100, 200, 100, 470, 420,
400, 420, 130, 100, 470, 100, 200, 420,
fill="white")
b3 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b3.grid(row=1, column=3)
elif num == 4:
hola = Canvas(v1, width=500, height=500, bg="skyblue")
hola.pack(expand=YES, fill=BOTH)
# flor
hola.create_polygon(140, 100, 180, 130, 220, 100, 260, 130, 300, 100, 300, 180, 260, 220,
180, 220, 140, 180,
width=2, fill="red", outline="darkred")
# tallo
hola.create_rectangle(215, 220, 225, 410, width=2, fill="forestgreen", outline="darkgreen")
# hojas
hola.create_polygon(80, 250, 170, 260, 215, 320, 140, 310, width=2, fill="forestgreen", outline="darkgreen")
hola.create_polygon(225, 320, 275, 260, 365, 250, 305, 310, width=2, fill="forestgreen", outline="darkgreen")
# maceta
hola.create_polygon(120, 390, 320, 390, 280, 490, 160, 490, width=2, fill="sienna", outline="black")
b4 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b4.grid(row=1, column=3)
elif num == 5:
hola = Canvas(v1, width=550, height=600, bg="BLACK")
hola.pack(expand=YES, fill=BOTH)
# cuerpo pacman
hola.create_arc(80, 200, 180, 300, extent=290, style=PIESLICE, start=40, width=2, fill="YELLOW",
outline="gold")
# ojos
hola.create_arc(120, 215, 145, 240, extent=320, style=PIESLICE, start=220, width=2, fill="black",
outline="white")
# camino
hola.create_rectangle(5, 10, 300, 40, width=5, fill='black', outline="red")
hola.create_rectangle(5, 160, 400, 190, width=5, fill='black', outline="red")
hola.create_rectangle(440, 5, 480, 35, width=5, fill='black', outline="red")
hola.create_rectangle(30, 340, 60, 600, width=5, fill='black', outline="red")
hola.create_rectangle(200, 360, 260, 390, width=5, fill='black', outline="red")
hola.create_rectangle(515, 210, 545, 300, width=5, fill='black', outline="red")
hola.create_polygon(210, 500, 210, 530, 400, 530, 400, 310, 370, 310, 370, 500, width=5, fill="black",
outline="red")
# enemigo fantasma
hola.create_polygon(460, 530, 480, 510, 520, 510, 540, 530, 540, 590, 530, 570, 515, 590,
500, 570, 485, 590, 470, 570, 460, 590, 460, 530, width=3, fill='salmon', outline="pink")
# ojos
hola.create_oval(475, 530, 495, 550, width=2, fill="white", outline="salmon")
hola.create_oval(505, 530, 525, 550, width=2, fill="white", outline="salmon")
# pupila
hola.create_oval(477, 534, 487, 546, width=1, fill="midnightblue", outline="navy")
hola.create_oval(507, 534, 517, 546, width=1, fill="midnightblue", outline="navy")
b5 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b5.grid(row=1, column=3)
elif num == 6:
hola = Canvas(v1, width=700, height=550, bg="black")
hola.pack(expand=YES, fill=BOTH)
# cuerpo coordenadas
hola.create_polygon(100, 100, 420, 100, 500, 180, 500, 220, 460, 260, 460, 400, 500, 430,
500, 460, 460, 460, 420, 420, 420, 340, 380, 300, 340, 340, 340, 460,
260, 460, 260, 340, 260, 460, 180, 460, 180, 340, 180, 460, 140, 460,
140, 340, 140, 460, 80, 460, 40, 340, 40, 200, 20, 280, 13, 280, 35, 195,
width=4, fill="gray", outline="black")
# cuernos forma triangular
hola.create_polygon(350, 275, 445, 298, 350, 298, width=2, fill="white", outline="dimgray")
hola.create_polygon(460, 275, 550, 298, 460, 298, width=2, fill="white", outline="dimgray")
# orejas octagono
hola.create_polygon(260, 100, 300, 100, 340, 140, 340, 220, 300, 260, 260, 260,
220, 220, 220, 140, width=2, fill="gray", outline="dimgray")
hola.create_polygon(460, 140, 500, 100, 540, 100, 580, 140, 580, 220, 540, 260,
500, 260, 470, 250, 500, 220, 500, 180, width=2, fill="gray", outline="dimgray")
# ojos ovalo
hola.create_oval(390, 230, 410, 260, width=1, fill="black", outline="black")
b6 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b6.grid(row=1, column=3)
elif num == 7:
hola = Canvas(v1, width=800, height=800, bg='white')
hola = Canvas(v1, width=210, height=210, bg='pink')
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(382.6, 54.5,
339.07, 56.3,
311.48, 99.02,
284.55, 99.02,
284.78, 141.74,
334.62, 141.74,
336.4, 180.91,
313.26, 212.95,
339.96, 240.54,
338.18, 212.06,
375.56, 254.78,
355, 286,
384.46, 302.84,
454.78, 303.73,
456.56, 210.28,
347.97, 113.26,
340.85, 97.24, fill="white", outline="black", width=6)
b7 = Button(hola, text='Ocultar', command=lambda: ejecutar(Ocultar(v1)))
b7.grid(row=1, column=3)
elif num == 8:
hola = Canvas(v1, width=800, height=800, bg='white')
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(250, 50, 200, 50, 200, 100, 250, 100, 250, 150, 200, 150, 200, 200, 150, 200, 150, 250, 100,
250, 100, 400, 150, 400, 150, 300, 200, 300, 200, 450, 350, 450, 350, 400, 250, 400, 250, 350,
500, 350, 500, 400, 400, 400, 400, 450, 550, 450, 550, 300, 600, 300, 600, 400,
650, 400, 650, 250, 600, 250, 600, 200, 550, 200, 550, 150, 500, 150, 500, 100, 550, 100, 550,
50, 450, 50, 450, 150, 300, 150, 300, 50, fill="black", outline="lightblue", width=6)
hola.create_polygon(250, 200, 250, 250, 300, 250, 300, 200, fill="white", outline="white", width=6)
hola.create_polygon(500, 200, 450, 200, 450, 250, 500, 250, fill="white", outline="white", width=6)
b8 = Button(hola, text='Ocultar', command=lambda: ejecutar(Ocultar(v1)))
b8.grid(row=1, column=3)
elif num == 9:
hola = Canvas(v1, width=300, height=210, bg="white")
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(100, 150, 300, 450, 500, 150, 380, 150, 380, 120, 360, 120,
360, 150, 310, 150, 310, 90, 290, 90, 290, 150, 240, 150, 240, 120,
220, 120, 220, 150, fill="black")
hola.create_polygon(160, 180, 300, 400, 440, 180, 380, 180, 380, 210,
360, 210, 360, 180, 310, 180, 310, 240, 290, 240,
290, 180, 240, 180, 240, 210, 220, 210, 220, 180, fill="white")
b9 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b9.grid(row=1, column=3)
elif num == 10:
hola = Canvas(v1, width=400, height=400, bg="green")
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(40, 180, 200, 180, 200, 60, 40, 60, width=4, fill="gray", outline="black")
hola.create_polygon(60, 120, 100, 120, 100, 80, 60, 80, width=4, fill="gray", outline="black")
hola.create_polygon(140, 120, 180, 120, 180, 80, 140, 80, width=4, fill="gray", outline="black")
hola.create_polygon(80, 160, 160, 160, 160, 140, 80, 140, width=4, fill="gray", outline="black")
hola.create_polygon(100, 60, 60, 20, width=2, fill="gray", outline="black")
hola.create_polygon(140, 60, 180, 20, width=2, fill="gray", outline="black")
hola.create_polygon(100, 160, 100, 140, width=2, fill="gray", outline="black")
hola.create_polygon(120, 160, 120, 140, width=2, fill="gray", outline="black")
hola.create_polygon(140, 160, 140, 140, width=2, fill="gray", outline="black")
b10 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b10.grid(row=1, column=3)
elif num == 11:
hola = Canvas(v1, width=500, height=500, bg="gray")
hola.pack(expand=YES, fill=BOTH)
hola.create_polygon(202.9761194370994, 459.4555645208418, 302.8134805335928, 460.0196174083926,
312.9664325095075, 421.0999681673856, 334.4004422364383, 414.3313335167757,
367.6795626019361, 442.533977894317, 420.7005340317123, 401.3581171031067,
403.778947405188, 366.3868380749554, 419.0083753690599, 344.3887754604732,
458.4920774976167, 350.0293043359815, 479.9260872245475, 289.1115924804923,
444.9548081963972, 268.2416356411117, 444.4064859562329, 241.8565804562907,
480, 220, 461.2142727412988, 161.3322065712142, 418.3187804621004, 163.5605438324713,
404.948756894558, 142.9484241658429, 422.2183706693002, 108.4091966163574,
370.8458258323626, 68.9289263102584, 338.7634424485586, 97.1272000498291,
316.2701030936517, 89.1210962116416, 307.6853964093092, 47.1347225980438,
199.8879836016924, 47.7688250263239, 199.5709323875523, 115.3007336381564,
214.1552882379946, 107.3744532846549, 227.1543880177367, 104.2039411432543,
238.8852829409185, 103.8868899291143, 249.0309217934001, 106.1062484280947,
260, 100, 271.2245067832035, 97.8629168604532, 283.9065553488056, 98.1799680745932,
295.6374502719874, 101.6675314301339, 304.8319354820488, 105.4721459998146,
320.0503937607712, 113.7154775674561, 328.9278277566926, 121.9588091350976,
335.9029544677737, 133.6897040582798, 338.7564153950341, 142.8841892683415,
339.3905178233142, 148.9081623370026, 347.3167981768155, 148.2740599087225,
355.2430785303167, 151.127520835983, 362.3205776400985, 156.3788148945879,
367.7022882868521, 163.9132098000432, 370.0087357068894, 172.0626573508416,
371.3926041589117, 180.0583417403043, 371.3614620486748, 189.0452306761152,
370.475216735828, 197.1986875543063, 367.4619826721488, 202.338910368818,
376.9014215697061, 208.4847087767439, 389.8245024020653, 210.5803435063157,
401.3504934147099, 209.8817985964584, 409.7330323329969, 205.6905291373148,
413.9243017921403, 216.1687027851738, 417.4170263414266, 235.0294153513201,
418.8141161611411, 255.2872177371808, 416.53312864442, 275.0083869090581,
412.1475561751611, 295.8398561380383, 404.7541868469949, 313.531079988644,
394.9233746041279, 332.0394094660915, 378.3126217551115, 353.4726389486938,
364.0516579708352, 367.9368482289425, 334.8413789422513, 387.0358768245555,
316.8658226169688, 393.0277289329831, 300.3882293187933, 397.1471272575271,
280, 400, 260, 400, 241.5931805048488, 395.6491642304202,
243.0911435319556, 390.0318028787693, 249.4574863971598, 390.0318028787693,
263.3136443978983, 389.2828213652159, 279.4167469392972, 385.5379137974486,
291.0259603993754, 381.4185154729046, 300.76272007557, 376.9246263915839,
309.7504982382113, 373.5542095805934, 319.4872579144059, 366.8133759586123,
331.8454528880375, 360.0725423366313, 340.0842495371253, 352.2082364443201,
344.9526293752226, 342.8459675249019, 347.5740646726597, 329.3643002809397,
335.215869699028, 336.8541154164743, 320.2362394279593, 343.5949490384554,
301.5117015891234, 349.9612919036597, 271.5524410469861, 358.5745793095244,
257.3217922894709, 361.1960146069615, 241.9676712616255, 363.4429591476218,
220.6216981253526, 364.9409221747287,212.0084107194881, 365.3154129315054,
212.0084107194881, 356.327634768864,223.6176241795663, 356.7021255256407,
240.4697082345186, 354.8296717417571,260.3177183436846, 352.2082364443201,
281.2892007231807, 345.8418935791157,277.1698023986369, 341.348004497795,
276.0463301283067, 335.7306431461441,265.9350796953353, 339.1010599571346,
253.202393964927, 343.2204582816786,241.218689748072, 346.5908750926691,
226.6135502337801, 348.8378196333295,212.7573922330415, 348.4633288765528,
212.3829014762648, 343.2204582816786,220, 340,238.2227636938583, 336.1051339029208,
251.7044309378201, 333.109207848707,263.3136443978983, 332.3602263351536,
264.0626259114518, 321.4999943886285,252.4534124513735, 323.7469389292889,
238.2227636938583, 328.2408280106096,220.9961888821293, 331.9857355783768,
212.3829014762648, 334.2326801190372,212.0084107194881, 325.6193927131725,
220.9961888821293, 322.9979574157354,239.7207267209652, 317.3805960640846,
265.9350796953353, 311.3887439556569)
hola.create_polygon(270.0544780198792, 304.2734195768991,277.1698023986369, 297.5325859549181,
268.5565149927723, 297.5325859549181,257.3217922894709, 299.4050397388017,
239.1071354949687, 304.9944241491205,221.3410876172071, 310.9829796135347,
211.7593988741446, 314.5761128921831,211.3601618431836, 304.5951871181596,
261.4644092287812, 290.6218910345265,
255.6754722798476, 284.8329540855929,
239.9056095568906, 285.2321911165538,
212.1586359051055, 286.0306651784757,
211.7593988741446, 277.247450497335,
270.2476239099217, 276.848213466374,
267.6525832086757, 272.4566061258037,
266.6544906312733, 267.6657617542723,
267.6525832086757, 263.2741544137019,
269.8483868789608, 258.6829285576511,
261.4644092287812, 259.481402619573,
248.2895872070703, 260.2798766814949,
238.3086614330469, 261.2779692588973,
228.128117143543, 262.2760618362996,
220.7422320707657, 262.2760618362996,
211.5597803586641, 263.2741544137019,
211.5597803586641, 254.6905582480417,
244.0975983819804, 255.2894137944831,
200.9799990381993, 232.1336659987484,
fill="blue", outline="black", width=2)
hola.create_polygon(252.7838633634599, 250.7204848622283,
246.8157615627554, 249.7258012287775,
237.614937953336, 245.249724878249,
226.6734179853777, 239.0329521691817,
214.488543475606, 231.0754831015756,
199.8169598822074, 217.3985831416275,
195.340883531679, 209.1924431656586,
195.5895544400417, 200.4889613729644,
196.5842380734925, 190.293454130094,
200, 180,
200.8116435156581, 174.6271869032444,
206.2824034996373, 184.3253523293894,
214.9858852923313, 198.4995941060629,
221.2026580013986, 209.689784982384,
234.6308870529837, 230.5781412848502,
243.0856979373151, 239.7789648942698,
249.3024706463823, 245.9957376033371,
fill="blue", outline="black", width=2)
hola.create_polygon(263.865734571309, 252.304090318045,
256.1179110406345, 240.3595290415882,
242.5592198619541, 222.2812741366807,
223.1896610352678, 194.1954138379851,
207.0483620130293, 167.7236834415134,
198.3320605410205, 148.3541246148268,
196.0722786779071, 139.6378231428178,
197.0407566192414, 133.1813035339222,
203.4972762281368, 127.693261866361,
213.9759600976109, 122.1012882139243,
226.2524631835424, 119.6459875967379,
242.7575395546281, 119.5095820068942,
245.4177123269611, 153.3900411275854,
250.4626816485015, 190.9120004565429,
254.2464086396568, 211.7224989078975,
258.3454462134084, 226.2267857073265,
262.5241371143508, 239.6905375342968,
268.3598648365041, 251.2485771138015,
fill="blue", outline="black", width=2)
hola.create_polygon(275.0713774000567, 247.5676293576013,
266.9932794997881, 222.4976703567673,
262.53639789964, 195.199270555859,
261.1436223995937, 175.9789686552196,
260.8650672995844, 149.7947892543485,
261.4221774996029, 114.9754017531901,
282.0352549002882, 114.1397364531622,
305.7124384010753, 119.1537282533291,
317.9688628014827, 127.5103812536071,
325.2112954017235, 137.5383648539407,
329.1110668018532, 146.4521280542372,
319.0830832015198, 151.1875647543948,
309.8907649012142, 158.4299973546358,
300.1413364008901, 169.2936462549972,
294.2916793006956, 179.0430747553216,
290.391907900566, 189.3496134556644,
285.9350263004178, 206.0629194562205,
283.7065855003437, 221.3834499567302,
283.7065855003437, 243.110747757453,
fill="blue", outline="black", width=2)
hola.create_polygon(291.5884636600201, 239.2427776530637,
291.8069435482862, 225.9155044688321,
294.4287022074793, 209.3110329606092,
299.0167798610671, 194.0174407819829,
299.0167798610671, 194.0174407819829,
317.8060502519504, 168.4552938548502,
332.6626826540443, 160.1530581007388,
345.5529960617433, 157.5312994415457,
354.6111686008223, 165.4963226277015,
359.5427205978758, 175.1950415552404,
361.6797264632657, 183.5786799502315,
360.0358757975812, 197.7157956751186,
354.118013401117, 196.400715142571,
349.8440016703373, 195.5787898097287,
336.6931963448612, 195.0856346100233,
327.158862483891, 197.0582554088448,
320, 200,
309.8984304942038, 208.2364399354997,
303.9805680977395, 214.6474575316694,
299.2134011672544, 222.2091705938183,
294.1854388309027, 233.078963816809,
fill="blue", outline="black", width=2)
hola.create_polygon(296.9390377919526, 238.4222151255614,
300.210417992851, 231.7803219904039,
310, 220,
320.5199539711998, 211.0963109028553,
330.2983336575473, 205.8682663180754,
335, 205,
345, 205,
353.1019113154815, 208.7288095766401,
356.3179308098636, 211.0872238725204,
352.2443061169796, 211.0872238725204,
346.5626716769045, 211.0872238725204,
342.703448283646, 212.1592303706478,
339.1658268398256, 214.946447265779,
335.735406045818, 219.3416739081014,
335.1994027967543, 224.1657031496747,
338.5226229409492, 225.7737128968658,
341.6314417855186, 226.6313180953677,
340.7738365870167, 232.3129525354429,
345.3834645289644, 234.2425642320723,
342.5817031876476, 234.234323635067,
344.5348128081197, 236.9392924680085,
344.1988441609097, 240.886924072727,
347.2225619858004, 243.9106418976178,
352.0101152085439, 244.2466105448278,
356.1257311368673, 246.6823832371009,
357.3016214021026, 251.6379207834496,
357.2670624208558, 255.3026595268844,
349.8136249880008, 274.3476995407687,
349.0806501564367, 279.9478187410201,
350.545741801065, 281.5145646089745,
352.6207587856511, 281.3463199886027,
353.3498188072624, 280.2246891861237,
356.3221404338317, 280.1125261058758,
362.8932246239414, 287.162040829641,
363.3196560929043, 290.7156364043316,
361.908716324427, 292.9899251919686,
357.1594061045018, 296.0873014223546,
351.997112387192, 297.6704048289963,
351.7217900556021, 290.1678712931725,
350.6893313121401, 287.001664479889,
348.4179220765238, 285.2808999074524,
340.9842191235975, 284.8679164100676,
336.5102312352623, 283.9042882495031,
331.0726151863625, 280.8069120191171,
332.9310409245941, 278.7419945321931,
342.4296613644443, 278.8108251150906,
344.2192565197784, 277.5718746229362,
344.3569176855733, 274.887481889935,
341.6851396438104, 270.6351879979023,
338.8655066966085, 268.4922669580289,
332.8878848485405, 267.8155550507004,
328.3764721330174, 272.1013971304474,
329.6188832460051, 274.1537251585691,
331.8596093975631, 276.562505771494,
326.5939029414017, 276.7305602328609,
323.0956851898579, 275.0739270951335,
318.9556277994099, 270.9780232943002,
316.2614187361876, 266.8515605387831,
314.0751216507222, 262.2204071144092,
312.226663241625, 255.1345619987713,
312.27627775426, 245.8399686803374,
312.3496735873269, 241.876593694725,
319.7626527270835, 231.8213645645602,
320.5700068908194, 228.5919479096167,
318.8085068972139, 225.7295104200078,
315.6524860753373, 223.7478229272016,
311.0285485921228, 224.5551770909375,
306.7715902742428, 227.3442187474795,
298.037486139282, 237.0324687123098,
fill="blue", outline="black", width=2)
hola.create_polygon(300.0617375788183, 244.2929670499564,
306.3278631364796, 250.0369154778124,
306.3858828175691, 242.2622782118254,
307.7203354826266, 237.8527824490268,
311.3755753912624, 231.876755296813,
309.3448865531313, 232.4569521077075,
305.2835088768694, 236.9244675515956,
301.802328011502, 241.3919829954836,
300.5258950275339, 243.4226718336146,
fill="blue", outline="black", width=2)
hola.create_polygon(350.2661249469691, 346.7894284219767,
355.0583499545213, 337.033827513746,
357.6256133514242, 325.7378685673735,
357.4544624582973, 317.6937765904113,
357.2833115651705, 311.1900426515908,
355.0583499545213, 305.028610499024,
366.1831580077673, 300.7498381708526,
378.3348714197745, 294.5884060182858,
385.5232089311027, 288.7692756519727,
389.973132152401, 283.2924470719134,
391.1711884042891, 276.617562239966,
391.6846410836696, 272.6810916980484,
387.9193214348787, 265.6639050798473,
396.4768660912218, 270.6272809805261,
400, 280,
401.097940205647, 291.8499917282562,
396.8191678774755, 306.9112703234194,
392.1980937630502, 318.036078376665,
385.3520580379758, 327.2782266055152,
377.8214187403939, 334.1242623305894,
368.5792705115434, 339.9433926969025,
355.0583499545213, 345.9336739563424,
fill="blue", outline="black", width=2)
hola.create_polygon(319.4283345656475, 332.1120026243448,
319.4283345656475, 324.8933647631799,
317.2072152237506, 318.4151000159805,
314.2457227678879, 313.7877680536952,
307.3972714637055, 309.9008092053757,
317.5774017807333, 309.5306226483928,
329.9786514396582, 311.3815554333069,
338.8631288072461, 314.1579546106781,
346.6370465038856, 318.7852865729633,
322.0196404645274, 331.0014429533963,
fill="blue", outline="black", width=2)
hola.create_polygon(344.4642814864766, 296.5520153997359,
344.5965257974588, 301.8417878390208,
347.7703892610298, 309.1152249430376,
340.8936850899591, 305.4123842355381,
332.1655605651387, 303.0319866378599,
311.4032037409447, 303.2964752598241,
298.9401678526973, 303.2616271794951,
290.628911835822, 305.4487998155149,
282.9009018552185, 309.8231450875544,
278.2349335650429, 315.2181709230698,
274.2980228202072, 323.0919924127409,
274.2980228202072, 317.4053435590895,
276.922629983431, 310.6980141419623,
280.1304831829268, 305.4487998155149,
287.8584931635302, 297.7207898349117,
295.8781261622696, 300.6370200162714,
305.5016857607568, 301.2202660525433,
315.2710568683121, 301.2202660525433,
325.7694855212073, 301.0744545434753,
334.8097990834226, 299.0330934165236,
341.954563027754, 297.2833553077078,
fill="blue", outline="black", width=2)
hola.create_polygon(279.7097805171387, 287.6379579767697,
290.2790474814249, 293.6599821773514,
307.3619324585854, 295.9950527857401,
322.3555437335032, 294.520271348863,
338.8239364452982, 291.3249115689625,
332.4332168854971, 290.0959270382316,
321.4952545619915, 285.6715827276002,
316.0877226267752, 281.7388322292612,
312.0320736753631, 275.3481126694602,
308.7138154423894, 281.3701368700419,
301.831502070296, 287.6379579767697,
292.85991499596, 289.7272316790123,
284.5028201869894, 288.8669425075007,
fill="blue", outline="black", width=2)
b11 = Button(hola, text='ocultar', command=lambda: ejecutar(Ocultar(v1)))
b11.grid(row=12, column=6)
def Ocultar(ventana):
ventana.destroy()
def ejecutar(f):
v0.after(200, f)
v0 = Tk() # Este es mi objeto ventana
v0.title('Ventana Madre')
v0.config(bg='black')
v0.geometry('500x500')
b1 = Button(v0, text='Figura Daniel Luna', command=lambda: ejecutar(mostrar(1)))
b1.grid(row=1, column=10)
b2 = Button(v0, text='Figura Luis Rincon', command=lambda: ejecutar(mostrar(2)))
b2.grid(row=4, column=10)
b3 = Button(v0, text='Figura Nadia Rodriguez', command=lambda: ejecutar(mostrar(3)))
b3.grid(row=6, column=10)
b4 = Button(v0, text='Figura Wendy Lopez', command=lambda: ejecutar(mostrar(4)))
b4.grid(row=8, column=10)
b5 = Button(v0, text='Figura Wendy Lopez2', command=lambda: ejecutar(mostrar(5)))
b5.grid(row=10, column=10)
b6 = Button(v0, text='Figura Wendy Lopez3', command=lambda: ejecutar(mostrar(6)))
b6.grid(row=12, column=10)
b7 = Button(v0, text='Figura Gustavo Vazquez', command=lambda: ejecutar(mostrar(7)))
b7.grid(row=14, column=10)
b8 = Button(v0, text='Figura Hector Campos', command=lambda: ejecutar(mostrar(8)))
b8.grid(row=16, column=10)
b9 = Button(v0, text='Figura Jesuss Escobar', command=lambda: ejecutar(mostrar(9)))
b9.grid(row=18, column=10)
b10 = Button(v0, text='Figura Armando Hernandez', command=lambda: ejecutar(mostrar(10)))
b10.grid(row=20, column=10)
b11 = Button(v0, text='Figura Jared Garcia', command=lambda: ejecutar(mostrar(11)))
b11.grid(row=22, column=10)
v0 = mainloop()
martes, 5 de marzo de 2019
Aportes en clase con libreria emu8086
PROGRAMA
"MAYOR O MENOR DE EDAD"
.model small
.stack
.data
include "emu8086.inc"
num1 db 0; variable para la edad
.code
inicio proc far
;poner el primer letrero
print " Ingrese su edad: "
;lectura del valor
call scan_num ;llamada al procedimiento de la lib para pedirla
mov num1,cl
;lectura segundo valor
xor ax,ax ;xor para limpiar el registro
mov al,num1
cmp al,18d ;Si lo que se encuentra en al>18
JGE mayor ;salta a mayor
JMP menor ;sino ve a menor
mayor:
printn " "
print "Eres mayor de edad"
jmp final
menor:
printn " "
print "Eres menor de edad"
jmp final
final:
print " "
printn " "
print "Presiona enter para salir..."
mov ah,0 ;servicios de lectura de una pulsación de teclado
int 16h ;Invoca a servicios de teclado
mov ah,4ch
int 21h
ret
define_print_string
define_print_num
define_print_num_uns
define_scan_num
endp inicio
end
SALIDA DEL PROGRAMA
------------------------------------------------------------------------------------------------------------
PROGRAMA DE SUMA DE DOS NUMEROS
name "suma de dos numeros"
include "emu8086.inc"
org 100h
.data
suma db 2 dup (?) ;,manera de declarar un arreglo de 2
lugrares
.code
sumas proc
print " Introduce el primer numero:
" ;macro de la lib
call scan_num ;llamada a un
prodecimiento para pedir un numero
mov suma[0],cl
printn " "
print " Introduce el segundo numero:
"
call scan_num
mov suma[1],cl
xor ax,ax ;xor nemonico
que limpia registros
add al,suma[0] ;valor de suma posicion 0
add al,suma[1] ;valor de suma posicion 1
printn " " ;macro de la libreria
pone un espacio y retorno
print " La suma es: " ; macro que
imprime un letrero
call print_num ;llamada a un
procedimiento para imprimir un num del
sumas endp
exit:
print " "
printn " "
print "Presiona enter para salir..."
mov ah,0 ;servicio de pulsacion de
teclado
int 16h ;invoca a servicios de
taclado
ret
define_print_string ;no se uso
define_print_num ;es del print_num
define_print_num_uns ;conversion decimal a scan_num
define_scan_num ;del scan_num prodedimiento
end
SALIDA DEL PROGRAMA
------------------------------------------------------------------------------------------------------------
PROGRAMA "APROBADO O REPROBADO"
model small
.stack 64
.data
include "emu8086.inc"
nota db 0
.CODE
OPERACIONES PROC FAR ;DECLARACION DE PROCEDIMIENTO
;MUESTRO EL MENSAJE
print " " ;usa macro print
para un espacio
print "Ingrese la calificacion: "
call scan_num ;Leo el
numero proc scan_num de la libreria
mov nota,cl ;lo guardo en
nota
xor ax,ax ;borro el
contenido de ax
mov al,nota ;muevo nota a
al
CMP AL,70d ;comparo
al con 70
JGE MAYOR ;si es
mayor o igual pasa a mayor
JMP MENOR ;si no a
menor
MAYOR:
printn " "
print "Aprobado"
JMP SALIR
MENOR:
printn " "
print "Reprobado"
JMP SALIR
SALIR:
print " "
printn " "
gotoxy 10,10 ;coloco
el cursor en las coordenadas 10x,10y
print "Presiona enter
para salir..." ;imprimo despues este mensaje
mov ah,0 ;servicio
de lectura de pulsacion de tecla
int 16h
;invoca servicios de teclado
mov ah,4ch
int 21h
ret
OPERACIONES ENDP
define_print_string
define_print_num
define_print_num_uns
define_scan_num
END
SALIDA DEL PROGRAMA
Programas con Libreria emu8086
HOLA MUNDO
include
emu8086.inc
org 100h
PRINT 'HOLA MUNDO'
GOTOXY 10,5
PUTC 65 ; 65 es un codigo ascii para 'A'
PUTC 'B'
RET ;REGRESO AL SISTEMA OP
END ;DIRECTIVA PARA DETENER EL COMPI
Salida del programa
org 100h
PRINT 'HOLA MUNDO'
GOTOXY 10,5
PUTC 65 ; 65 es un codigo ascii para 'A'
PUTC 'B'
RET ;REGRESO AL SISTEMA OP
END ;DIRECTIVA PARA DETENER EL COMPI
Salida del programa
-----------------------------------------------------------------------------------------------------------------
Pide tu nombre y muestra saludo
;get string
y print_string
include
'emu8086.inc'
org
100h
lea SI,
msg1 ;configurar puntero (SI) a msg
;pedir el numero
call
print_string ;imprime el mensaje que apunta SI
lea
DI, buffer ;configura el puntero (DI) para el buffer de entrada
mov
DX, bufSize ;esteble el tamano del buffer
call
get_string ;obtener el nombre y ponerlo en el buffer
lea SI
, newIn ;punto a CR/LF hola mundo
call print_string
;mensaje impreso que apunta SI
ret
;retorno del sistema
;data
msg1
db "Ingresa tu nombre " , 0
newIn
db 13,10
db "Hola "
buffer db 20
dup (0) ; buffer de entrada para get_string
bufSize =
$-buffer ;calcul el tamano del buffer
define_get_string
define_print_string
end
;directivo para detener el compilador
salida del programa
--------------------------------------------------------------------------------------------------------------------
Pide un numero y muestra saludo
include
'emu8086.inc'
org 100h
lea SI, msg1
;pide el numero
call
print_string
call
scan_num ;obtener el numero en cx
mov ax,
cx ;copia el numero a ax
call
pthis ;imprime la sig cadena
DB 13,10,
'Has introducido el numero: ' , 0
call
print_num ;numero de impresionen ax
ret
msg1 DB
'Ingresa un numero: ', 0
;macros para
definir procs
define_scan_num
define_print_string
define_print_num
define_print_num_uns
define_pthis
end
Salida del
programa
Introduccion al Lenguaje ensamblador
1.1
IMPORTANCIA DE LA PROGRAMACIÓN EN LENGUAJE
ENSAMBLADOR
El lenguaje
ensamblador como cualquier lenguaje de programación es un conjunto de palabras
que le indican al ordenador lo que tiene que hacer. Sin embargo la diferencia
fundamental es que cada instrucción escrita en lenguaje ensamblador tiene una
correspondencia exacta con una operación en el procesador. Por lo que son
operaciones muy sencillas tales como: “Cargar 32 en el registro BX” o
“Transferir el contenido del registro CL al CH”. Así pues, las palabras del
lenguaje ensamblador son nemotécnicas que representan el código máquina,
lenguaje que entiende el procesador.
En el
8086/88 se definen los siguientes tamaños de datos:
4 bits -
nibble
8 bits -
byte
16 bits -
word
32 bits –
dword
1.2 EL
PROCESADOR Y SUS REGISTROS
La Unidad Central
de Proceso (CPU, por sus siglas en
inglés) tiene 14 registros internos cada uno
de 16 bits. Los primeros cuatro, AX, BX, CX y DX,
son de uso general y se pueden usar también como registros
de 8 bits. Es decir, AX se puede
dividir en AH y AL (AH es
el byte alto, high, y AL es el byte
bajo, low) Lo mismo es aplicable a los otros
tres (BX en BH y BL, CX en CH y CL y DX en DH y DL)
Estos son
los únicos registros que pueden usarse de modo dual (en 8 o 16 bits)
Los
registros de la CPU son conocidos por sus nombres propios, que son:
AX
(acumulador)
BX
(registro base)
CX
(registro contador)
DX
(registro de datos)
DS
(registro del segmento de datos)
ES
(registro del segmento extra)
SS
(registro del segmento de pila)
CS
(registro del segmento de código)
BP
(registro de apuntadores base)
SI
(registro índice fuente)
DI
(registro índice destino)
SP
(registro del apuntador de pila)
IP
(registro del apuntador de siguiente instrucción)
F
(registro de banderas)
El
registro AX se usa para almacenar resultados, lectura o
escritura desde o hacia los puertos.
El BX sirve
como apuntador base o índice.
El CX se
utiliza en operaciones de iteración, como un contador que automáticamente se
incrementa o decrementa de acuerdo con el tipo de instrucción usada.
El DX se
usa como puente para el acceso de datos.
El DS es
un registro de segmento cuya función es actuar como policía donde se encuentran
los datos. Cualquier dato, ya sea una variable inicializada o no, debe estar
dentro de este segmento. La única excepción es cuando tenemos programas del
tipo *.com, ya que en éstos sólo puede existir un segmento. El registro ES
tiene el propósito general de permitir operaciones sobre cadenas, pero también
puede ser una extensión del DS
Ejemplo de
código usando AX, DS y DX:
.MODEL SMALL
.STACK
.DATA
CADENA1 DB
"HOLAMUNDO"."$"
.CODE
PROGRAMA:
MOV AX,@DATA
MOV DS, AX
MOV DX,
OFFSET CADENA1
MOV
AH, 9
INT
21H
END PROGRAMA
1.3
LA MEMORIA PRINCIPAL (RAM)
Este tipo de
memoria puede ser borrada y grabada las veces que deseemos. La única desventaja
es que la información grabada en ella solo puede ser utilizada mientras tenga
energía. En cuanto se corte la alimentación, los datos que se grabaron se
borrarán instantáneamente. Se usan solo como almacenamiento temporal.
1.4 EL
CONCEPTO DE INTERRUPCIONES
Una
interrupción es una situación especial que suspende la ejecución de un programa
de modo que el sistema pueda realizar una acción para tratarla. Tal situación se
da, por ejemplo, cuando un periférico requiere la atención del procesador para
realizar una operación de E/S.
Las
interrupciones constituyen quizá el mecanismo más importante para la conexión
del microcontrolador con el mundo exterior, sincronizando la ejecución de
programas con acontecimientos externos.
Ejemplos de
interrupciones
int
01h-->un solo paso
int
02h-->Interrupción no enmascarable
int
03h--> Punto de interrupción
int
04h-->Desbordamiento
int
05h-->Impresión de pantalla
int
08h-->Cronometro
int 15h-->Servicios
del sistema
int
16h-->Funciones de entrada del teclado
int
18h-->Entrada con el Basic de Rom
int
19h-->Cargador de arranque
int
20h-->Invoca al servicio de terminación de programa del DOS
int
21h-->Invoca a todos los servicios de llamada a función DOS
int
1Ah-->Leer y establecer la hora
int
1Bh-->Obtener el control con una interrupción de teclado.
int
2oh-->Terminar un programa
int
33h-->Funciones del Ratón
1.5
LLAMADAS AL SERVICIO DE SISTEMAS
Una llamada
al sistema es un método o función que puede invocar un proceso para solicitar
un cierto servicio al sistema operativo. Dado que el acceso a ciertos recursos
del sistema requiere la ejecución de código en modo privilegiado, el sistema
operativo ofrece un conjunto de métodos o funciones que el programa puede
emplear para acceder a dichos recursos. En otras palabras, el sistema operativo
actúa como intermediario, ofreciendo una interfaz de programación (API) que el
programa puede usar en cualquier momento para solicitar recursos gestionados
por el sistema operativo.
1.6 MODOS
DE DIRECCIONAMIENTO
Los modos de
direccionamiento indican la manera de obtener los operandos y son:
Direccionamiento
de registro
Direccionamiento
inmediato
Direccionamiento
directo
Direccionamiento
indirecto mediante registro
Direccionamiento
indirecto por registro base
Direccionamiento
indexado
Direccionamiento
indexado respecto a una base
El tipo de
direccionamiento se determina en función de los operandos de la instrucción.
La
instrucción MOV realiza transferencia de datos desde un
operando origen a un operando Su formato es el siguiente:
MOV
destino, origen
1.7
PROCESO DE ENSAMBLADO Y LIGADO
1. El
programa utiliza un editor de texto para crear un archivo de texto ASCII, conocido
como archivo de código fuente.
2. El
ensamblador lee el archivo de código fuete y produce un archivo de código
objeto, una traducción del programa a lenguaje máquina. De manera opcional,
produce un archivo de listado. Si ocurre un error, el programador debe regresar
al paso 1 y corregir el programa.
3. El
enlazador lee el archivo de código objeto y verifica si el programa contiene
alguna llamada a los procedimientos en una biblioteca de enlace. El enlazador
copia cualquier procedimiento requerido de la biblioteca de enlace, lo combina
con el archivo de código objeto y produce el archivo ejecutable. De manera
opcional, el enlazador puede producir un archivo de mapa.
4. La
herramienta cargador (loader) del sistema operativo lee el archivo ejecutable y
lo carga en memoria, y bifurca la CPU hacia la dirección inicial del programa,
para que éste empiece a ejecutarse.
1.8
DESPLEGADO DE MENSAJES DEL MONITOR
Todos los
gráficos y el texto que se muestran en el monitor se escriben en la RAM de
visualización de video, para después enviarlos al monitor mediante el
controlador de video. El controlador de video es en sí un microprocesador de
propósito especial, que libera a la CPU principal del trabajo de controlar el
hardware de video.
lunes, 4 de marzo de 2019
Libreria .emu8086
USO DE LA LIBERIA emu8086
emu8086.inc define las siguientes macros :
PRINT string - macro con 1 parámetro, imprime una
cadena.PRINTN string - macro con 1 parámetro, imprime una cadena. Lo mismo que
PRINT pero agrega automáticamente "retorno de carro" al final de la
cadena.PUTC char - macro con 1 parámetro, imprime un carácter ASCII en la
posición actual del cursor.GOTOXY col, fila - macro con 2 parámetros, establece
la posición del cursor.CURSOROFF - apaga el cursor de texto.CURSORON - enciende
el cursor de texto.
emu8086.inc también define los siguientes procedimientos
:
PRINT_NUM : procedimiento que imprime un número firmado en
el registro AX . Para usarlo declare: DEFINE_PRINT_NUM y DEFINE_PRINT_NUM_UNS
antes de la directiva END .
PRINT_NUM_UNS : procedimiento que imprime un número sin
firma en el registro AX . Para usarlo declare: DEFINE_PRINT_NUM_UNS antes de la
directiva END.
GET_STRING : procedimiento para obtener una cadena terminada
en nulo de un usuario, la cadena recibida se escribe en el búfer en DS: DI , el
tamaño del búfer debe estar en DX . El procedimiento detiene la entrada cuando
se presiona 'Enter'. Para usarlo declare: DEFINE_GET_STRING antes de la
directiva END .
PRINT_STRING : procedimiento para imprimir una cadena
terminada en nulo en la posición actual del cursor, recibe la dirección de la
cadena en el registro DS: SI . Para usarlo declare: DEFINE_PRINT_STRING antes
de la directiva END .
SCAN_NUM : procedimiento que obtiene el número FIRMADO de
varios dígitos del teclado y almacena el resultado en el registro CX . Para
usarlo declare: DEFINE_SCAN_NUM antes de la directiva END .
U1 - Examen
Examen
Unidad 1 Graficacion
Alumno: Armando Hernandez Leal
Maestra: Maria Yolanda Rodriguez Loya
Alumno: Armando Hernandez Leal
Maestra: Maria Yolanda Rodriguez Loya
¿ Que se entiende por la graficacion por computadora ?
La graficacion hecha por computadora es el arte o la ciencia de producir imágenes gráficas con la ayuda de la computadora .
Es el campo de la informática visual , donde se utilizan computadoras tanto para generar imágenes visuales sinteticamente como integrar o cambiar la información visual y espacial aprobada del mundo real .
Una de las características de la graficacion por computadora es que pude ser almacenada, manipulada , transportada y transportada por medio de computadoras o medios electrónicos digitales
¿ Que se entiende por procesamiento de imágenes ?
El procesamiento , el análisis y la interpretación de imágenes es un campo de especialización muy importante de la visión artificial , que hace posible que un ordenador procese imágenes o fotografías bidimensionales ( aisladas o bien conectadas en secuencias dinámicas o temporales).
¿ Que se entiende por reconocimiento de patrones ?
Son los medios por los cuales se puede interpretar el mundo. Es la ciencia que se ocupa de los procesos sobre ingeniería , computación y matemáticas relacionados con objetos físicos y/o
abstractos , con el propósito de extraer información que permita establecer propiedades de o ente conjuntos de dichos objetos.
Se enfoca en :
*Reconocimiento estadístico de patrones
*Reconocimiento sintactico de patrones
*Redes neuronales
*Reconocimiento lógico combinatorio de patrones
¿Que se entiende por geometría comunicacional ?
La geometría Computacional es una disciplina que se ocupa de diseño y análisis de algoritmos que resuelven problemas geométricos . En ella ocurren elementos puramente matemáticos con cuestiones y herramientas propias de la información.
¿Que se entiende por datos pictoricos?
Son los datos numéricos representados y expresados mediante imágenes haciendo uso programas de graficacion .
¿Que se entiende por Rasterizacion?
La rasterizacion es el proceso por el cual una imagen descrita en un formato grafico vectorial se convierte en un conjunto de pixeles o puntos para ser desplegados en un medio de salida digital , como una pantalla de computadora, impresora ,etc . Este procesamiento se suele usar en momentos muy concretos .
¿Que se entiende por Rendering ?
Renderizado (render en ingles) es un termino usado en jerga informática para referirse al proceso de generar una imagen o vídeo mediante el calculo de iluminación Gi partiendo de un modelo en 3D .
¿Que se entiende por modelo gráfico ?
Estudia los diversos tipo de modelos matemáticos usados para representar la forma de los objetos que integran una escena. El modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena. Los procesos de modelado pueden incluir la edición de la superficie del objeto o
las propiedades del material .
¿Que se entiende por transformacion grafica?
Transformacion de la grafica de funciones.La graficacion de las funcione es como un retrato de las funciones . Nos ayuda a tener una idea de como trasforma la funcion los valores que le vamos dando.
A partir de la grafica de la funcion podemos encontrar el dominio , el contradominio ,describir su comportamiento : donde crece ,donde decrece , donde se hace cero , donde tiene un minimo o un maximo , etc.
La graficacion hecha por computadora es el arte o la ciencia de producir imágenes gráficas con la ayuda de la computadora .
Es el campo de la informática visual , donde se utilizan computadoras tanto para generar imágenes visuales sinteticamente como integrar o cambiar la información visual y espacial aprobada del mundo real .
Una de las características de la graficacion por computadora es que pude ser almacenada, manipulada , transportada y transportada por medio de computadoras o medios electrónicos digitales
¿ Que se entiende por procesamiento de imágenes ?
El procesamiento , el análisis y la interpretación de imágenes es un campo de especialización muy importante de la visión artificial , que hace posible que un ordenador procese imágenes o fotografías bidimensionales ( aisladas o bien conectadas en secuencias dinámicas o temporales).
¿ Que se entiende por reconocimiento de patrones ?
Son los medios por los cuales se puede interpretar el mundo. Es la ciencia que se ocupa de los procesos sobre ingeniería , computación y matemáticas relacionados con objetos físicos y/o
abstractos , con el propósito de extraer información que permita establecer propiedades de o ente conjuntos de dichos objetos.
Se enfoca en :
*Reconocimiento estadístico de patrones
*Reconocimiento sintactico de patrones
*Redes neuronales
*Reconocimiento lógico combinatorio de patrones
¿Que se entiende por geometría comunicacional ?
La geometría Computacional es una disciplina que se ocupa de diseño y análisis de algoritmos que resuelven problemas geométricos . En ella ocurren elementos puramente matemáticos con cuestiones y herramientas propias de la información.
¿Que se entiende por datos pictoricos?
Son los datos numéricos representados y expresados mediante imágenes haciendo uso programas de graficacion .
¿Que se entiende por Rasterizacion?
La rasterizacion es el proceso por el cual una imagen descrita en un formato grafico vectorial se convierte en un conjunto de pixeles o puntos para ser desplegados en un medio de salida digital , como una pantalla de computadora, impresora ,etc . Este procesamiento se suele usar en momentos muy concretos .
¿Que se entiende por Rendering ?
Renderizado (render en ingles) es un termino usado en jerga informática para referirse al proceso de generar una imagen o vídeo mediante el calculo de iluminación Gi partiendo de un modelo en 3D .
¿Que se entiende por modelo gráfico ?
Estudia los diversos tipo de modelos matemáticos usados para representar la forma de los objetos que integran una escena. El modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena. Los procesos de modelado pueden incluir la edición de la superficie del objeto o
las propiedades del material .
¿Que se entiende por transformacion grafica?
Transformacion de la grafica de funciones.La graficacion de las funcione es como un retrato de las funciones . Nos ayuda a tener una idea de como trasforma la funcion los valores que le vamos dando.
A partir de la grafica de la funcion podemos encontrar el dominio , el contradominio ,describir su comportamiento : donde crece ,donde decrece , donde se hace cero , donde tiene un minimo o un maximo , etc.
Aportaciones de los siguientes autores a la graficacion
por computadora :
Ben Laposky : En 1950 Laposky utiliza un ociloscopio de rayos catodicos con
generadores de ondas sinusoidales y varios otros circuitos eléctricos y
electrónicos para crear arte abstracto ,refiriéndose por si mismo como ,
"composiciones eléctricas" . Por juguetear con los haces
electrónicos mostrados por tubo de rayos catodicos del osciloscopio y
fotografiarlos con una cámara de alta velocidad con filtros de color , las
imágenes resultantes a los que llamo "Oscillons" , muestra varias
combinaciones estéticas de las formas basicas de onda eléctricas jugando una
especie de "música visual " .
Steve Russell : Steve "Slug" Russell es un programador y científico, conocido
por haber creado uno de los primeros videojuegos llamado Spacewar ! en 1961.
Spacewar fue incuestionablemente el primer videojuego en obtener amplio
reconocimiento, y es generalmente reconocido como el primero del genero
"shoot-'em'up". También escribio las primeras dos implementaciones
del lenguaje de programación Listp para lBM 704. En un tiempo Steve
trabajo para una compañía fundada por Nolan Bushnell que tiempo después se
convertiría en Atari.
Ivan Sutherland : En 1965 , este científico presento en el congreso de IFIP (International
Federation of Information Processing) su programa de investigación sobre
grafismo computerizado ; dio forma al concepto de mundo virtual. Sutherland ha
escrito cerca de 49 publicaciones y lleva acabo 12 patentes. A lo largo de los
años , Ivan Edward Sutherland ha recibido muchos premios por sus contribuciones
a la informática, como el AM Turing Award , el First Zwoeykin Award y muchos
mas.
Jack Bresenham : Algoritmo de Bresenham, desarrollado en 1962 , es la inovacion mas
conocida. Determina que apunta en un 2- dimensional el trama debe ser
trazado con fin de formar una linea recta entre dos puntos dados , y se utiliza
comúnmente para dibujar lineas en una pantalla de ordenador . Es uno de los
primeros algoritmos descubiertos en el campo de los gráficos por ordenador. El
algoritmo de circuito punto medio comparte algunas similitudes a su algoritmo
de linea y se conoce como algoritmo de circuito de Bresenham .
Suscribirse a:
Entradas (Atom)
Unidad 3 - Configuracion y Administracion del Espacio en Disco
3.1 Estructuras logicas de almacenamiento. Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien definidos que ...
-
from Tkinter import * import tkMessageBox root = Tk() root.geometry("500x500") root.title("Saludador") roo...
-
CR EQU 13 LF EQU 10 IMPRIMIR EQU 9 FIN EQU 4C00H DOS EQU 21H TAB EQU 09H DATOS SEGMENT ENCABEZADO DB 13,10,13,10,TAB,TAB,"...
-
Primero descargamos Visual Studio Code, aqui el link para descargarlo: VISUAL STUDIO CODE Cuando ya lo tengamos instalado, vamos crear u...