<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Рисование восходящей и нисходящей спирали]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18465&amp;type=atom" />
	<updated>2025-07-16T18:38:10Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18465</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Рисование восходящей и нисходящей спирали]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=162553#p162553" />
			<content type="html"><![CDATA[<p>Красота. Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[RacalCucumber]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41299</uri>
			</author>
			<updated>2025-07-16T18:38:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=162553#p162553</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Рисование восходящей и нисходящей спирали]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=162552#p162552" />
			<content type="html"><![CDATA[<p>Попробуйте так:<br /></p><div class="codebox"><pre><code>Loop, % s * a ;расширение
{
	tmp := A_Index
	retx := cx + r * Cos(tmp * 2 * $Pi / s) * tmp / s
	retу := cy + r * Sin(tmp * 2 * $Pi / s) * tmp / s
	MouseMove, retx, retу, 3
}
Loop, % s * a  ;сужение
{
	retx := cx + r * Sin(--tmp * 2 * $Pi / s + $Pi / 2) * tmp / s
	retу := cy + r * Cos(  tmp * 2 * $Pi / s + $Pi / 2) * tmp / s
	MouseMove, retx, retу, 3
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2025-07-16T16:36:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=162552#p162552</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Рисование восходящей и нисходящей спирали]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=162551#p162551" />
			<content type="html"><![CDATA[<p>Добрый день. Стоит задача шевелить мышкой по спирали. Сначала расширяющуюся а затем сужающуюся, не меняя направления. </p><p>Найденное решение расширяющейся спирали: <br /><a href="https://www.autohotkey.com/boards/viewtopic.php?t=58006">https://www.autohotkey.com/boards/viewtopic.php?t=58006</a> решает первую половину проблемы. Если поменять A_Index на обратный отсчет при цикле - получается инвертировать движение мышки. Если поменять местами функции косинуса и синуса - то спираль сужается, но ее начальная точка отсчета сдвигается на 90 градусов относительно точки окончания расширяющейся спирали.&nbsp; </p><div class="codebox"><pre><code>#NoEnv 
~1::
cx := 100
cy := 100
r := 20
s := 16
a := 4
global $Pi := 4 * ATan(1)
Loop, % s * a ;расширение
{
	retx := cx + r * Cos(tmp * 2 * $Pi / s) * tmp / s
	retу := cy + r * Sin(tmp * 2 * $Pi / s) * tmp / s
	MouseMove, retx, retу, 3
	tmp := A_Index
}
Loop, % s * a  ;сужение
{
	retx := cx + r * Sin(tmp * 2 * $Pi / s) * tmp / s
	retу := cy + r * Cos(tmp * 2 * $Pi / s) * tmp / s
	MouseMove, retx, retу, 3
	EnvAdd tmp, -1
}
return</code></pre></div><p>А как сделать тоже, но без искажения спирали на переходе от фазы расширения к фазе сужения? Я что то честно говоря в растерянности... Или простой функцией это не сделать, надо на сужении пересчитывать в лоб каждую позицию относительно координат точки на фазе расширения?</p>]]></content>
			<author>
				<name><![CDATA[RacalCucumber]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41299</uri>
			</author>
			<updated>2025-07-16T14:30:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=162551#p162551</id>
		</entry>
</feed>
