3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 2323|回复: 2
打印 上一主题 下一主题

[原创] 【我想实现调音量】古剑声音音量对内存数值的函数表达式

[复制链接]

821

主题

6501

帖子

17万

积分

游戏终结者

@小幸姐             

Rank: 14Rank: 14Rank: 14Rank: 14

贡献度
42459
金元
31673
积分
173173
精华
17
注册时间
2010-7-9

游戏之神~3DMer古河渚圣诞快乐月宫亚由灭绝师太花好月圆阎魔爱幸运儿

跳转到指定楼层
主题
发表于 2010-12-18 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个函数具备以下特征:
当x = 25  Y = 1048576000
当x = 50  Y = 1056964608
当x = 75  Y = 1061158912
当x = 100 Y = 1065353216

求Y对X的算术表达式,种类不限,一切从简
=======================
找规律:
变换数值Y(16) 比率V(16进制/100) 音量T(十进制)
  0           1000000/100*2^0    100  = 100*2^0
-400000      1000000/100*1      75
-800000      1000000/100*2^1    50   = 100*2^(-1)
-C00000      1000000/100*0.5    37.5
-1000000      1000000/100*2^2    25   = 100*2^(-2)
-1400000      1000000/100*0.25   18.25
-1800000      1000000/100*2^3    12.5 = 100*2^(-3)
简化为
  C*K         2C/100*2^(-K)    100*2^K
令L = 3F800000  C = 800000
则K =  [log(2)(T/100)]+1  ;  V = 2C/100*2^K
那么音量的内存数值 X =  Y + L = C*K + (T-100/2^(-K))*V + L
X = C*( [log(2)(T/100)]+1) + (T-100/2^(-( [log(2)(T/100)]+1)))*(-2C/100*2^([log(2)(T/100)]+1)) + L
好了,这个表达式就算出了,我们来验证一下,当音量T = 18时 内存数值X等于多少?
T=18 =〉K=-2 则 V = 8C/64
(T-100/2^(-K)) =-7
X =  Y + L = C*K + (T-100/2^(-K))*V + L
  = -2C - 7*8C/64 +L  = -1000000 - 47AE14 + L    //40是16进制下的
=  3F800000 -  147AE14  = 3E3851EC
这与我查内存得到的毫厘不差

所以啊 并不是用一些什么曲线模拟能得出来的
我非常想问COOLJ大人一个问题:为什么你对3F800000如此青睐,时间的函数用到的平移也是它
回复

使用道具 举报

91

主题

6033

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
1821
金元
37835
积分
11078
精华
1
注册时间
2010-1-29
舒服的沙发
发表于 2010-12-18 15:21 | 只看该作者
你这。。。。好高深。。。看不懂。。。
回复 支持 反对

使用道具 举报

496

主题

7805

帖子

1万

积分

资深玩家

一句理解可挡万句辱骂。

Rank: 9Rank: 9Rank: 9

贡献度
2538
金元
9363
积分
11273
精华
9
注册时间
2008-1-4
硬硬的板凳
发表于 2010-12-18 18:03 | 只看该作者
让我想起了前几天在汉化组技术群里提到的浮点..
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-12 23:36 , Processed in 0.102461 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表