1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- XML file produced from file: drgenius.tex
using Hyperlatex v 2.6 (c) Otfried Cheong
on Emacs 21.3.1, Sun Aug 29 11:51:02 2004 -->
<head>
<title>Manual de Usuario de Dr. Geo -- Espiral de Baravelle</title>
<style type="text/css">
.maketitle { align : center }
div.abstract { margin-left: 20%; margin-right: 10%; }
h3.abstract { align : center }
div.verse, div.quote, div.quotation {
margin-left : 10%;
margin-right : 10%;
}
</style>
</head>
<body>
<table width="100%" cellpadding=0 cellspacing=2><tr>
<td bgcolor="#99ccff"><a href="drgenius_92.html"><img border="0" alt="Cadena de Papus" src="../es/figures/next.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_87.html"><img border="0" alt="Aplicaciones Didácticas" src="../es/figures/up.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_90.html"><img border="0" alt="Números irracionales" src="../es/figures/previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>Espiral de Baravelle</b></td></tr></table>
<h2>Espiral de Baravelle</h2>
<p>
<p>Como vimos anteriormente, con la ayuda de una FSD es posible construir de manera intuitiva y simple figuras que permiten visualizar situaciones que en un programa son ya sea iterativas o recursivas.
<p>Profundicemos un poco más en este aspecto. Modificando el código Scheme utilizado para la construcción de los números irracionales, podemos obtener una figura famosa en la literatura matemática: la espiral de Baravelle.
<p>El código Scheme que define la espiral es el siguiente :
<div class="quote"><p>
<pre>
(new-figure "Baravelle")
(define (triangle p1 p2 p3 n)
(let* ((s1 (Segment "" extremities p1 p2))
(s2 (Segment "" extremities p2 p3))
(s3 (Segment "" extremities p3 p1))
(m (Point "" middle-2pts p1 p3))
(r (Segment "" extremities m p3))
(pe (Line "" orthogonal p3 s3))
(ci (Circle "" center-segment p3 r ))
(p4 (Point "" intersection2 pe ci)))
(send pe masked)
(send ci masked)
(send p4 masked)
(send m masked)
(if (> n 0)
(triangle m p3 p4 (- n 1)))))
(lets Point "A" free 0 5)
(lets Point "B" free 5 5)
(lets Point "C" free 5 0)
(triangle A B C 9)
(lets Point "D" free 0 -5)
(lets Point "E" free -5 -5)
(lets Point "F" free -5 0)
(triangle D E F 9)
</pre>
</p></div>
<p> <p> <div align="center">La espiral de Baravelle obtenida al evaluar el código Scheme</div>
<div align="center"><p>
<img alt="" src="./../es/figures/dafig10.png">
</p></div>
Con base en la figura y en el código Scheme correspondiente, vemos claramente la naturaleza iterativa del mecanismo de construcción de la figura. Un problema interesante, que dejamos al lector, consiste en establecer cuándo las dos ramas de la espiral convergen.
<p>Una pequeña variación al codigo precedente :
<div class="quote"><p>
<pre>
(new-figure "Spirale")
(define (square p1 p2 p3 p4 n)
(let* ((s1 (Segment "" extremities p1 p2))
(s2 (Segment "" extremities p2 p3))
(s3 (Segment "" extremities p3 p4))
(s4 (Segment "" extremities p4 p1))
(A (Point "" on-curve s1 1/10))
(B (Point "" on-curve s2 1/10))
(C (Point "" on-curve s3 1/10))
(D (Point "" on-curve s4 1/10)))
(send A masked)
(send B masked)
(send C masked)
(send D masked)
(if (> n 0)
(square A B C D (- n 1)))))
(lets Point "M" free 5 5)
(lets Point "N" free -5 5)
(lets Point "O" free -5 -5)
(lets Point "P" free 5 -5)
(square M N O P 30)
</pre>
</p></div>
<p>Obtenemos, pues, una espiral simplificada.
<p> <p> <div align="center">Espiral simplificada</div>
<div align="center"><p>
<img alt="" src="./../es/figures/dafig11.png">
</p></div>
El lector está invitado a divertirse creando nuevas variaciones.
<hr /><address><font size="-1">¿Comentarios?/¿Sugerencias? <br />O si usted es voluntario para escribir parte del manual.<br />-> Contacte a Hilaire Fernandes en OFSET (hilaire@ofset.org) o únase
a la lista de correo de DR. GEO.</address><br />
<table width="100%" cellpadding=0 cellspacing=2><tr>
<td bgcolor="#99ccff"><a href="drgenius_92.html"><img border="0" alt="Cadena de Papus" src="../es/figures/next.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_87.html"><img border="0" alt="Aplicaciones Didácticas" src="../es/figures/up.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_90.html"><img border="0" alt="Números irracionales" src="../es/figures/previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>Espiral de Baravelle</b></td></tr></table></body></html>
|