<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Перевод координат из мира на экран]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=8766</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8766&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Перевод координат из мира на экран».]]></description>
		<lastBuildDate>Wed, 16 Oct 2013 08:38:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76057#p76057</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Не пойму, конкретный пример чего?</p></blockquote></div><div class="quotebox"><blockquote><p>- другого человека(врага) XYZ</p></blockquote></div><p>Изменяя свои XY, XY врага изменяются?<br /></p><div class="quotebox"><blockquote><p>- мое разрешение экрана</p></blockquote></div><p>Экрана, или в первую очередь самой игры? И если не совпадает то делать перерасчёт на экран?<br /></p><div class="quotebox"><blockquote><p>- есть два значения для моей камеры(верх/вниз и влево/вправо) изменяя или считывая можно узнать положение камеры на экране. Как я понял это FOV.</p></blockquote></div><p>Где они?</p><p>Приведи:<br />- разрешение экрана<br />- другого человека(врага) XYZ<br />- макимум и минимум XYZ который может быть в игре<br />- есть два значения для моей камеры(верх/вниз и влево/вправо) изменяя или считывая можно узнать положение камеры на экране</p><p>- нужный результат XY из данных параметров</p><p>То есть подумай сам, какие нужны константы, и каким будет результат XY, при передаче XYZ&nbsp; параметров (несколько примеров).<br /></p><div class="quotebox"><blockquote><p>Предположить что другой человек находится на той же высоте что и вы, и рисовать коробочку(в моей случаи лучше и проще точку) по середине</p></blockquote></div><p>Так не интересно <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Вот экран:</p><p><span class="postimg"><img src="http://savepic.net/3888891.jpg" alt="http://savepic.net/3888891.jpg" /></span></p><p>Соотношение между X и Y дают угол. Z начинается от нуля и проходит (или не доходит) через пересечение XY. То есть нужно просто получить координаты, где заканчивается вектор Z. Размеры прямоугольника зависят от Z, больше Z - меньше прямоугольник.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 16 Oct 2013 08:38:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76057#p76057</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76053#p76053</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Из входящих параметров есть:<br />- мои XYZ<br />- другого человека(врага) XYZ<br />- мое разрешение экрана<br />- есть два значения для моей камеры(верх/вниз и влево/вправо) изменяя или считывая можно узнать положение камеры на экране. Как я понял это FOV.</p></blockquote></div><p>Вот также как и в той теме, приведи все параметры как они есть.</p></blockquote></div><p>Параметры все время изменяются...<br />Разрешение экрана - 640x480</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>- мои XYZ</p></blockquote></div><p>Я так понимаю что они всегда должны являтся точкой отсчёта, то есть нулями, во всяком случае Z.</p></blockquote></div><p>Да я не подумал, действительно &quot;-мои XYZ&quot; там все равно 0 так как взято за точку отсчета. Разве что приходиться их использовать для вычисления расстояния или вектора.</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Еще нашел кое-что по векторам для AHK:</p></blockquote></div><p>Этот кусок ни о чём не говорит.<br />Ты, пойми - тут проще написать заново, чем вырывать куски непонятного кода. И потом вычисления касающиеся 3д, скорее всего не всегда подходят под каждый случай. Если ты можешь получить XYZ, что тебе мешает привести пример их конкретного использования.</p></blockquote></div><p>Не пойму, конкретный пример чего? Ну я могу найти расстояние между двумя людьми. Думаю могу найти вектор.</p><p>Еще поискав по интернету, я понял что надо почитать про четырехмерные вектора, матрицы, аналитическая геометрия...короче голова кругом, надо будет посидеть и почитать.</p><p>Ах да нашел еще кое-что другое полезное про это и там пишут:<br />&quot;Все можно сделать путем расчета углов между людьми.<br />Брать центр экрана:<br />ScreenX / 2;<br />SCREENY / 2;<br />Предположить что другой человек находится на той же высоте что и вы, и рисовать коробочку(в моей случаи лучше и проще точку) по середине, а когда перемещаются влево или вправо то и угол между вами изменятся. <br />Надо узнать разницу углов.<br />Формула для вычисления угла<br />angle = atan (slope) * (180/pi)&quot;</p><p>slope переводится как наклон.</p><p>Думаю что обмозговав это можно что-то сделать проще, без вычисления и поправки на высоту</p>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Wed, 16 Oct 2013 02:02:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76053#p76053</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76048#p76048</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Из входящих параметров есть:<br />- мои XYZ<br />- другого человека(врага) XYZ<br />- мое разрешение экрана<br />- есть два значения для моей камеры(верх/вниз и влево/вправо) изменяя или считывая можно узнать положение камеры на экране. Как я понял это FOV.</p></blockquote></div><p>Вот также как и в той теме, приведи все параметры как они есть.<br /></p><div class="quotebox"><blockquote><p>- мои XYZ</p></blockquote></div><p>Я так понимаю что они всегда должны являтся точкой отсчёта, то есть нулями, во всяком случае Z.<br /></p><div class="quotebox"><blockquote><p>Еще нашел кое-что по векторам для AHK:</p></blockquote></div><p>Этот кусок ни о чём не говорит.<br />Ты, пойми - тут проще написать заново, чем вырывать куски непонятного кода. И потом вычисления касающиеся 3д, скорее всего не всегда подходят под каждый случай. Если ты можешь получить XYZ, что тебе мешает привести пример их конкретного использования.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 15 Oct 2013 17:11:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76048#p76048</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76045#p76045</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>У меня не хватит знаний, помогите пожалуйста.</p></blockquote></div><p>У меня тоже нет знаний ни векторов ни тригонометрии ни инглиша ни программирования. Просто глубину (вперёд) по моей логике можно представить как линию проходящую в 45 градусах относительно положительных X и Y в 2-х мерном измерении. И опять же всё вычислить простой математикой, могу ошибатся, такого опыта небыло. Будет время может напишу. Вы пару примеров напишите, каковы входящие параметры, и конечные для отображения 4х угольника.</p></blockquote></div><p>Отображать можно хоть точку, хоть tooltip вместо коробочки.</p><p>Я постарался и перевел статью:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><a href="https://docs.google.com/document/d/1M7e7kC-eUgfk3mB4uptPBjaDqQYdFfhj3lzMCsvob9E/edit?usp=sharing">https://docs.google.com/document/d/1M7e … sp=sharing</a></p></div></div><p>Из входящих параметров есть:<br />- мои XYZ<br />- другого человека(врага) XYZ<br />- мое разрешение экрана<br />- есть два значения для моей камеры(верх/вниз и влево/вправо) изменяя или считывая можно узнать положение камеры на экране. Как я понял это FOV.</p><p>Вектор (геометрия) в геометрии — направленный отрезок.<br />Под направленным отрезком понимают упорядоченную пару точек, первая из которых — точка A — называется его началом, а вторая — B — его концом.</p><p>Еще нашел кое-что по векторам для AHK:<br /></p><div class="codebox"><pre><code>vector(setX, setY)
{
   returned=%setX%,%setY%
;msgbox % setX . &quot;making x&quot;
;msgbox % setY . &quot;making y&quot;
;msgbox % returned . &quot;made vect&quot;
   return returned
}

vectorGetX(vector)
{
   StringSplit, array_item_, vector, `,
   return array_item_1
}

vectorGetY(vector)
{
   StringSplit, array_item_, vector, `,
   return array_item_2
}

vectorNormalized(vector)
{
   ax := vectorGetX(vector)
   ay := vectorGetY(vector)
   mag := vectorMagnitude(vector)
;msgbox % vector . &quot;orig vect&quot;
;msgbox % ax . &quot;x&quot;
;msgbox % ay . &quot;y&quot;
;msgbox % mag . &quot;mag&quot;
   res := -71 / 289
;msgbox % res . &quot;test result&quot;
   newX := ( ax * 1.0 ) / ( mag * 1.0 )
   newY := ( ay * 1.0 ) / ( mag * 1.0 )
;newY := ay * 1.0 / mag
   returned := vector( newX, newY )
;msgbox % newx . &quot;x norm vect&quot;
;msgbox % newy . &quot;y norm vect&quot;
;msgbox % returned . &quot;norm vect&quot;
   return returned
}

vectorMagnitude(vector)
{
   ax := vectorGetX(vector)
   ay := vectorGetY(vector)
   returned := sqrt((ax * ax) + (ay * ay))
;msgbox % returned . &quot;mag vect&quot;
   return returned
}

vectorMultiply(vector, constant)
{
   ax := vectorGetX(vector)
   ay := vectorGetY(vector)
   returned := vector( ax*constant, ay*constant )
   return returned
}

vectorFromCoords(startX, startY, finishX, finishY)
{
   returned := vector( finishX-startX, finishY-startY )
   return returned
}

vectorGetShortLine(startX, startY, finishX, finishY)
{
   largeVector := vectorFromCoords(startX, startY, finishX, finishY)
   returned=%startX%,%startY%,%finishX%,%finishY%
;msgbox % returned . &quot;params that came in&quot;
;msgbox % largeVector . &quot;large vect&quot;
   norm := vectorNormalized(largeVector)
;msgbox % norm . &quot;norm vect&quot;
   distanceVector := vectorMultiply(norm, 15) ;hardcoded a distance of 15 for AHKarena
;msgbox % distanceVector . &quot;distanceVector vect&quot;
   lineEndX := startX + vectorGetX(distanceVector)
   lineEndY := startY + vectorGetY(distanceVector)
   returned=%startX%,%startY%,%lineEndX%,%lineEndY%
;msgbox % returned
   return returned
}</code></pre></div><p>Вот ссылочка:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>https://github.com/camerb/AHKs/blob/master/AHKArena/AHKArena/vectors/AHKarena_v2.012.ahk</p></div></div>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Tue, 15 Oct 2013 14:57:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76045#p76045</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76017#p76017</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>У меня не хватит знаний, помогите пожалуйста.</p></blockquote></div><p>У меня тоже нет знаний ни векторов ни тригонометрии ни инглиша ни программирования. Просто глубину (вперёд) по моей логике можно представить как линию проходящую в 45 градусах относительно положительных X и Y в 2-х мерном измерении. И опять же всё вычислить простой математикой, могу ошибатся, такого опыта небыло. Будет время может напишу. Вы пару примеров напишите, каковы входящие параметры, и конечные для отображения 4х угольника.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 14 Oct 2013 17:10:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76017#p76017</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76016#p76016</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Я бы накидал сюда эту функцию на C++ или C#, но я в этом ни бум бум</p></blockquote></div><p>Не проще по аналогии с предыдущей темой написать желаемое с нуля, принцип вроде тот же.</p></blockquote></div><p>У меня не хватит знаний, помогите пожалуйста. Тут как я понял используются векторы, а насчет векторов в AHK я ничего не нашел в интернете.<br />Ниже кину ссылочку на объяснение что такое WorldToScreen, может так станет понятнее что она делает, чем с моих скудных объяснений:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><a href="http://www.mpgh.net/forum/604-call-duty-modern-warfare-3-coding-programming-source-code/548848-worldtoscreen.html">http://www.mpgh.net/forum/604-call-duty … creen.html</a></p></div></div>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Mon, 14 Oct 2013 16:37:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76016#p76016</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76015#p76015</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Я бы накидал сюда эту функцию на C++ или C#, но я в этом ни бум бум</p></blockquote></div><p>Не проще по аналогии с предыдущей темой написать желаемое с нуля, принцип вроде тот же.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 14 Oct 2013 15:58:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76015#p76015</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76002#p76002</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>берутся координаты врагов и свои координаты, так же значение своей камеры.</p></blockquote></div><p>Координаты извлекает функция? Или они уже есть, и ей просто надо их скармливать для возврата XY?</p></blockquote></div><p>ей нужно скармливать. Я бы накидал сюда эту функцию на C++ или C#, но я в этом ни бум бум, а их там много и все немного отличаются.</p>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Mon, 14 Oct 2013 14:00:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76002#p76002</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76001#p76001</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>берутся координаты врагов и свои координаты, так же значение своей камеры.</p></blockquote></div><p>Координаты извлекает функция? Или они уже есть, и ей просто надо их скармливать для возврата XY?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 14 Oct 2013 13:42:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76001#p76001</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=75999#p75999</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>из мира</p></blockquote></div><p>Из какого такого мира?...<br /></p><div class="quotebox"><blockquote><p>Оно связано, но не так сильно.</p></blockquote></div><p>Тогда не сильно понятно, чего вы хотите добится.</p></blockquote></div><p>Я сам толком не понимаю эту функцию, но насколько я понял берутся координаты врагов и свои координаты, так же значение своей камеры. Это все переводит координаты XYZ на экран XY. С помощью этой функции можно создать вот такие вот коробочки и они правильно будут отображаться<br /><span class="postimg"><img src="http://www.haxs.ru/2/chit_css_external_esp_radar_hack.jpg" alt="http://www.haxs.ru/2/chit_css_external_esp_radar_hack.jpg" /></span></p>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Mon, 14 Oct 2013 13:33:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=75999#p75999</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=75997#p75997</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>из мира</p></blockquote></div><p>Из какого такого мира?...<br /></p><div class="quotebox"><blockquote><p>Оно связано, но не так сильно.</p></blockquote></div><p>Тогда не сильно понятно, чего вы хотите добится.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 14 Oct 2013 12:56:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=75997#p75997</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=75996#p75996</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Название темы - &quot;функция WorldToScreen&quot;, думаю что никому ни о чём не говорит.<br />А задача:<br /></p><div class="quotebox"><blockquote><p>перевода координат игроков из мира на экран</p></blockquote></div><p>Попахивает <a href="http://forum.script-coding.com/viewtopic.php?id=8731">дежа вю</a>.</p></blockquote></div><p>Изменил название темы. Оно связано, но не так сильно.</p>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Mon, 14 Oct 2013 12:53:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=75996#p75996</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=75995#p75995</link>
			<description><![CDATA[<p>Название темы - &quot;функция WorldToScreen&quot;, думаю что никому ни о чём не говорит.<br />А задача:<br /></p><div class="quotebox"><blockquote><p>перевода координат игроков из мира на экран</p></blockquote></div><p>Попахивает <a href="http://forum.script-coding.com/viewtopic.php?id=8731">дежа вю</a>.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 14 Oct 2013 12:32:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=75995#p75995</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Перевод координат из мира на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=75994#p75994</link>
			<description><![CDATA[<p>Здравствуйте. <br />Есть функция WorldToScreen - эта функция делает что-то типо перевода координат игроков из мира на экран, т.е. конвертирует.<br />Искал в интернете функцию WorldToScreen для AHK, но не нашел. Нашел только для AutoIt:<br /></p><div class="codebox"><pre><code>Func __WorldToScreen1( ByRef $x, ByRef $y, $_vLocation, $_vOrigin, $_aFOV )
    Local $vTransform[3]

    Local $vLocal = _FVec_Subtract( $_vLocation, $_vOrigin )
    $vTransform[0] = _FVec_DotProduct( $vLocal, $_Axis[1])
    $vTransform[1] = _FVec_DotProduct( $vLocal, $_Axis[2])
    $vTransform[2] = _FVec_DotProduct( $vLocal, $_Axis[3])
    If $vTransform[2] &lt; 0.1 Then _
        Return False

    $x = $_CenterX * (1 - ($vTransform[0] / $_aFOV[0] / $vTransform[2]))
    $y = $_CenterY * (1 - ($vTransform[1] / $_aFOV[1] / $vTransform[2]))

    Return True
EndFunc</code></pre></div><p>И вот какая то библиотека для того что написано выше:<br /></p><div class="codebox"><pre><code>Func _FVec_Addition( $vector1, $vector2 )
    Local $vector[3]

    $vector[0] = $vector1[0] + $vector2[0]
    $vector[1] = $vector1[1] + $vector2[1]
    $vector[2] = $vector1[2] + $vector2[2]
    Return $vector
EndFunc

Func _FVec_Subtract( $vector1, $vector2 )
    Local $vector[3]

    $vector[0] = $vector1[0] - $vector2[0]
    $vector[1] = $vector1[1] - $vector2[1]
    $vector[2] = $vector1[2] - $vector2[2]
    Return $vector
EndFunc

Func _FVec_Multiply( $vector1, $vector2 )
    Local $vector[3]

    $vector[0] = $vector1[0] * $vector2[0]
    $vector[1] = $vector1[1] * $vector2[1]
    $vector[2] = $vector1[2] * $vector2[2]
    Return $vector
EndFunc

Func _FVec_Divide( $vector1, $vector2 )
    Local $vector[3]

    $vector[0] = $vector1[0] / $vector2[0]
    $vector[1] = $vector1[1] / $vector2[1]
    $vector[2] = $vector1[2] / $vector2[2]
    Return $vector
EndFunc

Func _FVec_Distance( $vector1, $vector2 )
    Local $v = _FVec_Subtract($vector1, $vector2)

    Return _FVec_Length($v)
EndFunc

Func _FVec_CrossProduct( $vector1, $vector2 )
    If (UBound($vector1) = 2) Then
        Return ($vector1[0] * $vector2[1]) - ($vector1[1] * $vector2[0])
    ElseIf (UBound($vector1) = 3) Then
        Local $v[3]

        $v[0] = ($vector1[1] * $vector2[2]) - ($vector1[2] * $vector2[1])
        $v[1] = ($vector1[2] * $vector2[0]) - ($vector1[0] * $vector2[2])
        $v[2] = ($vector1[0] * $vector2[1]) - ($vector1[1] * $vector2[0])

        Return $v
    EndIf
EndFunc

Func _FVec_DotProduct( $vector1, $vector2 )
    Local $v

    $v = $vector1[0]*$vector2[0]
    $v += $vector1[1]*$vector2[1]
    $v += $vector1[2]*$vector2[2]

    Return $v
EndFunc

Func _FVec_Normalize( $vector1 )
    If $vector1[0] = 0 And $vector1[1] = 0 Then _
        Return 0

    Local $v[2]
    Local $length = _FVec_Length( $vector1 )
    $v[0] = $vector1[0] / $length
    $v[1] = $vector1[1] / $length

    Return $v
EndFunc

Func _FVec_Length( $vector1 )
    Local $v, $i

    For $i = 0 To UBound($vector1) - 1
        $v += $vector1[$i] ^ 2
    Next

    Return Sqrt($v)
EndFunc</code></pre></div><br /><p>На других языках таком как C++ такую функцию легко найти, но я не программист поэтому не кидал так как там они отличаются чем-то.<br />Скажите пожалуйста есть ли такая функция для AHK, а если нету, то возможно ли ее создать?</p>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Mon, 14 Oct 2013 11:12:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=75994#p75994</guid>
		</item>
	</channel>
</rss>
