Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Вычислить Sin и Cos (4 стр)

Вычислить Sin и Cos (4 стр)

Страницы: 13 4 5 68 Следующая »
-=MASTER=-Забаненwww10 апр. 20188:47#45
Хмм, просто интересно, а действительно, как работают встроенные функции FPU процессора CPU типа fsin, fsincos и пр...? Вы уже нашли ответ?

Правка: 10 апр. 2018 8:48

DelfigamerПостоялецwww10 апр. 20188:58#46
-=MASTER=-
Второй ответ в гугле.
In the 1990s Intel replaced the 8087’s CORDIC-based approximations of the elementary transcendental functions with polynomial-based approximations.
-=MASTER=-Забаненwww10 апр. 20189:17#47
Delfigamer
> Второй ответ в гугле.
ээхх, лень до добра не доводит, спасибо :)
ryzedПостоялецwww10 апр. 201815:52#48
FordPerfect
Геймдев ещё торт, приятно читать.
SuslikМодераторwww11 апр. 20182:43#49
ryzed
да если честно, только на форде со смаелом весь форум и держится.
eDmkУчастникwww11 апр. 201814:02#50
А как из синуса сделать Cos?
В пределах 90 градусов все норм, а выше приходится выдумывать конструкции вроде такой:
+ Показать

Правка: 11 апр. 2018 14:11

foxesПостоялецwww11 апр. 201814:19#51
eDmk
Насколько я знаю есть ряд для косинуса и для синуса. Опять же различие между ними в направлении и знаках.
sin(90-angle)=cos(angle)

Правка: 11 апр. 2018 14:20

Ghost2Постоялецwww11 апр. 201814:25#52
Suslik

> только на форде со смаелом весь форум и держится
Растет смена. Ща с синусами только разберутся и смайлу можно уходить.

eDmkУчастникwww11 апр. 201814:50#53
Вот чо получилось с функцией из #39:
+ Показать

Правка: 11 апр. 2018 14:53

DelfigamerПостоялецwww11 апр. 201815:27#54
Кажется, кто-то этот тред прочитал поверхностно и на ссылки даже не заглянул.
eDmkУчастникwww11 апр. 201815:35#55
Просто исследовал вопрос на тему «Может ли 3D-эшечка работать без процессорных функций».
Оказывается может (видео):
+ Показать

Это софтрендер считает на одном ядре. На 20 ядрах ~530 fps.

Delfigamer
Все норм. Заглянул.
Но поскольку я процессор делать пока не собираюсь — просто сохранил в полезных закладках.

Правка: 11 апр. 2018 15:38

DelfigamerПостоялецwww11 апр. 201815:45#56
Тогда расскажи мне, что в той функции делает константа One?
eDmkУчастникwww11 апр. 201815:59#57
Delfigamer
Разряды увеличивает для точности.

Если вы переживаете, что не я написал функцию, то не имеет смысла.
Я ее не использую для коммерческих целей. Для коммерции у меня есть лицензия Эмбаркадеро.

>Произвольные значения следует приводить с помощью деления с остатком.
У меня Delphi XE6. В комплекте нет такой функции. Пришлось писать самому.

Правка: 11 апр. 2018 16:33

1 frag / 2 deathsУчастникwww11 апр. 201817:29#58
eDmk
> Power(Y, 2.0)
Заменить на вычисление в цикле. Причём Power(Y,22) брать, зная значение Power(Y,20)
И это хреновые многочлены, лучше многочлены Чебышева. Хотя для лабы и так сойдёт.
1 frag / 2 deathsУчастникwww11 апр. 201817:31#59
eDmk
> Epsilon: Double = 0.00000000000001;

Ты зачем это делаешь? Пытаешься добиться cos(pi/2)=0 строго до бита? Это бессмысленно, а если тебе это понадобилось, то у тебя ошибка в алгоритме.

Страницы: 13 4 5 68 Следующая »

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр