- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
double[] КосинусФПриВходе = {1,0.99939,0.997564,0.994521,0.990268,0.9848,0.97814,0.97029,0.961261,0.9510565,0.93969,0.927183,0.913545,0.898794,0.88294,
0.866025,0.848048,0.8290375,0.809016,0.78801,0.76604,0.74314,0.71933,0.69465,0.66913,0.64278,0.61566,0.58778,0.55919,0.5,
0.46947,0.43837,0.40673,0.3746,0.34202,0.309016,0.27563,0.24192,0.20791,0.17364,0.13917,0.104528,0.06975,0.034899,0,-0.03489,
-0.06975,-0.104528,-0.13917,-0.17364,-0.20791,-0.24192,-0.27563,-0.309016,-0.34202,-0.3746,-0.40673,-0.43837,-0.46947,-0.5,
-0.55919,-0.58778,-0.61566,-0.64278,-0.66913,-0.69465,-0.71933,-0.74314,-0.76604,-0.78801,-0.809016,-0.8290375,-0.848048,
-0.866025,-0.88294,-0.898794,-0.913545,-0.927183,-0.93969,-0.9510565,-0.961261,-0.97029,-0.97814,-0.9848,-0.990268,-0.994521,
-0.997564,-0.99939,-1,-0.99939,-0.997564,-0.994521,-0.990268,-0.9848,-0.97814,-0.97029,-0.961261,-0.9510565,-0.93969,-0.927183,
-0.913545,-0.898794,-0.88294,-0.866025,-0.848048,-0.8290375,-0.809016,-0.78801,-0.76604,-0.74314,-0.71933,-0.69465,-0.66913,
-0.64278,-0.61566,-0.58778,-0.55919,-0.5,-0.46947,-0.43837,-0.40673,-0.3746,-0.34202,-0.309016,-0.27563,-0.24192,-0.20791,
-0.17364,-0.13917,-0.104528,-0.06975,-0.034899,0,0.03489,0.06975,0.104528,0.13917,0.17364,0.20791,0.24192,0.27563,0.309016,
0.34202,0.3746,0.40673,0.43837,0.46947,0.5,0.55919,0.58778,0.61566,0.64278,0.66913,0.69465,0.71933,0.74314,0.76604,0.78801,
0.809016,0.8290375,0.848048,0.866025,0.88294,0.898794,0.913545,0.927183,0.93969,0.9510565,0.961261,0.97029,0.97814,0.9848,
0.990268,0.994521,0.997564,0.99939};
private void XbYb()
{
double x;
x = AB * КосФ;
Xb = (int)x;
double f=4*Ya*Ya-4*(Xa*Xa+Ya*Ya+Xb*Xb-2*Xa*Xb-AB*AB);
if (счетчик >= 0 && счетчик <= 89) Yb = (2 * Ya + (int)Math.Sqrt(f)) / 2;
else Yb = (2 * Ya - (int)Math.Sqrt(f)) / 2;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (счетчик == КосинусФПриВходе.Length) счетчик = 0;
КосФ=КосинусФПриВходе[счетчик];
XbYb();
pictureBox1.Invalidate();
счетчик++;
}
guest 01.10.2011 04:36 # +6
absolut 01.10.2011 08:12 # +7
SmackMyBitchUp 01.10.2011 09:17 # +1
http://jooov.net/text/6752294/amara_kukarella-sha-la-la-la_.htmls
absolut 01.10.2011 10:42 # +1
SmackMyBitchUp 01.10.2011 14:24 # 0
Lure Of Chaos 01.10.2011 09:09 # 0
SmackMyBitchUp 01.10.2011 10:20 # +2
TarasB 01.10.2011 12:10 # +1
И нахера писать таблицу руками?
absolut 01.10.2011 12:27 # +1
всегда. если конечно память не на перфокартах
guest 01.10.2011 13:24 # +1
А когда этот выигрыш в скорости серьёзно на что-то влияет?
Что делать, если нужного значения в таблице не оказывается?
absolut 01.10.2011 12:30 # 0
Вычисление на докомпилляционном этапе
TarasB 01.10.2011 13:24 # +1
Lure Of Chaos 01.10.2011 14:35 # 0
CPPGovno 01.10.2011 15:16 # 0
3.14159265 03.10.2011 13:16 # 0
при оптимальных раскладах - 25-30 тактов.
даже L2 быстрее.
что конечно не оправдывает подобных быдлокодеров.
CPPGovno 03.10.2011 13:34 # 0
Атцы раскладывают в ряд. Это также быстро, как и таблица на современных процах, но с лучшей точностью.
При активном применении лукаптаблиц кешмисы замучают.
3.14159265 03.10.2011 18:09 # +1
>Это также быстро, как и таблица на современных процах, но с лучшей точностью.
Код в студию! Атцы, это наверное от слова ацтой, который не может в ряд Тейлора.
И не представляет себе сколько же операций сложения, возведения в степень и деления нужно для того чтобы вычислить синус с 32-битной точностью
CKrestKrestGovno 03.10.2011 18:37 # 0
3.14159265 03.10.2011 18:43 # +3
>Атцы - мем с гейдева.
Забудь о геймдеве, это говнокод, детка.
CPPGovno 03.10.2011 22:04 # −1
Пощу только говно. Атцовский код можно найти на гейсдеве.
bugmenot 03.10.2011 22:21 # +3
guest8 09.04.2019 11:38 # −999