Информация

Обсуждало 9 человек

Тангенс, чО за нах!!!???

Логика и программирование
13 апреля 2012 в 17:36:48

Короче пишу в As3 следующее

trace(Math.tan(45));
И вывело 1.61!!! КАК ЧЕ ЗА ХЕРНЯ ВООБЩЕ!!!!!!!!!?????????? Ну ладно думаю может в радианах надо... Написал:

trace(Math.tan(45/180*Math.PI));
Вывело 0.9999999 ЧО ЗА Х*ЕТА!!!!!!!!!????????? Ладно, может нужно результат из радиан перевести?

trace(Math.tan(45)/Math.PI*180);
Вывело 92.806 ЧО ЗА Х*ЙНЯ Е*АНЫЙ В РОТ!!!!!!!?????????

Как вообще это получается!???? И как сделать так что бы флеш считала тангенс правильно? Т.е tg45 = 1?????

Обсуждение (вниз)

Не хватает только вашего мнения. Зарегистрируйтесь, чтобы написать!

16 апреля 2012 в 23:49:19

PolarisF, странный ты ))))))....

16 апреля 2012 в 23:38:16

без тригонометрии, http://megaswf.com/serve/2373765 ... если нужно, кину исходники, там все просто :)


Не, такое-то я тоже делал мне это не подходит.

16 апреля 2012 в 22:33:56

мне нужны лишь наклонные поверхности, строить мир из треугольников и сфер я не хочу - утомительно.


без тригонометрии, http://megaswf.com/serve/2373765 ... если нужно, кину исходники, там все просто :)

16 апреля 2012 в 22:00:14

а физика... физика это здесь - http://armorgames.com/play/12000/zombotron


Кстати автор на этой игре чуть не разорился.

16 апреля 2012 в 21:58:52

Мне вообще физика не нужна. Бокс2д я знаю, мне нужны лишь наклонные поверхности, строить мир из треугольников и сфер я не хочу - утомительно.

16 апреля 2012 в 21:27:38

Доооо, знаю я этот бокс2д и то на что он способен.


и, видимо, не знаешь... ;)

16 апреля 2012 в 21:26:03

PolarisF, ахахах, да это же обычный платформер, там никакой физики XD... автор вроде до сих пор на AS2 сидит... и коллизия здесь делается проще простого)...

а физика... физика это здесь - http://armorgames.com/play/12000/zombotron

16 апреля 2012 в 14:49:24

http://www.newgrounds.com/portal/view/593275 стремлюсь примерно к этому.

16 апреля 2012 в 14:48:25

ты 3D мир что ли строишь? если да, тогда, не изобретай велосипед, который все равно будет хуже этого http://alternativaplatform.com/ru/technologies/alternativaphysics/ (только по тому, что здесь работала команда, и вероятно с высоким уровнем знаний в высшей математике, физике и численных методах)


3д на альтернативе геморой геморойный как и на любом другом движке, лучше написать своё, пусть и говно, своё. Тем более разбираться дольше с альтернативой чем свой шейдер сделать. К тому же я не 3д игру делаю.

16 апреля 2012 в 14:46:30

эм... ты что собираешься адронный коллайдер имитировать во флэше? XD.... он достаточно хорошо справляется со всем, действительно необходимым, диапазоном скоростей.. а если нужна повышенная точность - есть свойство bullet


Доооо, знаю я этот бокс2д и то на что он способен.

16 апреля 2012 в 14:45:45

а если нет - то для 2D достаточно платформу обернуть набором прямоугольных платформ и кругов... и почему-то все разработчики и игроки этим вполне довольны XD...


Ахаха, я рисую во флеш кисточкой линию длинной 10 000, вот мне делать нех как её кружками и треугольниками описывать.

16 апреля 2012 в 13:03:37

Смотря как реализовать, если руки не из члена растут от можно и 100000х100000 реализовать без лагов, если оперативы хватит

16 апреля 2012 в 11:54:04

Там только физика, сделать полностью произвольный уровень вручную трудно.

о, да... он имитирует физику ВСЕГО мира (земля, стены, объекты, механизмы)... нет смысла его дописывать или исправлять


Конечно я делал уже так, по если создать поконтурную террайн из треугольников их в уровне получится больше чем 2000, будут сильные лаги.

ты 3D мир что ли строишь? если да, тогда, не изобретай велосипед, который все равно будет хуже этого http://alternativaplatform.com/ru/technologies/alternativaphysics/ (только по тому, что здесь работала команда, и вероятно с высоким уровнем знаний в высшей математике, физике и численных методах)

а если нет - то для 2D достаточно платформу обернуть набором прямоугольных платформ и кругов... и почему-то все разработчики и игроки этим вполне довольны XD...


Бокс2д хорош если скорость тел меньше 100, а если 9999 то завяжется узлом, а если 99999999999 то движок перестанет работать

эм... ты что собираешься адронный коллайдер имитировать во флэше? XD.... он достаточно хорошо справляется со всем, действительно необходимым, диапазоном скоростей.. а если нужна повышенная точность - есть свойство bullet


тем более в бокс2д есть ограничения мира, мне нужен огромный мир 10 000х 10 000 или больше, бокс2д на это не рассчитан.

ээ... ты вероятно древнюю версию движка качал ;)... в новой более не требуется задавать размеры... да и ты уверен, что флэш потянет мир свыше "10 тыс x 10 тыс"... используй какую-нибудь подгрузку видимых и выгрузку невидимых элементов... )...

16 апреля 2012 в 09:36:55

Ну во-первых 0.9999999 - это вполне логично. У тебя несколько операций, каждая вычисляется и погрешностью и округлением. Почему так происходит - чтоб понять это, тебе надо изучить принципы работы компа с числами с плавающей точкой. Там всегда погрешность, и во флэш, и в C++, и везде.
Да, и погрешность у тебя не 0.1, а 0.0000001. Странно, что тебя это не устраивает, ты ведь не шаттл запускаешь.

15 апреля 2012 в 22:12:44

Всмысле?

15 апреля 2012 в 22:11:24

А сделаешь вввидео, как это все происходит? Очень интересно)))

15 апреля 2012 в 21:37:02

Парабола строится на вычислениях тангенса.

14 апреля 2012 в 20:46:54

На сколько я помню парабола это график квадратного трехчлена, а не тангенса.
Для тангенса - тангенсоида.
И с погрешностью считает не флэш, а чья то голова)))

14 апреля 2012 в 19:56:15

Math.tan(Math.PI/4) выдает ровно 1
умник блин))) нафига такие мудреные вычисления было выписывать?
И интересно как связан тангенс и параболы в твоем проекте?


По параболам вычисляется траектория движения, а параболы строятся на вычислениях тангенса. А так как уровень будет рисоваться от руки то я ни как не смогу определить угол, но флеш считает с погрешностью, так что параболы идеальными не получатся.

14 апреля 2012 в 14:25:44

AGAL мего кривой и глюченный, но если с ним изрядно поизвращаться, то можно создать что-то действительно стоящее.


Это же агал, лол хДДД

14 апреля 2012 в 11:13:04

Для информации:
45 градусов = 45*(пи/180)=пи/4
1 град = пи/180
1 мин = пи/10800
1 сек = пи/648000

14 апреля 2012 в 11:03:33

Math.tan(Math.PI/4) выдает ровно 1
умник блин))) нафига такие мудреные вычисления было выписывать?
И интересно как связан тангенс и параболы в твоем проекте?

14 апреля 2012 в 10:57:02

А почему не попробовать найти тангенс пи деленного на 4, это ведь и есть 45 градусов

Ну в шокле у него не самые лучшие оценки по геометрии были просто

14 апреля 2012 в 10:55:56

то есть Math.PI/4

14 апреля 2012 в 10:51:44

А почему не попробовать найти тангенс пи деленного на 4, это ведь и есть 45 градусов

13 апреля 2012 в 23:37:58

Вы на самом деле дебилы?
Мне просто интересно, как вы собираетесь обойтись без тригонометрии в векторе, да еще и в 3D.


Я её как раз и применяю. Cos,sin,tan,atan,asin,acoa,atan2,vector.<Vector>,matrix,bounds,point из этого всего и состоит p2MeshCollider.

13 апреля 2012 в 23:36:02

Ну короче когда доделаю то может сюда выложу.

13 апреля 2012 в 23:35:40

Вы на самом деле дебилы?
Мне просто интересно, как вы собираетесь обойтись без тригонометрии в векторе, да еще и в 3D.

13 апреля 2012 в 23:35:22

У парабол нет сторон, это кривая.

13 апреля 2012 в 23:32:54

А может тангенс заменить на отношение сторон?

13 апреля 2012 в 23:14:33

Ну в ас2 может и так, а в ас3 есть матрица3д. Тем более там есть стандартные средства для 3д(см. Заметку Shit3D).

13 апреля 2012 в 23:13:06

точно не могу сказать, но вроде тангенс нужен был для перевода из 2д в 3д координаты

13 апреля 2012 в 23:11:37

Не знаю как тангенс в 3д, но для 3д я использовал только матрицы и шейдеры на AGAL. AGAL мего кривой и глюченный, но если с ним изрядно поизвращаться, то можно создать что-то действительно стоящее.

13 апреля 2012 в 23:08:13

мох, если у тебя есть мнения по поводу тангенсов, то выкладывай. Хотя по теме полезного ты не сможешь ничего предложить.

13 апреля 2012 в 23:08:04

Тангенс нужен для парабол на которые парсится уровень. Неточный тангенс -> неточная парабола -> неточный уровень -> глюки в игре -> игра ГОВНО.

13 апреля 2012 в 23:06:31

Скорость 99999999999? Зачем такая? А тангенс для каких расчетов применяется? Я когда пытался изучать 3д, помню там он нужен был, а в 2д задачах вроде не встречал. Может его можно заменить как-нибудь?


В 3д матрицы нужны, тангенс там в топку. Тангенс можно заменить - sinf/cosf, но флеш делит 0.5/0.5 и получает 0.99999999. Скорость 99999999 обеспечивает практически идеальный просчёт коллизий, т.е если на такой скорость все работает то шанс того что когда в игру будет кто-то играть что-то зверски заглючит шанс 1 из 99999999999.

13 апреля 2012 в 23:01:43

Я когда пытался изучать 3д, помню там он нужен был

Да ну нахуй! Тангенс? В 3D?

13 апреля 2012 в 22:55:25

Скорость 99999999999? Зачем такая? А тангенс для каких расчетов применяется? Я когда пытался изучать 3д, помню там он нужен был, а в 2д задачах вроде не встречал. Может его можно заменить как-нибудь?

13 апреля 2012 в 22:54:03

класс p2MeshCollider который будет являться частью движка, но не будет зависить от него.

Диагноз: даун.

13 апреля 2012 в 22:50:25

Уже есть говнокод который как бы просчитывает наклонные поверхности, но он далеко не идеален, хотя для говно игр самое то, но сейчас я делаю нормальный более мощный класс p2MeshCollider который будет являться частью движка, но не будет зависить от него.

13 апреля 2012 в 22:46:55

Я уже давно хотел сделать это в своем движке, уже есть класс который парсит произвольный уровень на параболы второго порядка, рисует меши и прочее, НО ТУТ НУЖЕН ТОЧНЫЙ РАСЧЕТ, а не те мего кривые числа которые считает флеш. Реализовать простое столкновение независящее от скорости не так трудно и не нужны точные расчеты, а вот с поконтурным все сложнее.

13 апреля 2012 в 22:41:28

может использовать box2d для этой цели?


Там только физика, сделать полностью произвольный уровень вручную трудно. Конечно я делал уже так, по если создать поконтурную террайн из треугольников их в уровне получится больше чем 2000, будут сильные лаги. Бокс2д хорош если скорость тел меньше 100, а если 9999 то завяжется узлом, а если 99999999999 то движок перестанет работать, тем более в бокс2д есть ограничения мира, мне нужен огромный мир 10 000х 10 000 или больше, бокс2д на это не рассчитан.

13 апреля 2012 в 22:37:49

может использовать box2d для этой цели?

13 апреля 2012 в 22:36:11

по контурный платформер - это как? типа мир состоит из неровных поверхностей, типа Worms?


Не это туфта. В моем кисточкой уровень рисуешь, а потом бегаешь по нему.

13 апреля 2012 в 22:28:39

по контурный платформер - это как? типа мир состоит из неровных поверхностей, типа Worms?

13 апреля 2012 в 22:18:19

Вот уже из за таких неточностей лицензия флеш не может стоить больше 100р.

13 апреля 2012 в 22:17:16

может результат округлять? и если не секрет, для чего понадобился тангенс в расчетах?


Создание поконтурного платформера.

ык че ты, у тя второй результат верный был. Вспомни тригонометрию. Функция стремится к единице но не достигает ее. Этож машина с точными вычислениями и константами. И нах те вычислять его если он и так известен?


Верный!!!?????? О_О НЕ ФИГА СЕБЕ!!! ПОГРЕШНОСТЬ НА 0.1!!! Мне нужны точные результаты, даже погрешность 0.0001 неприемлема, т.к дальше идут расчеты где последующие числа играют огромную роль, а если будет погрешность 0.1 то реальный результат может оказаться с кривостью в 26.98 пикселей, а это уже МЕГО ГЛЮКИ.

13 апреля 2012 в 22:10:56

кстати, вот значение которое на сей день высчитано, 1 452 717 знаков после запятой http://bio.fizteh.ru/student/spravochnik/pi/pi-arpfelw5bsu.zip
УБЕЙ СВОЮ МАШНУ!!! ХДДД

13 апреля 2012 в 22:08:49

ри вычислениях на бумажке Пи - это Пи. ты его делишь сокращаешь умножаешь и т.п. как величину. А для машины Пи - это 3,14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 70679 (только даже в 64 битах столько знаков после запятой нет)

13 апреля 2012 в 22:05:39

ык че ты, у тя второй результат верный был. Вспомни тригонометрию. Функция стремится к единице но не достигает ее. Этож машина с точными вычислениями и константами. И нах те вычислять его если он и так известен?

13 апреля 2012 в 21:14:17

Возможно, необходимо поискать информацию в Интернете?

13 апреля 2012 в 21:11:54

может результат округлять? и если не секрет, для чего понадобился тангенс в расчетах?

13 апреля 2012 в 17:48:51

Если он вычислит 0.9 то дальше идет

if(dx*Math.tan(45/180*Mat.PI) <= tx){
}
else
{
}

То если умножить 10 на 1 получится 10, и все верно будет выполняться, а если 10 на 0.99999999 то будет 9,999999 и уже не верно всё!!!!!!!!!

13 апреля 2012 в 17:43:45

Че за тупость она не точно вычисляет 0.00000001 потеряла где-то!!!!!!!!!?????????? Из за этого ни че правильно не работает!
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов