File: drgenius_91.html

package info (click to toggle)
drgeo-doc 1.5-7.1
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 6,424 kB
  • sloc: sh: 335; makefile: 220
file content (111 lines) | stat: -rw-r--r-- 5,036 bytes parent folder | download | duplicates (5)
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&aacute;cticas" src="../es/figures/up.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_90.html"><img border="0" alt="N&uacute;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&aacute;s en este aspecto.  Modificando el c&oacute;digo Scheme utilizado para la construcci&oacute;n de los n&uacute;meros irracionales,  podemos obtener una figura famosa en la literatura matem&aacute;tica:  la espiral de Baravelle.
<p>El c&oacute;digo Scheme que define la espiral es el siguiente&nbsp;:
<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 (&gt; 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&oacute;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&oacute;digo Scheme correspondiente, vemos claramente la naturaleza iterativa del mecanismo de construcci&oacute;n de la figura.  Un problema interesante, que dejamos al lector, consiste en establecer cu&aacute;ndo las dos ramas de la espiral convergen.
<p>Una peque&ntilde;a variaci&oacute;n al codigo precedente&nbsp;:
<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 (&gt; 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&aacute; invitado a divertirse creando nuevas variaciones.

<hr /><address><font size="-1">&iquest;Comentarios?/&iquest;Sugerencias? <br />O si usted es voluntario para escribir parte del manual.<br />-&gt; Contacte a Hilaire Fernandes en OFSET (hilaire@ofset.org) o &uacute;nase
  a la lista de correo de DR.&nbsp;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&aacute;cticas" src="../es/figures/up.png"></a></td><td bgcolor="#99ccff"><a href="drgenius_90.html"><img border="0" alt="N&uacute;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>