<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Форум программистов и сисадминов Киберфорум - Блоги - Arcor</title>
		<link>https://www.cyberforum.ru/blogs/52427/</link>
		<description>КиберФорум - форум программистов, системных администраторов, администраторов баз данных, компьютерный форум, форум по электронике и бытовой технике, обсуждение софта. Бесплатная помощь в решении задач по программированию и наукам, решение проблем с компьютером, операционными системам</description>
		<language>ru</language>
		<lastBuildDate>Sat, 05 Sep 2026 19:48:11 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://www.cyberforum.ru//cyberstatic.net/images/misc/rss.jpg</url>
			<title>Форум программистов и сисадминов Киберфорум - Блоги - Arcor</title>
			<link>https://www.cyberforum.ru/blogs/52427/</link>
		</image>
		<item>
			<title>График Спирали Галилея.</title>
			<link>https://www.cyberforum.ru/blogs/52427/388.html</link>
			<pubDate>Mon, 07 May 2012 12:45:05 GMT</pubDate>
			<description><![CDATA[Вот пример для a=0.8 l=1.0 f=[0..2pi] с координатной сеткой о обеими ветвями. 
Можете лишнее убрать...]]></description>
			<content:encoded><![CDATA[<div>Вот пример для a=0.8 l=1.0 f=[0..2pi] с координатной сеткой о обеими ветвями.<br />
Можете лишнее убрать и задать другие параметры. Рисовал придерживаясь этого<br />
<a rel="nofollow noopener noreferrer" href="http://www.pm298.ru/spec10.php" target="_blank" title="http://www.pm298.ru/spec10.php">http://www.pm298.ru/spec10.php</a><br />
<a rel="nofollow noopener noreferrer" href="http://geometrie.ru/index.php?option=com_content&amp;view=article&amp;id=126:2009-06-15-01-05-25&amp;catid=10:differenc&amp;Itemid=19" target="_blank" title="http://geometrie.ru/index.php?option=com_content&amp;view=article&amp;id=126:2009-06-15-01-05-25&amp;catid=10:differenc&amp;Itemid=19">http://geometrie.ru/index.php?... &amp;Itemid=19</a><br />
и вообще почитайте еще что-то.<br />

			   <div class="spoiler-wrap">
				   <div class="spoiler-head folded clickable">код</div>
				   <div class="spoiler-body">
					   <div class="codeblock"><table class="delphi"><thead><tr><td colspan="2" id="925493573"  class="head">Delphi</td></tr></thead><tbody><tr class="li1"><td><div id="925493573" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">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
</pre></td><td class="de1"><pre class="de1"><span class="kw1">unit</span> Unit1<span class="sy1">;</span>
&nbsp;
<span class="kw1">interface</span>
&nbsp;
<span class="kw1">uses</span>
&nbsp; Windows<span class="sy1">,</span> Messages<span class="sy1">,</span> SysUtils<span class="sy1">,</span> Variants<span class="sy1">,</span> Classes<span class="sy1">,</span> Graphics<span class="sy1">,</span> Controls<span class="sy1">,</span> Forms<span class="sy1">,</span>
&nbsp; Dialogs<span class="sy1">,</span> StdCtrls<span class="sy1">,</span> ExtCtrls<span class="sy1">;</span>
&nbsp;
<span class="kw1">type</span>
&nbsp; TForm1 <span class="sy3">=</span> <span class="kw1">class</span><span class="br0">&#40;</span>TForm<span class="br0">&#41;</span>
&nbsp; &nbsp; Button1<span class="sy1">:</span> TButton<span class="sy1">;</span>
&nbsp; &nbsp; Image1<span class="sy1">:</span> TImage<span class="sy1">;</span>
&nbsp; &nbsp; <span class="kw1">procedure</span> Button1Click<span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; <span class="kw1">private</span>
&nbsp; &nbsp; <span class="coMULTI">{ Private declarations }</span>
&nbsp; <span class="kw1">public</span>
&nbsp; &nbsp; <span class="coMULTI">{ Public declarations }</span>
&nbsp; <span class="kw1">end</span><span class="sy1">;</span>
&nbsp;
<span class="kw1">var</span>
&nbsp; Form1<span class="sy1">:</span> TForm1<span class="sy1">;</span>
&nbsp;
<span class="kw1">implementation</span>
&nbsp;
<span class="co2">{$R *.dfm}</span>
<span class="kw1">function</span> P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="sy1">:</span><span class="kw4">real</span><span class="br0">&#41;</span><span class="sy1">:</span><span class="kw4">real</span><span class="sy1">;</span>
<span class="kw1">begin</span>
P<span class="sy1">:</span><span class="sy3">=</span>a<span class="sy3">*</span>f<span class="sy3">*</span>f<span class="sy3">-</span>l<span class="sy1">;</span>
<span class="kw1">end</span><span class="sy1">;</span>
<span class="kw1">procedure</span> TForm1<span class="sy1">.</span><span class="me1">Button1Click</span><span class="br0">&#40;</span>Sender<span class="sy1">:</span> <span class="kw4">TObject</span><span class="br0">&#41;</span><span class="sy1">;</span>
<span class="kw1">var</span> x0<span class="sy1">,</span>y0<span class="sy1">,</span>i<span class="sy1">,</span>x1<span class="sy1">,</span>y1<span class="sy1">:</span><span class="kw4">integer</span><span class="sy1">;</span>
&nbsp; &nbsp; a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="sy1">,</span>max<span class="sy1">,</span>x<span class="sy1">,</span>m<span class="sy1">:</span><span class="kw4">real</span><span class="sy1">;</span>
&nbsp; &nbsp; s<span class="sy1">:</span><span class="kw4">string</span><span class="sy1">;</span>
<span class="kw1">begin</span>
a<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">0.8</span><span class="sy1">;</span>
f<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">0</span><span class="sy1">;</span>
l<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">1</span><span class="sy1">;</span>
max<span class="sy1">:</span><span class="sy3">=</span><span class="kw3">abs</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span><span class="coMULTI">{найдем максимум функции для масштаба}</span>
<span class="kw1">while</span> f&lt;<span class="sy3">=</span><span class="nu0">2</span><span class="sy3">*</span>pi <span class="kw1">do</span>
&nbsp;<span class="kw1">begin</span>
&nbsp; f<span class="sy1">:</span><span class="sy3">=</span>f<span class="sy3">+</span><span class="nu0">0.1</span><span class="sy1">;</span>
&nbsp; <span class="kw1">if</span> <span class="kw3">abs</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="br0">&#41;</span>&gt;max <span class="kw1">then</span> max<span class="sy1">:</span><span class="sy3">=</span><span class="kw3">abs</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp;<span class="kw1">end</span><span class="sy1">;</span>
<span class="co1">//центр </span>
x0<span class="sy1">:</span><span class="sy3">=</span>Image1<span class="sy1">.</span><span class="me1">Width</span> <span class="kw1">div</span> <span class="nu0">2</span><span class="sy1">;</span>
y0<span class="sy1">:</span><span class="sy3">=</span>Image1<span class="sy1">.</span><span class="me1">Height</span> <span class="kw1">div</span> <span class="nu0">2</span><span class="sy1">;</span>
m<span class="sy1">:</span><span class="sy3">=</span><span class="br0">&#40;</span>y0<span class="sy3">-</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="sy3">/</span><span class="br0">&#40;</span>max<span class="br0">&#41;</span><span class="sy1">;</span><span class="coMULTI">{масштаб для перевода в экранные координаты}</span>
<span class="kw1">with</span> Image1<span class="sy1">.</span><span class="me1">Canvas</span> <span class="kw1">do</span>
&nbsp;<span class="kw1">begin</span>
&nbsp; brush<span class="sy1">.</span><span class="me1">Color</span><span class="sy1">:</span><span class="sy3">=</span>clWhite<span class="sy1">;</span>
&nbsp; rectangle<span class="br0">&#40;</span><span class="nu0">0</span><span class="sy1">,</span><span class="nu0">0</span><span class="sy1">,</span>width<span class="sy1">,</span>height<span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp;<span class="coMULTI">{КООРДИНАТНАЯ &nbsp;СЕТКА}</span>
&nbsp; pen<span class="sy1">.</span><span class="me1">Color</span><span class="sy1">:</span><span class="sy3">=</span>clBlack<span class="sy1">;</span>
&nbsp; font<span class="sy1">.</span><span class="me1">Color</span><span class="sy1">:</span><span class="sy3">=</span>clBlack<span class="sy1">;</span>
&nbsp; brush<span class="sy1">.</span><span class="me1">Style</span><span class="sy1">:</span><span class="sy3">=</span>bsClear<span class="sy1">;</span>
&nbsp; <span class="kw1">for</span> i<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">1</span> <span class="kw1">to</span> <span class="kw3">trunc</span><span class="br0">&#40;</span>max<span class="sy3">/</span><span class="nu0">10</span><span class="br0">&#41;</span> <span class="kw1">do</span>
&nbsp; &nbsp;<span class="kw1">begin</span>
&nbsp; &nbsp;<span class="coMULTI">{рисуем окружности через 10}</span>
&nbsp; &nbsp; ellipse<span class="br0">&#40;</span>x0<span class="sy3">-</span><span class="kw3">round</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="sy1">,</span>y0<span class="sy3">-</span><span class="kw3">round</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="sy1">,</span>x0<span class="sy3">+</span><span class="kw3">round</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="sy1">,</span>y0<span class="sy3">+</span><span class="kw3">round</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp;<span class="coMULTI">{пишем шкалу}</span>
&nbsp; &nbsp; textout<span class="br0">&#40;</span>x0<span class="sy3">+</span><span class="kw3">round</span><span class="br0">&#40;</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy3">+</span><span class="nu0">3</span><span class="sy1">,</span>y0<span class="sy3">+</span><span class="nu0">10</span><span class="sy1">,</span><span class="kw3">IntToStr</span><span class="br0">&#40;</span>i<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp; textout<span class="br0">&#40;</span>x0<span class="sy3">-</span><span class="kw3">round</span><span class="br0">&#40;</span><span class="br0">&#40;</span>i<span class="sy3">*</span>m<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy3">+</span><span class="nu0">3</span><span class="sy1">,</span>y0<span class="sy3">+</span><span class="nu0">10</span><span class="sy1">,</span><span class="kw3">IntToStr</span><span class="br0">&#40;</span>i<span class="sy3">*</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp;<span class="kw1">end</span><span class="sy1">;</span>
&nbsp; x<span class="sy1">:</span><span class="sy3">=</span>pi<span class="sy3">/</span><span class="nu0">6</span><span class="sy1">;</span><span class="coMULTI">{шаг по кругу=30 град}</span>
&nbsp; <span class="kw1">for</span> i<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">1</span> <span class="kw1">to</span> <span class="nu0">11</span> <span class="kw1">do</span><span class="coMULTI">{делим на 12 частей}</span>
&nbsp; &nbsp;<span class="kw1">begin</span>
&nbsp; &nbsp;<span class="coMULTI">{рисуем радиусы пунктиром}</span>
&nbsp; &nbsp; pen<span class="sy1">.</span><span class="me1">Style</span><span class="sy1">:</span><span class="sy3">=</span>psDash<span class="sy1">;</span>
&nbsp; &nbsp; x1<span class="sy1">:</span><span class="sy3">=</span>x0<span class="sy3">+</span><span class="kw3">round</span><span class="br0">&#40;</span><span class="br0">&#40;</span>y0<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">cos</span><span class="br0">&#40;</span>i<span class="sy3">*</span>x<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp; y1<span class="sy1">:</span><span class="sy3">=</span>y0<span class="sy3">-</span><span class="kw3">round</span><span class="br0">&#40;</span><span class="br0">&#40;</span>y0<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">sin</span><span class="br0">&#40;</span>i<span class="sy3">*</span>x<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp; moveto<span class="br0">&#40;</span>x0<span class="sy1">,</span>y0<span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp; lineto<span class="br0">&#40;</span>x1<span class="sy1">,</span>y1<span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; &nbsp;<span class="coMULTI">{пишем подписи}</span>
&nbsp; &nbsp; <span class="kw1">if</span> y1&gt;<span class="sy3">=</span>y0 <span class="kw1">then</span> textout<span class="br0">&#40;</span>x1<span class="sy3">+</span><span class="nu0">10</span><span class="sy1">,</span>y1<span class="sy3">-</span><span class="nu0">10</span><span class="sy1">,</span><span class="kw3">IntToStr</span><span class="br0">&#40;</span>i<span class="sy3">*</span><span class="nu0">30</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">else</span> textout<span class="br0">&#40;</span>x1<span class="sy1">,</span>y1<span class="sy3">+</span><span class="nu0">10</span><span class="sy1">,</span><span class="kw3">IntToStr</span><span class="br0">&#40;</span>i<span class="sy3">*</span><span class="nu0">30</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp; &nbsp;<span class="kw1">end</span><span class="sy1">;</span>
&nbsp; textout<span class="br0">&#40;</span>x0<span class="sy3">+</span>y0<span class="sy3">-</span><span class="nu0">20</span><span class="sy1">,</span>y0<span class="sy3">-</span><span class="nu0">20</span><span class="sy1">,</span><span class="st0">'0'</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp;<span class="coMULTI">{рисуем осевые линии сплошной линией}</span>
&nbsp; pen<span class="sy1">.</span><span class="me1">Style</span><span class="sy1">:</span><span class="sy3">=</span>psSolid<span class="sy1">;</span>
&nbsp; moveto<span class="br0">&#40;</span><span class="nu0">10</span><span class="sy1">,</span>y0<span class="br0">&#41;</span><span class="sy1">;</span>lineto<span class="br0">&#40;</span>width<span class="sy3">-</span><span class="nu0">10</span><span class="sy1">,</span>y0<span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; moveto<span class="br0">&#40;</span>x0<span class="sy1">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy1">;</span>lineto<span class="br0">&#40;</span>x0<span class="sy1">,</span>height<span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; textout<span class="br0">&#40;</span>x0<span class="sy3">+</span><span class="nu0">5</span><span class="sy1">,</span>y0<span class="sy3">+</span><span class="nu0">10</span><span class="sy1">,</span><span class="st0">'0'</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp; font<span class="sy1">.</span><span class="me1">Style</span><span class="sy1">:</span><span class="sy3">=</span><span class="br0">&#91;</span>fsBold<span class="br0">&#93;</span><span class="sy1">;</span>
&nbsp; textout<span class="br0">&#40;</span>Image1<span class="sy1">.</span><span class="me1">width</span><span class="sy3">-</span><span class="nu0">20</span><span class="sy1">,</span>y0<span class="sy3">-</span><span class="nu0">20</span><span class="sy1">,</span><span class="st0">'P'</span><span class="br0">&#41;</span><span class="sy1">;</span>
&nbsp;<span class="coMULTI">{ГРАФИК}</span>
&nbsp; f<span class="sy1">:</span><span class="sy3">=</span><span class="nu0">0</span><span class="sy1">;</span>
&nbsp; <span class="kw1">while</span> f&lt;<span class="sy3">=</span><span class="nu0">2</span><span class="sy3">*</span>pi <span class="kw1">do</span> <span class="co1">//рисуем обе ветки, можно вторую убрать</span>
&nbsp; &nbsp;<span class="kw1">begin</span>
&nbsp; &nbsp; pixels<span class="br0">&#91;</span>x0<span class="sy3">+</span><span class="kw3">trunc</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">cos</span><span class="br0">&#40;</span>f<span class="br0">&#41;</span><span class="sy3">*</span>m<span class="br0">&#41;</span><span class="sy1">,</span>y0<span class="sy3">-</span><span class="kw3">trunc</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">sin</span><span class="br0">&#40;</span>f<span class="br0">&#41;</span><span class="sy3">*</span>m<span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy1">:</span><span class="sy3">=</span>clRed<span class="sy1">;</span>
&nbsp; &nbsp; pixels<span class="br0">&#91;</span>x0<span class="sy3">+</span><span class="kw3">trunc</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">cos</span><span class="br0">&#40;</span>f<span class="br0">&#41;</span><span class="sy3">*</span>m<span class="br0">&#41;</span><span class="sy1">,</span>y0<span class="sy3">+</span><span class="kw3">trunc</span><span class="br0">&#40;</span>P<span class="br0">&#40;</span>a<span class="sy1">,</span>f<span class="sy1">,</span>l<span class="br0">&#41;</span><span class="sy3">*</span><span class="kw3">sin</span><span class="br0">&#40;</span>f<span class="br0">&#41;</span><span class="sy3">*</span>m<span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy1">:</span><span class="sy3">=</span>clBlue<span class="sy1">;</span>
&nbsp; &nbsp; f<span class="sy1">:</span><span class="sy3">=</span>f<span class="sy3">+</span><span class="nu0">0.001</span><span class="sy1">;</span>
&nbsp; &nbsp;<span class="kw1">end</span><span class="sy1">;</span>
&nbsp;<span class="kw1">end</span><span class="sy1">;</span>
<span class="kw1">end</span><span class="sy1">;</span>
&nbsp;
&nbsp;
<span class="kw1">end</span><span class="sy1">.</span></pre></td></tr></table></div></td></tr></tbody></table></div>
				   </div>
			   </div></div>

]]></content:encoded>
			<dc:creator>Arcor</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/52427/388.html</guid>
		</item>
	</channel>
</rss>
