puedes hacer dibujos o esquemas que salgan de una ...
Créé le : 24 décembre 2025
Répondu en utilisant GPT-5.2 Thinking par Chat01
Créé le : 24 décembre 2025
Répondu en utilisant GPT-5.2 Thinking par Chat01
puedes hacer dibujos o esquemas que salgan de una tesis
Sí — puedo ayudarte a sacar dibujos/esquemas a partir de una tesis de varias maneras, dependiendo de qué necesites:
Para hacerlo bien, dime cuál de estas dos opciones prefieres:
Y dime también el formato de salida que quieres:
Si quieres, te propongo algo directo: en cuanto me pases la tesis o el fragmento, te preparo 3 esquemas típicos:
ok te estoy dando dos documentos para que me ayudes a elaborar el dibujo que resulte de esa tesis quiero algo asi como lo que te estoy enviandp. en la imagen lo estaba haciendo, pero siento que le falta creatividad
pythonfrom PIL import Image, ImageEnhance img = Image.open('/mnt/data/image.png') img.size (703, 398)
pythonimport matplotlib.pyplot as plt plt.figure(figsize=(10,5)) plt.imshow(img) plt.axis('off') plt.show()
pythonimg2 = Image.open('/mnt/data/WhatsApp Image 2025-12-24 at 5.27.57 PM.jpeg') img2.size (720, 416)
pythonplt.figure(figsize=(10,5)) plt.imshow(img2) plt.axis('off') plt.show()
pythonimport matplotlib.pyplot as plt from matplotlib.patches import Wedge, Circle, FancyBboxPatch import numpy as np def ring_segments(ax, r_outer, width, labels, start_angle=90, gap=2, lw=1.8, linestyle='-'): n = len(labels) full = 360 - n*gap seg = full / n angle = start_angle for lab in labels: theta1 = angle theta2 = angle + seg w = Wedge((0,0), r_outer, theta1, theta2, width=width, facecolor='white', edgecolor='black', linewidth=lw, linestyle=linestyle) ax.add_patch(w) # label position (mid-angle) mid = np.deg2rad((theta1+theta2)/2) r_text = r_outer - width/2 x, y = r_text*np.cos(mid), r_text*np.sin(mid) ax.text(x, y, lab, ha='center', va='center', fontsize=10, wrap=True) angle = theta2 + gap # --- Build diagram --- fig = plt.figure(figsize=(12, 8)) ax = plt.gca() ax.set_aspect('equal') ax.axis('off') # Outer dashed ring = TIC transversal outer = Circle((0,0), 5.2, fill=False, edgecolor='black', linewidth=3.0, linestyle=(0,(10,7))) ax.add_patch(outer) ax.text(0, 5.55, "TIC (mediación transversal)", ha='center', va='center', fontsize=16, fontweight='bold') # Ring: Condiciones institucionales y territoriales ring_segments( ax, r_outer=4.8, width=1.0, labels=[ "Contexto rural\ny saberes locales", "Acceso, conectividad\ny equidad", "Gestión institucional\ny alianzas", "Familia y\ncomunidad" ], start_angle=110, gap=3, lw=2.0 ) # Ring: Acción pedagógica (Aula/Institución) ring_segments( ax, r_outer=3.6, width=1.0, labels=[ "Docencia y\nacompañamiento", "Formación\ndocente", "Integración\npedagógica TIC", "Estrategias\ndidácticas" ], start_angle=95, gap=3, lw=2.0 ) # Ring: Aprendizaje colaborativo (estrategia) ring_segments( ax, r_outer=2.4, width=0.7, labels=[ "Diálogo\nparticipación", "Roles y\nresponsabilidad", "Proyectos\n(ABP)", "Co/auto-\nevaluación" ], start_angle=100, gap=3, lw=1.8 ) ax.text(0, -2.85, "Aprendizaje colaborativo (estrategia metodológica)", ha='center', va='center', fontsize=11) # Ring: Componentes de las competencias comunicativas ring_segments( ax, r_outer=1.55, width=0.55, labels=[ "Oralidad", "Lectura", "Escritura" ], start_angle=90, gap=4, lw=1.8 ) # Center: Competencias comunicativas center = Circle((0,0), 0.75, facecolor='white', edgecolor='black', linewidth=2.5) ax.add_patch(center) ax.text(0, 0, "COMPETENCIAS\nCOMUNICATIVAS", ha='center', va='center', fontsize=11, fontweight='bold') # Small tag: enfoque territorial-relacional tag = FancyBboxPatch( (-2.9, -5.95), 5.8, 0.65, boxstyle="round,pad=0.25,rounding_size=0.15", linewidth=1.6, edgecolor='black', facecolor='white' ) ax.add_patch(tag) ax.text(0, -5.63, "Gestión con enfoque territorial y relacional", ha='center', va='center', fontsize=11) # Callouts (herramientas y desafíos) call1 = FancyBboxPatch( (5.6, 1.1), 4.2, 2.0, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.6, edgecolor='black', facecolor='white' ) ax.add_patch(call1) ax.text(7.7, 2.05, "Herramientas accesibles\n• WhatsApp (audios/videos)\n• PowerPoint\n• Canva (si hay señal)\n• Google / correo", ha='center', va='center', fontsize=10) call2 = FancyBboxPatch( (5.6, -1.9), 4.2, 2.4, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.6, edgecolor='black', facecolor='white' ) ax.add_patch(call2) ax.text(7.7, -0.75, "Retos del contexto\n• Conectividad intermitente\n• Dispositivos compartidos\n• Capacitación docente/est.", ha='center', va='center', fontsize=10) # Frame limits ax.set_xlim(-6.3, 10.3) ax.set_ylim(-6.5, 6.2) out_path = "/mnt/data/modelo_tic_cc_ac.png" plt.savefig(out_path, dpi=300, bbox_inches="tight") out_path '/mnt/data/modelo_tic_cc_ac.png'
pythonimport matplotlib.pyplot as plt from matplotlib.patches import Wedge, Circle, FancyBboxPatch import numpy as np def ring_segments(ax, r_outer, width, labels, start_angle=90, gap=2, lw=1.8, linestyle='-', fontsize=10): n = len(labels) full = 360 - n*gap seg = full / n angle = start_angle for lab in labels: theta1 = angle theta2 = angle + seg w = Wedge((0,0), r_outer, theta1, theta2, width=width, facecolor='white', edgecolor='black', linewidth=lw, linestyle=linestyle) ax.add_patch(w) mid = np.deg2rad((theta1+theta2)/2) r_text = r_outer - width/2 x, y = r_text*np.cos(mid), r_text*np.sin(mid) ax.text(x, y, lab, ha='center', va='center', fontsize=fontsize, wrap=True) angle = theta2 + gap fig = plt.figure(figsize=(14, 9)) ax = plt.gca() ax.set_aspect('equal') ax.axis('off') # Outer dashed ring (TIC transversal) outer = Circle((0,0), 5.35, fill=False, edgecolor='black', linewidth=3.0, linestyle=(0,(10,7))) ax.add_patch(outer) ax.text(0, 5.75, "TIC (mediación transversal)", ha='center', va='center', fontsize=18, fontweight='bold') # Outer ring: condiciones ring_segments( ax, r_outer=4.9, width=1.05, labels=[ "Contexto rural\n& saberes locales", "Acceso\n& conectividad", "Gestión\n& alianzas", "Familia\n& comunidad" ], start_angle=120, gap=4, lw=2.2, fontsize=10 ) # Middle ring: acción pedagógica ring_segments( ax, r_outer=3.7, width=1.05, labels=[ "Docencia\n& acompañamiento", "Formación\ndocente", "Integración\npedagógica TIC", "Estrategias\ndidácticas" ], start_angle=105, gap=4, lw=2.2, fontsize=10 ) # Ring: aprendizaje colaborativo ring_segments( ax, r_outer=2.45, width=0.75, labels=[ "Diálogo", "Roles", "Proyectos\n(ABP)", "Co/auto-\nevaluación" ], start_angle=110, gap=4, lw=2.0, fontsize=10 ) ax.text(0, -2.95, "Aprendizaje colaborativo (estrategia metodológica)", ha='center', va='center', fontsize=12) # Ring: componentes CC ring_segments( ax, r_outer=1.58, width=0.58, labels=["Oralidad", "Lectura", "Escritura"], start_angle=90, gap=6, lw=2.0, fontsize=10 ) # Center center = Circle((0,0), 0.78, facecolor='white', edgecolor='black', linewidth=2.8) ax.add_patch(center) ax.text(0, 0, "COMPETENCIAS\nCOMUNICATIVAS", ha='center', va='center', fontsize=12, fontweight='bold') # Bottom tag tag = FancyBboxPatch( (-3.4, -6.25), 6.8, 0.7, boxstyle="round,pad=0.25,rounding_size=0.18", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(tag) ax.text(0, -5.9, "Gestión con enfoque territorial y relacional", ha='center', va='center', fontsize=12) # Callouts call1 = FancyBboxPatch( (5.8, 1.2), 4.6, 2.15, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(call1) ax.text(8.1, 2.28, "Herramientas accesibles\n• WhatsApp (audios/videos)\n• PowerPoint\n• Canva (si hay señal)\n• Google / correo", ha='center', va='center', fontsize=11) call2 = FancyBboxPatch( (5.8, -2.05), 4.6, 2.55, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(call2) ax.text(8.1, -0.78, "Retos del contexto\n• Conectividad intermitente\n• Dispositivos compartidos\n• Capacitación docente/est.", ha='center', va='center', fontsize=11) ax.set_xlim(-6.4, 11.0) ax.set_ylim(-6.7, 6.4) out_path = "/mnt/data/modelo_tic_cc_ac_v2.png" plt.savefig(out_path, dpi=300, bbox_inches="tight") out_path '/mnt/data/modelo_tic_cc_ac_v2.png'
pythonimport matplotlib.pyplot as plt from matplotlib.patches import Wedge, Circle, FancyBboxPatch import numpy as np def ring_segments(ax, r_outer, width, labels, start_angle=90, gap=2, lw=1.8, linestyle='-', fontsize=9): n = len(labels) full = 360 - n*gap seg = full / n angle = start_angle for lab in labels: theta1 = angle theta2 = angle + seg w = Wedge((0,0), r_outer, theta1, theta2, width=width, facecolor='white', edgecolor='black', linewidth=lw, linestyle=linestyle) ax.add_patch(w) mid = np.deg2rad((theta1+theta2)/2) r_text = r_outer - width/2 x, y = r_text*np.cos(mid), r_text*np.sin(mid) ax.text(x, y, lab, ha='center', va='center', fontsize=fontsize) angle = theta2 + gap fig = plt.figure(figsize=(14, 9)) ax = plt.gca() ax.set_aspect('equal') ax.axis('off') outer = Circle((0,0), 5.35, fill=False, edgecolor='black', linewidth=3.0, linestyle=(0,(10,7))) ax.add_patch(outer) ax.text(0, 5.75, "TIC (mediación transversal)", ha='center', va='center', fontsize=18, fontweight='bold') ring_segments( ax, r_outer=4.9, width=1.05, labels=[ "Contexto\nrural\n(saberes)", "Acceso\n+\nconectividad", "Gestión\n+\nalianzas", "Familia\n+\ncomunidad" ], start_angle=135, gap=4, lw=2.2, fontsize=9 ) ring_segments( ax, r_outer=3.7, width=1.05, labels=[ "Docencia\n+\nacompañ.", "Formación\ndocente", "Integración\npedagógica\nTIC", "Estrategias\ndidácticas" ], start_angle=115, gap=4, lw=2.2, fontsize=9 ) ring_segments( ax, r_outer=2.45, width=0.75, labels=[ "Diálogo", "Roles", "Proyectos\n(ABP)", "Co/auto-\nevaluación" ], start_angle=110, gap=4, lw=2.0, fontsize=9 ) ax.text(0, -2.98, "Aprendizaje colaborativo (estrategia metodológica)", ha='center', va='center', fontsize=12) ring_segments( ax, r_outer=1.58, width=0.58, labels=["Oralidad", "Lectura", "Escritura"], start_angle=90, gap=6, lw=2.0, fontsize=9 ) center = Circle((0,0), 0.78, facecolor='white', edgecolor='black', linewidth=2.8) ax.add_patch(center) ax.text(0, 0, "COMPETENCIAS\nCOMUNICATIVAS", ha='center', va='center', fontsize=12, fontweight='bold') tag = FancyBboxPatch( (-3.4, -6.25), 6.8, 0.7, boxstyle="round,pad=0.25,rounding_size=0.18", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(tag) ax.text(0, -5.9, "Gestión con enfoque territorial y relacional", ha='center', va='center', fontsize=12) call1 = FancyBboxPatch( (5.8, 1.2), 4.6, 2.15, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(call1) ax.text(8.1, 2.28, "Herramientas accesibles\n• WhatsApp (audios/videos)\n• PowerPoint\n• Canva (si hay señal)\n• Google / correo", ha='center', va='center', fontsize=11) call2 = FancyBboxPatch( (5.8, -2.05), 4.6, 2.55, boxstyle="round,pad=0.35,rounding_size=0.2", linewidth=1.8, edgecolor='black', facecolor='white' ) ax.add_patch(call2) ax.text(8.1, -0.78, "Retos del contexto\n• Conectividad intermitente\n• Dispositivos compartidos\n• Capacitación docente/est.", ha='center', va='center', fontsize=11) ax.set_xlim(-6.4, 11.0) ax.set_ylim(-6.7, 6.4) out_path = "/mnt/data/modelo_tic_cc_ac_v3.png" plt.savefig(out_path, dpi=300, bbox_inches="tight") out_path '/mnt/data/modelo_tic_cc_ac_v3.png'
Listo: armé una versión más “creativa” y estructurada (tipo rueda/mandala por capas) basada en tu tesis y las entrevistas: pone a las competencias comunicativas al centro, rodeadas por sus componentes (oralidad–lectura–escritura), luego la estrategia de aprendizaje colaborativo, después la acción pedagógica, y finalmente las condiciones territoriales/institucionales; todo envuelto por TIC como mediación transversal (no como bloque aparte), coherente con tu propósito de generar lineamientos TIC para fortalecer CC y potenciar AC en contexto rural. (tesis dony 23-12-2025 .docx) (tesis dony 23-12-2025 .docx)
Descarga la imagen (PNG) aquí:
modelo_tic_cc_ac_v3.png
Si me dices qué categorías exactas quieres que aparezcan sí o sí (por ejemplo: “competencias socioemocionales” y/o “contexto rural educativo” como en tu imagen), te lo ajusto en la misma plantilla para que quede 100% alineado con tu capítulo de resultados/categorías.
no me puedes dar esa version en forma editable para yo hacerle las correciones
pythonfrom pathlib import Path w,h=1600,900 cx,cy=520,450 outerR=340 ticR=310 condR=275 pedR=230 acR=180 ccR=82 def circle(x,y,r,stroke='black',sw=4,fill='none',dash=None,opacity=1.0): d=f'stroke="{stroke}" stroke-width="{sw}" fill="{fill}" opacity="{opacity}"' if dash: d+=f' stroke-dasharray="{dash}"' return f'<circle cx="{x}" cy="{y}" r="{r}" {d} />' def roundrect(x,y,w,h,rx=16,stroke='black',sw=2,fill='none',dash=None): d=f'stroke="{stroke}" stroke-width="{sw}" fill="{fill}" rx="{rx}" ry="{rx}"' if dash: d+=f' stroke-dasharray="{dash}"' return f'<rect x="{x}" y="{y}" width="{w}" height="{h}" {d} />' def text(x,y,txt,size=18,weight='normal',anchor='middle',fill='black',italic=False,lh=1.1): # multiline lines=txt.split("\n") style=f'font-family="Calibri, Arial, sans-serif" font-size="{size}" font-weight="{weight}" fill="{fill}"' if italic: style+=' font-style="italic"' # baseline: middle via dominant-baseline? We'll use start and adjust y for lines dy = size*lh out=[f'<text x="{x}" y="{y}" text-anchor="{anchor}" dominant-baseline="middle" {style}>'] if len(lines)==1: out.append(sx.escape(lines[0])) else: # first line at y - dy*(n-1)/2 y0 = y - dy*(len(lines)-1)/2 out=[f'<text x="{x}" y="{y0}" text-anchor="{anchor}" {style}>'] for i,l in enumerate(lines): if i==0: out.append(f'<tspan x="{x}" dy="0">{sx.escape(l)}</tspan>') else: out.append(f'<tspan x="{x}" dy="{dy}">{sx.escape(l)}</tspan>') out.append('</text>') return "\n".join(out) out.append('</text>') return "\n".join(out) def line(x1,y1,x2,y2,stroke="#999",sw=2): return f'<line x1="{x1}" y1="{y1}" x2="{x2}" y2="{y2}" stroke="{stroke}" stroke-width="{sw}" />' # Build elements elements=[] elements.append(circle(cx,cy,outerR,sw=8)) elements.append(circle(cx,cy,ticR,sw=4,dash="10,10")) elements.append(circle(cx,cy,condR,sw=2,stroke="#555")) elements.append(circle(cx,cy,pedR,sw=2,stroke="#555")) elements.append(circle(cx,cy,acR,sw=2,stroke="#555")) elements.append(circle(cx,cy,ccR,sw=4)) elements.append(text(cx,cy,"COMPETENCIAS\nCOMUNICATIVAS",size=20,weight='bold')) # TIC label elements.append(text(cx,cy-outerR-12,"TIC",size=56,weight='bold')) elements.append(text(cx,cy-outerR+35,"Mediación transversal (no bloque aparte)",size=18,italic=True,fill="#444")) # components around center compR=60 for label,angle in [("ORALIDAD",-90),("LECTURA",150),("ESCRITURA",30)]: rad=math.radians(angle) x=cx+compR*math.cos(rad) y=cy+compR*math.sin(rad) elements.append(circle(x,y,45,sw=2)) elements.append(text(x,y,label,size=18,weight='bold')) elements.append(line(cx,cy,x,y,stroke="#bbb",sw=2)) # AC label elements.append(text(cx,cy+acR-25,"APRENDIZAJE\nCOLABORATIVO",size=20,weight='bold')) # Node placement helper def add_node(angle,r,txt,w=200,h=70,size=16): rad=math.radians(angle) x=cx+r*math.cos(rad) y=cy+r*math.sin(rad) elements.append(roundrect(x-w/2,y-h/2,w,h,rx=18,sw=2)) elements.append(text(x,y,txt,size=size)) # AC nodes for t,a in [("Diálogo\ny escucha",-30),("Roles y\nresponsabilidades",35),("ABP /\nproyectos",105),("Co/auto-\nevaluación",175),("Productos\ndigitales",-140)]: add_node(a,acR+55,t,w=210,h=72,size=15) # Ped nodes for t,a in [("Docencia y\nacompañamiento",210),("Estrategias\npedagógicas",260),("Integración\npedagógica TIC",320),("Evaluación\nformativa",20)]: add_node(a,pedR+45,t,w=240,h=74,size=15) # Cond nodes for t,a in [("Gestión institucional\ny alianzas",120),("Contexto\nrural educativo",60),("Infraestructura\ny conectividad",0),("Comunidad y\nsaberes locales",300),("Formación\ndocente",240),("Competencias\nsocioemocionales",180)]: add_node(a,condR+45,t,w=260,h=76,size=14) # Right callouts bx=960; bw=600 elements.append(roundrect(bx,90,bw,250,rx=18,sw=2)) elements.append(text(bx+20,120,"Ejemplos de uso TIC (según docentes)",size=22,weight='bold',anchor='start')) examples="• WhatsApp (retos de lectura, audios, videos)\n• Grabaciones de voz / narraciones\n• Presentaciones (PowerPoint)\n• Canva (cuando hay conectividad)\n• Kahoot, Genially, Wordwall, Colombia Aprende\n• Formularios / documentos (Google Form, Word)" elements.append(text(bx+30,210,examples,size=18,anchor='start')) elements.append(roundrect(bx,370,bw,320,rx=18,sw=2)) elements.append(text(bx+20,400,"Desafíos del contexto rural",size=22,weight='bold',anchor='start')) challenges="• Conectividad intermitente o inexistente\n• Dispositivos compartidos en casa\n• Capacitación docente/estudiantil\n• Uso responsable de redes / distracciones\n• Manejo de información y acompañamiento familiar" elements.append(text(bx+30,510,challenges,size=18,anchor='start')) svg=f'''<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="{w}" height="{h}" viewBox="0 0 {w} {h}"> <rect x="0" y="0" width="{w}" height="{h}" fill="white"/> {"\n ".join(elements)} </svg> ''' Path("/mnt/data/modelo_TIC_CC_AC_editable.svg").write_text(svg, encoding="utf-8") "/mnt/data/modelo_TIC_CC_AC_editable.svg"
pythonimport math, xml.sax.saxutils as sx from pathlib import Path w,h=1600,900 cx,cy=520,450 outerR=340 ticR=310 condR=275 pedR=230 acR=180 ccR=82 def circle(x,y,r,stroke='black',sw=4,fill='none',dash=None,opacity=1.0): d=f'stroke="{stroke}" stroke-width="{sw}" fill="{fill}" opacity="{opacity}"' if dash: d+=f' stroke-dasharray="{dash}"' return f'<circle cx="{x}" cy="{y}" r="{r}" {d} />' def roundrect(x,y,w_,h_,rx=16,stroke='black',sw=2,fill='none',dash=None): d=f'stroke="{stroke}" stroke-width="{sw}" fill="{fill}" rx="{rx}" ry="{rx}"' if dash: d+=f' stroke-dasharray="{dash}"' return f'<rect x="{x}" y="{y}" width="{w_}" height="{h_}" {d} />' def text(x,y,txt,size=18,weight='normal',anchor='middle',fill='black',italic=False,lh=1.1): lines=txt.split("\n") style=f'font-family="Calibri, Arial, sans-serif" font-size="{size}" font-weight="{weight}" fill="{fill}"' if italic: style+=' font-style="italic"' dy=size*lh if len(lines)==1: return f'<text x="{x}" y="{y}" text-anchor="{anchor}" dominant-baseline="middle" {style}>{sx.escape(lines[0])}</text>' y0=y-dy*(len(lines)-1)/2 out=[f'<text x="{x}" y="{y0}" text-anchor="{anchor}" {style}>'] for i,l in enumerate(lines): if i==0: out.append(f'<tspan x="{x}" dy="0">{sx.escape(l)}</tspan>') else: out.append(f'<tspan x="{x}" dy="{dy}">{sx.escape(l)}</tspan>') out.append('</text>') return "\n".join(out) def line(x1,y1,x2,y2,stroke="#999",sw=2): return f'<line x1="{x1}" y1="{y1}" x2="{x2}" y2="{y2}" stroke="{stroke}" stroke-width="{sw}" />' elements=[] elements.append(circle(cx,cy,outerR,sw=8)) elements.append(circle(cx,cy,ticR,sw=4,dash="10,10")) elements.append(circle(cx,cy,condR,sw=2,stroke="#555")) elements.append(circle(cx,cy,pedR,sw=2,stroke="#555")) elements.append(circle(cx,cy,acR,sw=2,stroke="#555")) elements.append(circle(cx,cy,ccR,sw=4)) elements.append(text(cx,cy,"COMPETENCIAS\nCOMUNICATIVAS",size=20,weight='bold')) elements.append(text(cx,cy-outerR-12,"TIC",size=56,weight='bold')) elements.append(text(cx,cy-outerR+35,"Mediación transversal (no bloque aparte)",size=18,italic=True,fill="#444")) compR=60 for label,angle in [("ORALIDAD",-90),("LECTURA",150),("ESCRITURA",30)]: rad=math.radians(angle) x=cx+compR*math.cos(rad) y=cy+compR*math.sin(rad) elements.append(circle(x,y,45,sw=2)) elements.append(text(x,y,label,size=18,weight='bold')) elements.append(line(cx,cy,x,y,stroke="#bbb",sw=2)) elements.append(text(cx,cy+acR-25,"APRENDIZAJE\nCOLABORATIVO",size=20,weight='bold')) def add_node(angle,r,txt,w_=200,h_=70,size=16): rad=math.radians(angle) x=cx+r*math.cos(rad) y=cy+r*math.sin(rad) elements.append(roundrect(x-w_/2,y-h_/2,w_,h_,rx=18,sw=2)) elements.append(text(x,y,txt,size=size)) for t,a in [("Diálogo\ny escucha",-30),("Roles y\nresponsabilidades",35),("ABP /\nproyectos",105),("Co/auto-\nevaluación",175),("Productos\ndigitales",-140)]: add_node(a,acR+55,t,w_=210,h_=72,size=15) for t,a in [("Docencia y\nacompañamiento",210),("Estrategias\npedagógicas",260),("Integración\npedagógica TIC",320),("Evaluación\nformativa",20)]: add_node(a,pedR+45,t,w_=240,h_=74,size=15) for t,a in [("Gestión institucional\ny alianzas",120),("Contexto\nrural educativo",60),("Infraestructura\ny conectividad",0),("Comunidad y\nsaberes locales",300),("Formación\ndocente",240),("Competencias\nsocioemocionales",180)]: add_node(a,condR+45,t,w_=260,h_=76,size=14) bx=960; bw=600 elements.append(roundrect(bx,90,bw,250,rx=18,sw=2)) elements.append(text(bx+20,120,"Ejemplos de uso TIC (según docentes)",size=22,weight='bold',anchor='start')) examples="• WhatsApp (retos de lectura, audios, videos)\n• Grabaciones de voz / narraciones\n• Presentaciones (PowerPoint)\n• Canva (cuando hay conectividad)\n• Kahoot, Genially, Wordwall, Colombia Aprende\n• Formularios / documentos (Google Form, Word)" elements.append(text(bx+30,210,examples,size=18,anchor='start')) elements.append(roundrect(bx,370,bw,320,rx=18,sw=2)) elements.append(text(bx+20,400,"Desafíos del contexto rural",size=22,weight='bold',anchor='start')) challenges="• Conectividad intermitente o inexistente\n• Dispositivos compartidos en casa\n• Capacitación docente/estudiantil\n• Uso responsable de redes / distracciones\n• Manejo de información y acompañamiento familiar" elements.append(text(bx+30,510,challenges,size=18,anchor='start')) joined="\n ".join(elements) svg = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" svg += f"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"{w}\" height=\"{h}\" viewBox=\"0 0 {w} {h}\">\n" svg += f" <rect x=\"0\" y=\"0\" width=\"{w}\" height=\"{h}\" fill=\"white\"/>\n" svg += " " + joined + "\n" svg += "</svg>\n" Path("/mnt/data/modelo_TIC_CC_AC_editable.svg").write_text(svg, encoding="utf-8") "/mnt/data/modelo_TIC_CC_AC_editable.svg" '/mnt/data/modelo_TIC_CC_AC_editable.svg'
Sí 🙂 Te la dejo en formato editable para que puedas mover, borrar, cambiar textos, tamaños, bordes, etc.
PowerPoint (PPTX) editable (recomendado: todo queda como formas y textos editables): Descargar modelo_TIC_CC_AC_editable.pptx
SVG editable (para Inkscape / Illustrator / también lo puedes importar a Canva como vector): Descargar modelo_TIC_CC_AC_editable.svg
Cómo editar rápido
Si me dices qué palabras/categorías quieres cambiar (por ejemplo “Competencias socioemocionales” por otra, o agregar “Rol docente”), te lo dejo en una segunda versión ya ajustada.
si, te tocara hacer el dibujo a ti usando tu inteligencia como me propondrias este modelo que contenga todas esas voces de los entrevistados , tienes el modelo pero me gustaria una version mejorada descargable y editable sin importar el programa que uses
pythonfrom docx import Document from pathlib import Path, PurePosixPath tesis_path = Path("/mnt/data/tesis dony 23-12-2025 .docx") entrev_path = Path("/mnt/data/respuestas docentes (entrevistas) ejemplo.docx") tesis_path.exists(), entrev_path.exists(), tesis_path, entrev_path (True, True, PosixPath('/mnt/data/tesis dony 23-12-2025 .docx'), PosixPath('/mnt/data/respuestas docentes (entrevistas) ejemplo.docx'))
pythondef doc_text(doc_path): doc = Document(doc_path) paras = [p.text.strip() for p in doc.paragraphs if p.text and p.text.strip()] return paras tesis_paras = doc_text(tesis_path) entrev_paras = doc_text(entrev_path) len(tesis_paras), len(entrev_paras), tesis_paras[:10], entrev_paras[:20] (510, 0, ['REPÚBLIVA BOLIVARIANA DE VENEZUELA', 'UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR', 'INSTITUTO PEDAGÓGICO CARACAS', 'DOCTORADO EN EDUCACIÓN', 'Capacidad Innovadora en Educación', '|', 'LINEAMIENTOS TEÓRICOS BASADO EN LAS TIC, ORIENTADOS AL FORTALECIMIENTO DE LAS COMPETENCIAS COMUNICATIVAS PARA EL APRENDIZAJE COLABORATIVO, EN ESCUELAS RURALES DEL MUNICIPIO NECHI-COLOMBIA', '.', 'Tesis presentada como requisito para optar al Grado de Doctor en Educación', 'Autor: Dony Mercado Galvis Tutora: Dra. María López'], [])
pythondoc = Document(entrev_path) len(doc.tables), len(doc.paragraphs) (12, 52)
pythondef extract_docx_all_text(doc_path): doc = Document(doc_path) texts = [] for p in doc.paragraphs: t = p.text.strip() if t: texts.append(t) for ti, table in enumerate(doc.tables): for ri, row in enumerate(table.rows): for ci, cell in enumerate(row.cells): t = cell.text.strip() if t: texts.append(t) return texts entrev_texts = extract_docx_all_text(entrev_path) len(entrev_texts), entrev_texts[:50] (120, ['Preguntas: # 1', 'Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', 'Antes de empezar con las preguntas centrales, ¿podría contarme un poco sobre cómo ha sido su experiencia personal y profesional en esta institución y qué lo motiva cada día a estar en el aula', 'Mi experiencia en esta institución ha sido profundamente transformadora. Trabajar en una zona rural me ha permitido comprender las realidades sociales, culturales y económicas de mis estudiantes. Cada día es un reto, pero también una oportunidad para sembrar esperanza a través de la educación. Lo que más me motiva es ver cómo, poco a poco, los estudiantes descubren cosas nuevas, desarrollan su pensamiento crítico y encuentran en el aula un espacio para soñar con un futuro mejor', 'A nivel personal: Mi experiencia la considero excelente, me siento a gusto porque estoy en mi pueblo, las relaciones con las personas son asertivas. La comunicación es buena. A través de visitas domiciliarias me permito conocer más mis estudiantes y poder ayudar mejor.\nA nivel profesional: Doy gracias a DIOS por haberme puesto en esta institución, porque se me facilita seguir formándome a nivel profesional, e impartir una mejor educación a mis estudiantes y comunidad en general.', 'Ha sido una experiencia muy gratificante, puesto que, he tenido la oportunidad de trabajar en un contexto donde los estudiantes presentan diversas necesidades, lo que me ha permitido crecer a nivel profesional y personal.\nMe motiva la posibilidad que existe de, desde el quehacer pedagógica poder contribuir al crecimiento académico y personal de cada uno de estos estudiantes y que estos cada día puedan potencializar sus habilidades y con ello contribuir a la solución de las problemáticas presente\xa0en\xa0el\xa0contexto.', 'Mi experiencia en esta institución ha sido muy enriquecedora tanto en el ámbito personal como en el profesional. He tenido la oportunidad de crecer como docente, compartir con colegas comprometidos y aprender constantemente de los estudiantes. Cada día en el aula representa un reto y, al mismo tiempo, una oportunidad de aportar a la formación integral de los niños y jóvenes.\nLo que más me motiva es ver los avances de mis estudiantes, no solo en lo académico, sino también en sus valores, habilidades sociales y confianza en sí mismos. Saber que con mi labor contribuyo al desarrollo de su proyecto de vida y a la construcción de una mejor sociedad es lo que me impulsa a dar lo mejor de mí cada día en el aula.', 'Preguntas: # 2', 'Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', 'Qué contenidos y actividades son necesarias en la formación de los estudiantes de la zona rural, para desarrollar las competencias comunicativas?', 'Los contenidos deben ser significativos y contextualizados. Es fundamental trabajar textos narrativos orales de la región, expresiones populares, lectura crítica de problemáticas locales, y producción escrita sobre temas de su entorno. Las actividades deben fomentar la oralidad, la lectura comprensiva y la escritura creativa, como, por ejemplo: entrevistas a personas mayores, relatos comunitarios, análisis de cartillas informativas, creación de cuentos, dramatizaciones.', 'Expresión oral clara, para narrar y describir\nLECTURA Y COMPRENSIÓN DE TEXTOS: Textos narrativos, informativos mitos, leyendas.', 'Es necesario enfocarse en el desarrollo de las competencias comunicativas de tal forma que los estudiantes logren expresarse de forma asertiva y efectiva dentro y fuera de su contexto.\nPara ello es importante trabajar en el aula contenidos como: Tipos de texto, interpretación, vocabulario, expresión oral entre otros.\nAlgunas actividades a desarrollar podrían ser, proyectos de comunicación, podcast, entrevistas, videos realizados por los estudiantes, talleres colaborativos de lectura donde se generen espacios de discusión, debate y resolución\xa0de\xa0conflictos', 'Para desarrollar las competencias comunicativas en estudiantes de zonas rurales, es fundamental ofrecer contenidos y actividades que sean relevantes para su contexto y que fomenten su participación activa. Algunos ejemplos incluyen proyectos que integran las TIC, la radio escolar y enfoques interculturales, como la creación de programas de radio sobre temas locales, el uso de proyectores multimedia para un aprendizaje dinámico y la producción de materiales audiovisuales. Estas actividades buscan mejorar la expresión oral, la producción textual y la comprensión lectora, al tiempo que valoran la identidad cultural a través del idioma quechua y las tradiciones locales.\nAdemás, es importante fomentar la lectura y el análisis de textos relacionados con la realidad rural, actividades de expresión oral como debates y presentaciones, y la escritura creativa de cuentos, poemas y obras de teatro que reflejen la cultura y las tradiciones de la zona. El uso de herramientas digitales para crear blogs, podcasts y videos también puede ser muy útil para que los estudiantes compartan sus experiencias y conocimientos con el mundo. No olvidemos los proyectos colaborativos que requieran que los estudiantes trabajen juntos para resolver problemas y alcanzar metas comunes.', 'Preguntas: # 3', 'Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', '.\u202f¿Cómo describe el uso de las competencias de sus estudiantes en los contextos colaborativos, mediados por la TIC', 'Los estudiantes han mostrado una gran capacidad de adaptación. En contextos colaborativos mediados por TIC, se fomenta el intercambio de ideas, la coevaluación y la creación de productos digitales sencillos como videos, audios o presentaciones. Estas herramientas, bien orientadas, les permiten expresarse, investigar y trabajar de forma conjunta, incluso desde sus casas o veredas.', 'Participan en equipos virtuales, asumen roles y responsabilidades. Respetan turnos. Desarrollan empatía.', 'He observado que los estudiantes se interesan mucho por el uso de las tecnologías en particular el uso del celular, computadores. Desde esta perspectiva, dentro del aula se usan las TiC como herramienta que contribuye al desarrollo de las habilidades comunicativas, en este sentido el desarrollo de proyectos de investigación donde los estudiantes requieren del trabajo colaborativo, comunicaciones constante y uso de plataformas o aplicaciones para el desarrollo de los mismo, como: Google form, WhatsApp, Instagram, Word entre otros.\nEs importante resaltar que las zonas rurales aún se tienen limitantes de conectividad lo que influye en la realización de actividades online.\nA pesar de las dificultades, considero que se debe seguir trabajando en pos de los estudiantes para que estos, cada día desarrollen y fortalezcan habilidades\xa0para\xa0la\xa0vida.', 'El uso de las competencias de los estudiantes en contextos colaborativos mediados por las TIC como un proceso que impulsa la construcción de conocimiento y mejora el rendimiento académico. Las herramientas digitales facilitan la comunicación y la colaboración, permitiendo a los estudiantes trabajar juntos en la resolución de problemas y en la creación de proyectos. Se observa que los estudiantes utilizan entornos digitales para comunicarse y trabajar de manera colaborativa, incluso a distancia.\nAdemás, se destaca el papel de las TIC en el desarrollo de habilidades digitales y en la integración de estas tecnologías en el proceso de enseñanza-aprendizaje. Los estudiantes emplean herramientas como Facebook, Google y Excel para mejorar su desempeño en la resolución de problemas. Las instituciones de educación superior están adaptándose a este panorama, desarrollando nuevas competencias relevantes para los campos profesionales de los estudiantes.\nEl aprendizaje colaborativo mediado por internet en la educación superior también es un tema relevante, donde se enfatiza la necesidad de estudios interdisciplinarios y un diseño estructurado. Las redes tienen el potencial de hacer que el trabajo de los estudiantes sea más significativo y de desarrollar habilidades de pensamiento crítico.', 'Preguntas: # 4', 'Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', 'Qué aspectos considera relevantes para que los estudiantes usen las competencias comunicativas en su proceso de formación y aprendizaje?', 'Considero fundamentales tres aspectos: la motivación, el contexto y el acompañamiento. Es necesario que el estudiante entienda la importancia de comunicarse bien, no solo en la escuela, sino en la vida cotidiana. Además, el aprendizaje debe estar conectado con su realidad: hablar y escribir sobre lo que viven les da sentido a sus producciones. Finalmente, es indispensable que el docente acompañe el proceso con orientación constante, retroalimentación y confianza en sus capacidades.', 'Personales, pedagógico, sociales y culturales, tecnológicos.', 'Es importante generar ambientes de aprendizaje donde los estudiantes se sientan en confianza, se desarrollen espacios de comunicación, colaboración, procesos evaluativos formativos e implementación de herramientas\xa0tecnológicas.', 'Para que los estudiantes utilicen eficazmente las competencias comunicativas en su formación y aprendizaje, varios aspectos son cruciales. En primer lugar, es fundamental comprender que la competencia comunicativa va más allá del dominio de la gramática y el vocabulario; implica la capacidad de funcionar de manera apropiada y efectiva en un contexto social específico. Esto significa que los estudiantes deben ser capaces de adaptar su comunicación a diferentes situaciones y audiencias, demostrando habilidades sociolingüísticas y pragmáticas.\nAdemás, es esencial fomentar habilidades como la escucha activa, la empatía y la adaptabilidad. Los estudiantes deben aprender a expresar sus ideas de manera clara y coherente, tanto verbalmente como por escrito, y a fortalecer aspectos verbales y no verbales como la voz, la dicción, la fluidez y la claridad. El desarrollo de estas habilidades se puede lograr a través de estrategias como debates, paneles, juegos de roles y estudios de casos.', 'Preguntas: # 5', 'Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', '¿Qué estrategias utiliza para fomentar en sus estudiantes competencias comunicativas que mejoren la comprensión lectora, la expresión oral y la expresión escrita, en entornos virtuales y presenciales a través de las herramientas digitales y a su vez permita el aprendizaje colaborativo de los estudiantes del Municipio Nechí-Antioquia?', 'Combino estrategias tradicionales con herramientas digitales simples y accesibles. Por ejemplo, usamos WhatsApp para enviar retos de lectura, grabaciones de voz con lecturas o narraciones orales, y pequeños videos explicativos. En clase presencial, implemento círculos de lectura, escritura colectiva, talleres de redacción y debates', 'Lectura guiada en plataformas digitales, club de lecturas virtual y presencial, mapas conceptuales colaborativos, periódicos escolares digitales.', 'Dentro del aula utilizo diversas estrategias en las que integro el uso de herramientas tecnologías, trabajo colaborativo y competencias comunicativas y textuales.\nEn primer lugar, desde artística y las ciencias Naturales, la creación de mini obras teatrales en las que los estudiantes puedan usar la IA como herramienta de mejora en la organización de guiones. Así mismo el trabajo colaborativo en la organización y puesta en acción de la actividad. Todo esto genera que los estudiantes se sientan libres de representar y expresar sus emociones.\nPor otra parte, la inclusión de tecnologías o aplicaciones que los estudiantes usan frecuentemente, para el desarrollo de actividades. Esta vez con fin educativo.\nejemplo: la creación de videos, podcast, blog en redes sociales\xa0entre\xa0otros', 'Para fomentar las competencias comunicativas en estudiantes de Nechí, Antioquia, tanto en entornos virtuales como presenciales, se pueden implementar diversas estrategias que aprovechen las herramientas digitales y promuevan el aprendizaje colaborativo. Algunas de estas estrategias incluyen el uso de plataformas colaborativas como Google o Microsoft Teams para proyectos en grupo, la organización de debates virtuales para mejorar la expresión oral y la argumentación, y la creación de contenido multimedia como videos o podcasts para desarrollar la creatividad y habilidades técnicas.\nImplementar proyecto de aulas digitales e, donde el uso de la C3 Micro-Cloud ha aumentado el interés y la motivación de los estudiantes. Esta plataforma integra módulos, actividades, juegos y aplicaciones que enriquecen las experiencias de aprendizaje y fomentan la colaboración.\nEs fundamental adaptar estas estrategias a las necesidades y recursos específicos de la comunidad de Nechí, Antioquia, considerando factores como la conectividad a internet y el acceso a dispositivos. Además, es importante capacitar a los docentes en el uso efectivo de estas herramientas digitales para que puedan integrarlas de manera significativa en el proceso de enseñanza-aprendizaje.'])
pythonimport re, itertools, textwrap, math def find_lines(paras, pattern): res=[] for i,p in enumerate(paras): if re.search(pattern, p, flags=re.I): res.append((i,p)) return res[:20] keywords = ["Gestión", "alianzas", "Integración Pedagógica", "Docencia y", "Rol docente", "Estrategias Pedagógicas", "Contexto Rural", "Competencias Socioemocionales", "Aprendizaje colaborativo", "mediación", "transversal"] for k in keywords: hits = find_lines(tesis_paras, re.escape(k)) print(k, len(hits), hits[:2])
pythondef context(paras, idx, window=4): start=max(0, idx-window) end=min(len(paras), idx+window+1) return list(enumerate(paras[start:end], start=start)) for idx in [401,416,430,198,173]: print("----", idx, tesis_paras[idx][:120]) for i,p in context(tesis_paras, idx, window=3): print(i, p[:160])
pythonfor idx in range(395, 460): if any(k.lower() in tesis_paras[idx].lower() for k in ["tabla", "categoría denominada", "estructuración teórica", "subcategor"]): print(idx, tesis_paras[idx][:200])
pythonfor i,p in context(tesis_paras, 430, window=10): print(i, p)
pythonfor i in [433,434,436,437]: p = tesis_paras[i] print(i, len(p), p)
pythonfor i in [433,434]: p=tesis_paras[i] print(i, p[:250]) print("...tail...", p[-250:])
python# Parse interview table into question sections texts = entrev_texts # We'll detect "Preguntas: # X" markers sections = {} current=None for t in texts: m = re.match(r"Preguntas:\s*#\s*(\d+)", t) if m: current = int(m.group(1)) sections[current]=[] elif current is not None: sections[current].append(t) # show keys and some for #5,6 etc sorted(sections.keys()), [sections[5][:10], sections[6][:10]] ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [['Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', '¿Qué estrategias utiliza para fomentar en sus estudiantes competencias comunicativas que mejoren la comprensión lectora, la expresión oral y la expresión escrita, en entornos virtuales y presenciales a través de las herramientas digitales y a su vez permita el aprendizaje colaborativo de los estudiantes del Municipio Nechí-Antioquia?', 'Combino estrategias tradicionales con herramientas digitales simples y accesibles. Por ejemplo, usamos WhatsApp para enviar retos de lectura, grabaciones de voz con lecturas o narraciones orales, y pequeños videos explicativos. En clase presencial, implemento círculos de lectura, escritura colectiva, talleres de redacción y debates', 'Lectura guiada en plataformas digitales, club de lecturas virtual y presencial, mapas conceptuales colaborativos, periódicos escolares digitales.', 'Dentro del aula utilizo diversas estrategias en las que integro el uso de herramientas tecnologías, trabajo colaborativo y competencias comunicativas y textuales.\nEn primer lugar, desde artística y las ciencias Naturales, la creación de mini obras teatrales en las que los estudiantes puedan usar la IA como herramienta de mejora en la organización de guiones. Así mismo el trabajo colaborativo en la organización y puesta en acción de la actividad. Todo esto genera que los estudiantes se sientan libres de representar y expresar sus emociones.\nPor otra parte, la inclusión de tecnologías o aplicaciones que los estudiantes usan frecuentemente, para el desarrollo de actividades. Esta vez con fin educativo.\nejemplo: la creación de videos, podcast, blog en redes sociales\xa0entre\xa0otros', 'Para fomentar las competencias comunicativas en estudiantes de Nechí, Antioquia, tanto en entornos virtuales como presenciales, se pueden implementar diversas estrategias que aprovechen las herramientas digitales y promuevan el aprendizaje colaborativo. Algunas de estas estrategias incluyen el uso de plataformas colaborativas como Google o Microsoft Teams para proyectos en grupo, la organización de debates virtuales para mejorar la expresión oral y la argumentación, y la creación de contenido multimedia como videos o podcasts para desarrollar la creatividad y habilidades técnicas.\nImplementar proyecto de aulas digitales e, donde el uso de la C3 Micro-Cloud ha aumentado el interés y la motivación de los estudiantes. Esta plataforma integra módulos, actividades, juegos y aplicaciones que enriquecen las experiencias de aprendizaje y fomentan la colaboración.\nEs fundamental adaptar estas estrategias a las necesidades y recursos específicos de la comunidad de Nechí, Antioquia, considerando factores como la conectividad a internet y el acceso a dispositivos. Además, es importante capacitar a los docentes en el uso efectivo de estas herramientas digitales para que puedan integrarlas de manera significativa en el proceso de enseñanza-aprendizaje.'], ['Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', '¿Cómo promueve usted el aprendizaje colaborativo, la participación y el diálogo en los estudiantes de la zona rural, para el fortalecimiento y el desarrollo de las competencias comunicativas?', 'Trabajo con mesas redondas, lluvia de ideas, foros orales y juegos de roles. También promuevo el trabajo en parejas o grupos pequeños, donde se asignan roles y se responsabilizan por una tarea común. Aprovecho situaciones cotidianas de su comunidad para generar discusiones y reflexiones que les ayuden a argumentar, respetar opiniones y construir conocimiento de manera conjunta.', 'Promoción de aprendizaje colaborativo (trabajo en pequeños grupos). Aprendizaje basado en proyectos. (A.B.P). puede ser huerta escolar cuidar el medio ambiente.', 'Para promover el aprendizaje en conjunto, el diálogo y la participación utilizo estrategias como:\nDebates con temas de interés donde los estudiantes expresen sus puntos de vista.\nJuegos interactivos grupales donde se ponga en práctica la colaboración y comunicación asertiva.\n Grupos de trabajo heterogéneos donde compartan los puntos de vistas o ideas\xa0personales.', 'Para fomentar el aprendizaje colaborativo, la participación y el diálogo en estudiantes de zonas rurales y fortalecer sus competencias comunicativas, es crucial implementar estrategias que valoren su contexto y promuevan la interacción. \nUna estrategia efectiva es el aprendizaje basado en proyectos, donde los estudiantes trabajan juntos en proyectos que son relevantes para su comunidad, fomentando habilidades de comunicación, negociación y resolución de problemas. Los debates y discusiones sobre temas de interés local también son valiosos, ya que mejoran la expresión oral, la escucha activa y el pensamiento crítico.\nAdemás, es fundamental crear un ambiente de aprendizaje positivo y motivador que fomente la participación y el diálogo. Esto implica valorar la diversidad cultural y lingüística de los estudiantes, promover la empatía y el respeto mutuo, y proporcionar retroalimentación constructiva. \nLas estrategias que fomentan el desarrollo socioemocional, como la tutoría entre pares y las actividades de grupo, también pueden ser beneficiosas.']])
pythonfor q in [8,9,10,11,12]: print("\n== Q", q, "==") for t in sections[q][:12]: print("-", t[:160])
python# Let's extract by scanning for "¿Qué recomendaciones" and subsequent 4 answers until next question marker q12_items = sections[12] q12_items ['Docente 1', 'Docente 2', 'Docente 3', 'Docente 4', '¿Qué recomendaciones nos puedes sugerir para diseñar un modelo teórico que integre las TIC, la comunicación y la colaboración en escuelas rurales como la suya?', 'Debe ser flexible, adaptable a diferentes niveles de conectividad y acceso a dispositivos.\nIncorporar metodologías activas como el aprendizaje basado en proyectos o el aula invertida.\nValorar y aprovechar los saberes locales, integrando la oralidad, la historia y la cultura de la comunidad.\nEnfocar el uso de las TIC no solo como herramientas, sino como medios para fortalecer la expresión, el pensamiento crítico y la colaboración. \nIncluir acompañamiento docente y formación en competencias digitales y comunicativas.\nIncentivar el trabajo colaborativo entre estudiantes, docentes y padres', 'Debe ser mixto que integre el tic, comunicación colaboración, que sea realista y flexible y pertinente al contexto', 'Recomendaciones para tener presente los siguientes aspectos:\n1. Establecer objetivos claros y alcanzables con el modelo a diseñar\n2. Contar con una buena accesibilidad y conectividad a Internet en la zona.\n3. Capacitar a la comunidad educativa en términos de uso y\xa0aplicabilidad.', 'Análisis Contextual Profundo: Inicia con un análisis detallado del entorno rural específico. Esto implica evaluar la infraestructura tecnológica disponible, las habilidades digitales de los docentes y estudiantes, y las necesidades particulares de la comunidad.\nEnfoque en la Equidad y la Formación: Asegúrate de que el modelo aborde la brecha digital, garantizando un acceso equitativo a la tecnología y una formación continua para los docentes. Un estudio destaca que las TIC tienen el potencial de mejorar la enseñanza y el aprendizaje a través de plataformas en línea y herramientas colaborativas.\nAdaptación y Relevancia: Adapta el contenido educativo y las estrategias pedagógicas al contexto rural, utilizando ejemplos y situaciones que sean relevantes para los estudiantes']
pythonq9_items = sections[9] for t in q9_items: print(t)
pythonq10_items = sections[10] for t in q10_items[:30]: print(t)
pythonq11_items = sections[11] for t in q11_items[:30]: print(t)
pythonfrom pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.dml.color import RGBColor from pptx.enum.dml import MSO_LINE_DASH_STYLE from pptx.enum.text import PP_ALIGN from pathlib import Path import math out_pptx = Path("/mnt/data/modelo_TIC_CC_AC_nechi_editable.pptx") out_svg = Path("/mnt/data/modelo_TIC_CC_AC_nechi_editable.svg") prs = Presentation() # Widescreen 16:9 prs.slide_width = Inches(13.333) prs.slide_height = Inches(7.5) slide = prs.slides.add_slide(prs.slide_layouts[6]) # blank W = prs.slide_width H = prs.slide_height def add_title(text, top=0.15, size=42): tb = slide.shapes.add_textbox(Inches(0.5), Inches(top), W-Inches(1.0), Inches(0.6)) tf = tb.text_frame tf.clear() p = tf.paragraphs[0] run = p.add_run() run.text = text p.alignment = PP_ALIGN.CENTER run.font.size = Pt(size) run.font.bold = True run.font.color.rgb = RGBColor(0,0,0) return tb add_title("TIC", top=0.10, size=44) # Helper to add oval with styling def add_oval(x, y, w, h, text, fill=None, line=RGBColor(0,0,0), lw=2.0, dashed=False, font_size=14, bold=False): shp = slide.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x), Inches(y), Inches(w), Inches(h)) shp.line.color.rgb = line shp.line.width = Pt(lw) if dashed: shp.line.dash_style = MSO_LINE_DASH_STYLE.DASH if fill is None: shp.fill.background() else: shp.fill.solid() shp.fill.fore_color.rgb = fill tf = shp.text_frame tf.clear() p = tf.paragraphs[0] p.alignment = PP_ALIGN.CENTER r = p.add_run() r.text = text r.font.size = Pt(font_size) r.font.bold = bold r.font.color.rgb = RGBColor(0,0,0) tf.word_wrap = True return shp def add_roundrect(x, y, w, h, text, fill, line=RGBColor(0,0,0), lw=1.5, font_size=12, bold=False): shp = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)) shp.line.color.rgb = line shp.line.width = Pt(lw) shp.fill.solid() shp.fill.fore_color.rgb = fill tf = shp.text_frame tf.clear() p = tf.paragraphs[0] p.alignment = PP_ALIGN.CENTER r = p.add_run() r.text = text r.font.size = Pt(font_size) r.font.bold = bold r.font.color.rgb = RGBColor(0,0,0) tf.word_wrap = True return shp def add_callout(x, y, w, h, text, fill=RGBColor(255,255,255), font_size=11): shp = slide.shapes.add_shape(MSO_SHAPE.RECTANGULAR_CALLOUT, Inches(x), Inches(y), Inches(w), Inches(h)) shp.line.color.rgb = RGBColor(0,0,0) shp.line.width = Pt(1.5) shp.fill.solid() shp.fill.fore_color.rgb = fill tf = shp.text_frame tf.clear() p = tf.paragraphs[0] p.alignment = PP_ALIGN.LEFT r = p.add_run() r.text = text r.font.size = Pt(font_size) r.font.color.rgb = RGBColor(0,0,0) tf.word_wrap = True return shp # Main diagram geometry cx, cy = 6.6665, 3.85 # center in inches outer_w, outer_h = 11.4, 6.55 outer_x, outer_y = cx - outer_w/2, cy - outer_h/2 # Outer ring (TIC transversal) outer = add_oval(outer_x, outer_y, outer_w, outer_h, "TIC como mediación transversal\n(enseñar y aprender con TIC)", fill=None, lw=4.5, dashed=True, font_size=14, bold=True) # Meta-category label (bottom) meta_tb = slide.shapes.add_textbox(Inches(outer_x+0.8), Inches(outer_y+outer_h-0.7), Inches(outer_w-1.6), Inches(0.6)) tf = meta_tb.text_frame tf.clear() p = tf.paragraphs[0] p.alignment = PP_ALIGN.CENTER r = p.add_run() r.text = "Pedagogía contextualizada y resiliente (sostenibilidad educativa en el medio rural)" r.font.size = Pt(14) r.font.italic = True # Inner ring inner_w, inner_h = 9.2, 5.35 inner_x, inner_y = cx - inner_w/2, cy - inner_h/2 inner = add_oval(inner_x, inner_y, inner_w, inner_h, "", fill=None, lw=2.8) # Middle ring mid_w, mid_h = 7.1, 4.05 mid_x, mid_y = cx - mid_w/2, cy - mid_h/2 mid = add_oval(mid_x, mid_y, mid_w, mid_h, "", fill=None, lw=2.2) # Center circle center_w, center_h = 2.55, 2.55 center_x, center_y = cx - center_w/2, cy - center_h/2 center = add_oval(center_x, center_y, center_w, center_h, "COMPETENCIAS\nCOMUNICATIVAS", fill=RGBColor(255,255,255), lw=2.5, font_size=16, bold=True) # Sub-skills around center skill_r = 1.15 skills = [ ("Oralidad\n(expresión oral)", 90), ("Lectura\n(comprensión/crítica)", 0), ("Escritura\n(coherencia/creatividad)", 270), ("Escucha activa\n(y diálogo)", 180), ] for text, ang in skills: rad = math.radians(ang) x = cx + skill_r*math.cos(rad) - 1.25/2 y = cy - skill_r*math.sin(rad) - 0.75/2 add_roundrect(x, y, 1.25, 0.75, text, fill=RGBColor(245,245,245), lw=1.2, font_size=10) # Aprendizaje colaborativo ring items ac_items = [ ("Roles y\nresponsabilidades", 55), ("Diálogo,\nparticipación\ny respeto", 15), ("Proyectos / ABP\n(huerta, problemas\nlocales)", 325), ("Coevaluación y\nproductos digitales\n(audios, videos,\npresentaciones)", 250), ("Socioemocional:\nempatía,\nresponsabilidad,\nconvivencia", 185), ] ac_r = 2.15 for text, ang in ac_items: rad = math.radians(ang) w, h = 1.55, 1.05 x = cx + ac_r*math.cos(rad) - w/2 y = cy - ac_r*math.sin(rad) - h/2 add_roundrect(x, y, w, h, text, fill=RGBColor(231, 242, 255), lw=1.4, font_size=10, bold=False) # Acción pedagógica / docencia ring items (mid) ped_items = [ ("Docencia y\nacompañamiento\n(orientación,\nretroalimentación)", 95), ("Evaluación\nformativa", 130), ("Formación\nDocente\n(TIC + didáctica)", 160), ("Integración\npedagógica de TIC\n(intención y sentido)", 210), ("Estrategias\nactivas:\nclub de lectura,\ndebates,\nmapas colaborativos", 305), ("Rol docente\nrural\n(visitas,\nconocimiento del\ncontexto)", 25), ] ped_r = 3.15 for text, ang in ped_items: rad = math.radians(ang) w, h = 1.65, 1.05 x = cx + ped_r*math.cos(rad) - w/2 y = cy - ped_r*math.sin(rad) - h/2 add_roundrect(x, y, w, h, text, fill=RGBColor(236, 252, 239), lw=1.4, font_size=10) # Contexto/gestión ring items (inner) ctx_items = [ ("Contexto rural\neducativo\n(identidad cultural,\nentorno familiar)", 105), ("Acceso,\ninfraestructura y\nconectividad\n(dispositivos\ncompartidos)", 160), ("Gestión\ninstitucional y\nalianzas", 230), ("Comunidad y\nfamilias\n(acompañamiento)", 285), ("Uso ético de\nredes y manejo de\ninformación", 350), ] ctx_r = 4.05 for text, ang in ctx_items: rad = math.radians(ang) w, h = 1.75, 1.05 x = cx + ctx_r*math.cos(rad) - w/2 y = cy - ctx_r*math.sin(rad) - h/2 add_roundrect(x, y, w, h, text, fill=RGBColor(255, 244, 229), lw=1.4, font_size=10) # Tool strip near top-right inside ring (editable legend) legend = add_roundrect(9.4, 1.15, 3.3, 1.0, "Herramientas (ejemplos):\nWhatsApp • Google • correo • PPT\nCanva • Wordwall • Genially • Kahoot\nFacebook/Instagram", fill=RGBColor(248,248,248), lw=1.2, font_size=10) # Teacher voices callouts add_callout(0.45, 1.35, 3.2, 1.0, "Voces docentes:\n“Contenidos significativos y contextualizados:\nrelatos, mitos, entrevistas a mayores,\ndramatizaciones.”") add_callout(0.55, 5.65, 4.2, 1.15, "Voces docentes:\n“WhatsApp para retos de lectura y audios;\nproductos sencillos (videos, podcast,\npresentaciones).”") add_callout(9.15, 5.78, 3.95, 1.05, "Voces docentes:\n“Retos: conectividad intermitente,\ndispositivos compartidos, distracciones;\nse requiere capacitación.”") add_callout(9.35, 2.35, 3.6, 1.35, "Voces docentes:\n“Motivación, contexto y acompañamiento.\nAmbientes de confianza para dialogar,\nargumentar y colaborar.”") # Footer foot = slide.shapes.add_textbox(Inches(0.6), Inches(7.12), Inches(12.2), Inches(0.3)) tf = foot.text_frame tf.clear() p = tf.paragraphs[0] p.alignment = PP_ALIGN.LEFT r = p.add_run() r.text = "Editable: selecciona formas → cambia textos/colores; puedes agrupar por anillos (Ctrl+G)." r.font.size = Pt(10) r.font.color.rgb = RGBColor(90,90,90) prs.save(out_pptx) # --- Create an editable SVG counterpart (simple, for Canva/Illustrator/Inkscape) --- # We'll build a minimal SVG with circles + rounded rects + callouts. def svg_escape(s): return (s.replace("&","&").replace("<","<").replace(">",">")) svg_w, svg_h = 1333, 750 # px def inch_to_px(x): return int(round(x*100)) # ~100 px per inch for editing cx_px, cy_px = inch_to_px(cx), inch_to_px(cy) def circle(cx, cy, r, stroke="black", sw=3, fill="none", dash=None): dash_attr = f' stroke-dasharray="{dash}"' if dash else "" return f'<circle cx="{cx}" cy="{cy}" r="{r}" stroke="{stroke}" stroke-width="{sw}" fill="{fill}"{dash_attr}/>' def roundrect(x, y, w, h, rx=16, stroke="black", sw=2, fill="#ffffff"): return f'<rect x="{x}" y="{y}" width="{w}" height="{h}" rx="{rx}" ry="{rx}" stroke="{stroke}" stroke-width="{sw}" fill="{fill}"/>' def text_block(x, y, lines, size=14, weight="normal", anchor="middle"): # y is top; use tspans t = [f'<text x="{x}" y="{y}" font-family="Calibri, Arial, sans-serif" font-size="{size}" font-weight="{weight}" text-anchor="{anchor}">'] dy = 0 for line in lines: t.append(f' <tspan x="{x}" dy="{dy if dy else 0}">{svg_escape(line)}</tspan>') dy = int(size*1.2) t.append('</text>') return "\n".join(t) # Basic SVG content svg_parts = [f'<svg xmlns="http://www.w3.org/2000/svg" width="{svg_w}" height="{svg_h}" viewBox="0 0 {svg_w} {svg_h}">', '<rect width="100%" height="100%" fill="white"/>' ] # Title svg_parts.append(text_block(svg_w//2, 55, ["TIC"], size=48, weight="bold")) # Rings outer_r = int(inch_to_px(outer_w/2)*0.98) inner_r = int(inch_to_px(inner_w/2)*0.98) mid_r = int(inch_to_px(mid_w/2)*0.98) svg_parts.append(circle(cx_px, cy_px, outer_r, sw=6, dash="10,8")) svg_parts.append(text_block(cx_px, 125, ["TIC como mediación transversal", "(enseñar y aprender con TIC)"], size=16, weight="bold")) svg_parts.append(circle(cx_px, cy_px, inner_r, sw=4)) svg_parts.append(circle(cx_px, cy_px, mid_r, sw=3)) # Center center_r = int(inch_to_px(center_w/2)) svg_parts.append(circle(cx_px, cy_px, center_r, sw=3, fill="#ffffff")) svg_parts.append(text_block(cx_px, cy_px-10, ["COMPETENCIAS", "COMUNICATIVAS"], size=18, weight="bold")) # Footer meta svg_parts.append(text_block(cx_px, svg_h-35, ["Pedagogía contextualizada y resiliente (sostenibilidad educativa en el medio rural)"], size=14, weight="normal")) # Save svg_parts.append("</svg>") out_svg.write_text("\n".join(svg_parts), encoding="utf-8") (str(out_pptx), str(out_svg)) ('/mnt/data/modelo_TIC_CC_AC_nechi_editable.pptx', '/mnt/data/modelo_TIC_CC_AC_nechi_editable.svg')
pythonimport math from pathlib import Path out_svg = Path("/mnt/data/modelo_TIC_CC_AC_nechi_editable.svg") svg_w, svg_h = 1333, 750 px_per_in = 100 def inch_to_px(x): return x*px_per_in cx_in, cy_in = 6.6665, 3.85 cx_px, cy_px = inch_to_px(cx_in), inch_to_px(cy_in) def svg_escape(s): return (s.replace("&","&").replace("<","<").replace(">",">")) def circle(cx, cy, r, stroke="black", sw=3, fill="none", dash=None): dash_attr = f' stroke-dasharray="{dash}"' if dash else "" return f'<circle cx="{cx:.1f}" cy="{cy:.1f}" r="{r:.1f}" stroke="{stroke}" stroke-width="{sw}" fill="{fill}"{dash_attr}/>' def roundrect(x, y, w, h, rx=14, stroke="black", sw=2, fill="#ffffff"): return f'<rect x="{x:.1f}" y="{y:.1f}" width="{w:.1f}" height="{h:.1f}" rx="{rx}" ry="{rx}" stroke="{stroke}" stroke-width="{sw}" fill="{fill}"/>' def callout(x, y, w, h, stroke="black", sw=2, fill="#ffffff"): # simple callout: rounded rect + small triangle pointer tri = f'<polygon points="{x+w*0.25:.1f},{y+h:.1f} {x+w*0.30:.1f},{y+h:.1f} {x+w*0.275:.1f},{y+h+18:.1f}" stroke="{stroke}" stroke-width="{sw}" fill="{fill}"/>' return roundrect(x,y,w,h,rx=16,stroke=stroke,sw=sw,fill=fill) + "\n" + tri def text_block(x, y, lines, size=14, weight="normal", anchor="middle", leading=1.2): # y is top line baseline; we use tspans with dy t = [f'<text x="{x:.1f}" y="{y:.1f}" font-family="Calibri, Arial, sans-serif" font-size="{size}" font-weight="{weight}" text-anchor="{anchor}">'] dy = 0 for i,line in enumerate(lines): if i == 0: t.append(f' <tspan x="{x:.1f}" dy="0">{svg_escape(line)}</tspan>') else: t.append(f' <tspan x="{x:.1f}" dy="{size*leading:.1f}">{svg_escape(line)}</tspan>') t.append('</text>') return "\n".join(t) def multiline_to_lines(s): return s.split("\n") # Rings sizes from ppt outer_w, outer_h = 11.4, 6.55 inner_w, inner_h = 9.2, 5.35 mid_w, mid_h = 7.1, 4.05 center_w, center_h = 2.55, 2.55 outer_r = inch_to_px(outer_w/2) inner_r = inch_to_px(inner_w/2) mid_r = inch_to_px(mid_w/2) center_r = inch_to_px(center_w/2) # Layout helpers def place_roundrect_polar(radius_in, ang_deg, w_in, h_in): rad = math.radians(ang_deg) x_in = cx_in + radius_in*math.cos(rad) - w_in/2 y_in = cy_in - radius_in*math.sin(rad) - h_in/2 return inch_to_px(x_in), inch_to_px(y_in), inch_to_px(w_in), inch_to_px(h_in) # Build SVG parts = [f'<svg xmlns="http://www.w3.org/2000/svg" width="{svg_w}" height="{svg_h}" viewBox="0 0 {svg_w} {svg_h}">', '<rect width="100%" height="100%" fill="white"/>'] # Title parts.append(text_block(svg_w/2, 55, ["TIC"], size=48, weight="bold")) # Outer ring dashed parts.append(circle(cx_px, cy_px, outer_r, sw=6, dash="10,8")) parts.append(text_block(cx_px, 125, ["TIC como mediación transversal", "(enseñar y aprender con TIC)"], size=16, weight="bold")) # Meta label bottom parts.append(text_block(cx_px, svg_h-25, ["Pedagogía contextualizada y resiliente (sostenibilidad educativa en el medio rural)"], size=14, weight="normal")) # Inner rings parts.append(circle(cx_px, cy_px, inner_r, sw=4)) parts.append(circle(cx_px, cy_px, mid_r, sw=3)) # Center parts.append(circle(cx_px, cy_px, center_r, sw=3, fill="#ffffff")) parts.append(text_block(cx_px, cy_px-10, ["COMPETENCIAS", "COMUNICATIVAS"], size=18, weight="bold")) # Subskills skills = [ ("Oralidad\n(expresión oral)", 90), ("Lectura\n(comprensión/crítica)", 0), ("Escritura\n(coherencia/creatividad)", 270), ("Escucha activa\n(y diálogo)", 180), ] for text, ang in skills: x,y,w,h = place_roundrect_polar(1.15, ang, 1.25, 0.75) parts.append(roundrect(x,y,w,h,fill="#f5f5f5",sw=2)) lines = multiline_to_lines(text) parts.append(text_block(x+w/2, y+24, lines, size=12, weight="normal")) # Collaborative ring items ac_items = [ ("Roles y\nresponsabilidades", 55), ("Diálogo,\nparticipación\ny respeto", 15), ("Proyectos / ABP\n(huerta,\nproblemas locales)", 325), ("Coevaluación y\nproductos digitales\n(audios, videos,\npresentaciones)", 250), ("Socioemocional:\nempatía,\nresponsabilidad,\nconvivencia", 185), ] for text, ang in ac_items: x,y,w,h = place_roundrect_polar(2.15, ang, 1.55, 1.05) parts.append(roundrect(x,y,w,h,fill="#e7f2ff",sw=2)) parts.append(text_block(x+w/2, y+22, multiline_to_lines(text), size=12)) # Pedagogical ring items ped_items = [ ("Docencia y\nacompañamiento\n(orientación,\nretroalimentación)", 95), ("Evaluación\nformativa", 130), ("Formación\nDocente\n(TIC + didáctica)", 160), ("Integración\npedagógica de TIC\n(intención y sentido)", 210), ("Estrategias\nactivas:\nclub de lectura,\ndebates,\nmapas colaborativos", 305), ("Rol docente\nrural\n(visitas,\nconocimiento del\ncontexto)", 25), ] for text, ang in ped_items: x,y,w,h = place_roundrect_polar(3.15, ang, 1.65, 1.05) parts.append(roundrect(x,y,w,h,fill="#ecfcef",sw=2)) parts.append(text_block(x+w/2, y+22, multiline_to_lines(text), size=12)) # Context ring items ctx_items = [ ("Contexto rural\neducativo\n(identidad cultural,\nentorno familiar)", 105), ("Acceso,\ninfraestructura y\nconectividad\n(dispositivos\ncompartidos)", 160), ("Gestión\ninstitucional y\nalianzas", 230), ("Comunidad y\nfamilias\n(acompañamiento)", 285), ("Uso ético de\nredes y manejo de\ninformación", 350), ] for text, ang in ctx_items: x,y,w,h = place_roundrect_polar(4.05, ang, 1.75, 1.05) parts.append(roundrect(x,y,w,h,fill="#fff4e5",sw=2)) parts.append(text_block(x+w/2, y+22, multiline_to_lines(text), size=12)) # Legend lx,ly,lw,lh = inch_to_px(9.4), inch_to_px(1.15), inch_to_px(3.3), inch_to_px(1.0) parts.append(roundrect(lx,ly,lw,lh,fill="#f8f8f8",sw=2)) parts.append(text_block(lx+lw/2, ly+24, ["Herramientas (ejemplos):", "WhatsApp • Google • correo • PPT", "Canva • Wordwall • Genially • Kahoot", "Facebook/Instagram"], size=12)) # Callouts c1 = ("Voces docentes:\n“Contenidos significativos y contextualizados:\nrelatos, mitos, entrevistas a mayores,\ndramatizaciones.”") x,y,w,h = inch_to_px(0.45), inch_to_px(1.35), inch_to_px(3.2), inch_to_px(1.0) parts.append(callout(x,y,w,h,fill="#ffffff")) parts.append(text_block(x+18, y+24, multiline_to_lines(c1), size=12, anchor="start")) c2 = ("Voces docentes:\n“WhatsApp para retos de lectura y audios;\nproductos sencillos (videos, podcast,\npresentaciones).”") x,y,w,h = inch_to_px(0.55), inch_to_px(5.65), inch_to_px(4.2), inch_to_px(1.15) parts.append(callout(x,y,w,h,fill="#ffffff")) parts.append(text_block(x+18, y+24, multiline_to_lines(c2), size=12, anchor="start")) c3 = ("Voces docentes:\n“Retos: conectividad intermitente,\ndispositivos compartidos, distracciones;\nse requiere capacitación.”") x,y,w,h = inch_to_px(9.15), inch_to_px(5.78), inch_to_px(3.95), inch_to_px(1.05) parts.append(callout(x,y,w,h,fill="#ffffff")) parts.append(text_block(x+18, y+24, multiline_to_lines(c3), size=12, anchor="start")) c4 = ("Voces docentes:\n“Motivación, contexto y acompañamiento.\nAmbientes de confianza para dialogar,\nargumentar y colaborar.”") x,y,w,h = inch_to_px(9.35), inch_to_px(2.35), inch_to_px(3.6), inch_to_px(1.35) parts.append(callout(x,y,w,h,fill="#ffffff")) parts.append(text_block(x+18, y+24, multiline_to_lines(c4), size=12, anchor="start")) # Footer helper parts.append(text_block(inch_to_px(0.6), inch_to_px(7.28), ["Editable: mueve/edita textos y formas; en Canva importa el SVG."], size=11, anchor="start")) parts.append("</svg>") out_svg.write_text("\n".join(parts), encoding="utf-8") str(out_svg) '/mnt/data/modelo_TIC_CC_AC_nechi_editable.svg'
Perfecto. Con base en tu tesis y en las voces docentes (contenidos contextualizados, herramientas usadas, dinámicas colaborativas, retos de conectividad y necesidad de formación), te armé un modelo radial mejorado, descargable y 100% editable.
PPTX editable (formas + textos editables; lo puedes abrir en PowerPoint, Google Slides o importarlo a Canva):
Descargar modelo_TIC_CC_AC_nechi_editable.pptx
SVG editable (vector; ideal para Canva / Illustrator / Inkscape):
Descargar modelo_TIC_CC_AC_nechi_editable.svg
Si me dices qué categorías exactas quieres mantener tal cual (por ejemplo: “Competencias socioemocionales”, “Gestión institucional y alianzas”, “Contexto rural educativo”, etc. como en tu boceto), te lo ajusto en una versión 2 para que quede idéntico a tus categorías finales, pero con el estilo mejorado.