Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   3D sound (http://www.flasher.ru/forum/showthread.php?t=116691)

Venya2007 08.10.2008 16:30

3D sound
 
Здравствуйте! Подскажите, как можно смоделировать 3D звук?

BlooDHounD 08.10.2008 17:26

Код:

public static function getTransform(point:Point, bounds:Rectangle, volome:Number=1):SoundTransform {

        var result:SoundTransform = new SoundTransform();

        // относительные параметры

        var x:Number = ( point.x - bounds.x ) / bounds.width * 2 - 1;
        var y:Number = ( point.y - bounds.y ) / bounds.height * 2 - 1;

        if ( x < 0 ) { // лева
                result.rightToLeft = Math.min( Math.abs( x ), 1 );
                result.rightToRight = 1 - result.rightToLeft;
        } else if ( x > 0) {
                result.leftToRight = Math.min( Math.abs( x ), 1 );
                result.leftToLeft = 1 - result.leftToRight;
        }

        result.volume = Math.min( 2 - Math.min( Math.sqrt( x*x + y*y ), 2 ), 1 ) * volome;

        return result;

}


undefined 08.10.2008 17:27

(du/dt)^2 = ((du/dx)^2+(du/dy)^2+(du/dz)^2)*a^-2 - волновое уравнение в 3д,
ставишь граничные условия и вперед :cool:

Venya2007 08.10.2008 17:55

BlooDHounD большое спасибо, класно работает:)!Только вот, еще бы сделать звук типо спереди и сзади!

undefined - расшифруйте пожалуйста параметры:)

undefined 08.10.2008 19:22

ээ, u - плотность среды, x,y,z - координаты в пространстве, t - время, a - кажись скорость звука. Ты это в серьез не воспринимай, решать эту дифуру в реал-тайм на флэше дело малоперспективное, это типа стёб был :)

Venya2007 08.10.2008 19:28

undefined спасибо:)


Часовой пояс GMT +4, время: 22:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.