————1,基础值及运算规则
Wealth=房间的财富;
Beauty=房间的美观度;
Space=房间的空间;
Cleanliness=房间的清洁度;
定义Min(a,b)=a,b间的最小值;
定义GetFactor(a)=
——当a的绝对值|a|<1时,取a
——当a>0时,取1+ln(a)
——否则,取-1-ln(-a)
——定义ln(a)=a的自然对数;
——从上到下依次判断,通过一次后不再往下判断;
——程序中写的是log(),但是因为只给了一个参数,所以实际应用时是ln();
定义Lerp(a,b,c)=a+(b-a)*c
——在a,b间按比例c插入值;
————2,四维取值
A=GetFactor(Wealth/1500)
B=GetFactor(Beauty/3)
C=GetFactor(Space/125)
D=GetFactor(1+Min(Cleanliness,0)/2.5)
————3,取均值和下限
E=(A+B+C+D)/4
F=Min(A,Min(B,Min(C,D)))=A、B、C、D间的最小值
————4,插值和空间估算
N=Lerp(E,F,0.35)
M=C*5
当N>M时,N取值Lerp(N,M,0.75)
————5,得值
观感Impressiveness=N*100
Wealth=房间的财富;
Beauty=房间的美观度;
Space=房间的空间;
Cleanliness=房间的清洁度;
定义Min(a,b)=a,b间的最小值;
定义GetFactor(a)=
——当a的绝对值|a|<1时,取a
——当a>0时,取1+ln(a)
——否则,取-1-ln(-a)
——定义ln(a)=a的自然对数;
——从上到下依次判断,通过一次后不再往下判断;
——程序中写的是log(),但是因为只给了一个参数,所以实际应用时是ln();
定义Lerp(a,b,c)=a+(b-a)*c
——在a,b间按比例c插入值;
————2,四维取值
A=GetFactor(Wealth/1500)
B=GetFactor(Beauty/3)
C=GetFactor(Space/125)
D=GetFactor(1+Min(Cleanliness,0)/2.5)
————3,取均值和下限
E=(A+B+C+D)/4
F=Min(A,Min(B,Min(C,D)))=A、B、C、D间的最小值
————4,插值和空间估算
N=Lerp(E,F,0.35)
M=C*5
当N>M时,N取值Lerp(N,M,0.75)
————5,得值
观感Impressiveness=N*100