Если возможно, добавьте пожалуйста эту функцию - atan2(x,y) в pixilang. Я попробую реализовать её через другие функции pixilang, но боюсь, что производительность сильно просядет, т.к. функция будет очень интенсивно использоваться в проекте.
http://pascal.net.ru/ArcTan2
http://php5.kiev.ua/manual/ru/function.atan2.html
Математическая функция atan2(x,y)
Re: Математическая функция atan2(x,y)
Собственно, реализация функции atan2(x,y):
Code: Select all
fn atan2( $x,$y)
{
_atan_t = 0.0
if $x == 0.0 && $y == 0.0
{
_atan_t = 0.0
}
else
{
if $x >= $y
{
if $x >= -$y
{
_atan_t = atan($y / $x) // правый квадрант
}
else
{
_atan_t = (-M_PI / 2) - atan($x / $y) // нижний квадрант
}
}
else
{
if $x >= - $y
{
_atan_t = (M_PI / 2) - atan($x / $y) // верхний квадрант
}
else
{
if $y >= 0.0
{
_atan_t = M_PI + atan($y / $x) // верхний октант в левом квадранте
}
else
{
_atan_t = -M_PI + atan($y / $x) // нижний октант в левом квадранте
}
}
}
}
ret ( _atan_t )
}
Re: Математическая функция atan2(x,y)
Проект, в котором эта функция используется:
viewtopic.php?f=9&t=4175
viewtopic.php?f=9&t=4175
- NightRadio
- Site Admin
- Posts: 3955
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Математическая функция atan2(x,y)
Интересный проект, спасибо!
Я запишу к себе в планы, чтобы не забыть добавить функцию. Релиз надеюсь сделать в этом году )
Я запишу к себе в планы, чтобы не забыть добавить функцию. Релиз надеюсь сделать в этом году )
Re: Математическая функция atan2(x,y)
Это было бы замечательно!NightRadio wrote:Интересный проект, спасибо!
Я запишу к себе в планы, чтобы не забыть добавить функцию. Релиз надеюсь сделать в этом году )
Не уверен, что корректно закодил эту функцию. Всё же я программист ненастоящий.
Re: Математическая функция atan2(x,y)
В ожидании функции atan2(x,y) и вдумчивого курения доков по быстрым тригонометрическим функциям решил присмотреться попристальней к gl-режиму и запилить skybox. Он же cubik-pano. Заодно и кватернионы пощупать. Первые прикиды показали что cubik всяко быстрее попиксельного рендера будет. А пиксели планирую приспособить для конвертации различных типов панорам. Очень удобная штука pixilang.
- NightRadio
- Site Admin
- Posts: 3955
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: Математическая функция atan2(x,y)
В OpenGL-режиме, конечно, прирост скорости будет на порядки. Рекомендую поэкспериментировать :)
atan2 не успел добавить в последний релиз - все второпях делалось, параллельно с SunVox :) Постараюсь в ближайшем обновлении...
atan2 не успел добавить в последний релиз - все второпях делалось, параллельно с SunVox :) Постараюсь в ближайшем обновлении...