电影院座位设计问题1.docx
《电影院座位设计问题1.docx》由会员分享,可在线阅读,更多相关《电影院座位设计问题1.docx(14页珍藏版)》请在冰豆网上搜索。
电影院座位设计问题1
电影院座位设计问题
一、问题的提出
下列图为影院的剖面示意图,座位的满意程度主要取决于视角α和仰角β。
视角α是观众眼睛到屏幕上、下边缘视线的夹角,α越大越好;仰角β是观众眼睛到屏幕上边缘视线与水平线的夹角,β太大使人的头部过分上仰,引起不舒适感,一般要求β不超过。
设影院屏幕高h,上边缘距地面高H,地板线倾角θ,第一排和最后一排座位与屏幕水平距离分别为d和D,观众平均坐高为c〔指眼睛到地面的距离〕。
参数h=1.8,H=5,d=4.5,D=19,c=1.1〔单位:
m〕。
(如下图)
(1)地板线倾角θ=,试问最正确的座位在什么地方。
(2)求地板线倾角θ〔一般不超过〕,使所有观众的平均满意程度最大。
(3)地板线设计成什么形状可以进一步提高观众的满意程度。
二、问题的分析
观众在电影院欣赏电影,感觉是否满意不仅取决于电影的精彩与否,而且还取决于座位设计的舒适程度.座位的设计应满足什么要求,是一个非常现实的问题.根据题意观众对座位的满意程度主要取决于观看时的视角和仰角.经调查可知这两者都要满足一定的条件.但在实际生活中又不可能同时满足,只能在二者兼顾的条件下求出使平均满意度最大的那种情况.根据题意很容易得知和的正切值呈递减趋势,这对问题的解决很有帮助.下文针对题目提出的三个问题逐一进行分析.
针对问题1:
为方便求解,可以以屏幕所在的墙壁的剖面为y轴,向上为正方向,以与之垂直的地面为x轴,以交点为原点O,建立直角坐标系.当地板线倾角时,根据条件通过计算得知,最前排视角和仰角的值均为最大,最后排视角和仰角的值均为最小.那么仰角时的位置是否是最正确位置呢?
我们可以先将离散的座位连续化,根据条件求出的表达式,作出对的变化图象以及其变化率图象,计算的最大值,找到最正确座位点,然后再将问题离散化,对求得的最正确座位点进行优化.
针对问题2:
一般地,人们对某件事物看法的心理变化是一个模糊的概念.本文观众对座位是否满意也是一个模糊概念.根据模糊数学隶属度的概念和心理学的相关知识,我们可以引入满意度函数的概念,构造一个满意度函数,通过这一函数来度量观众满意程度随其座位离屏幕的距离的变化趋势.在倾斜角固定的情况下,满意度函数值随的变化而变化,不同的有不同的满意度.有了满意度函数这一衡量标准后,我们可以求出所有座位的平均满意度.当平均满意度最大时,求出此时对应的倾斜角,即为所要求的平均满意度最大时地板线的倾斜角度.
三.模型的假设
1.假设座位在地板线上严格等距,且均匀分布;
2.假设观众的满意度可以用一连续函数来衡量,因而可将离散问题连续化;
3.假设视角对观众的满意度影响较大;
四.符号说明
当人坐下时眼睛到屏幕上、下边缘视线的夹角
当人坐下时眼睛到屏幕上边缘视线与水平线的夹角
当人坐下时眼睛所处在坐标系中的位置坐标
关于距离和倾斜角的正切函数
关于距离和倾斜角的正切函数
满意度函数
第个位置的满意程度
平均满意程度
满意度函数的相关因子〔即满意因子〕
五.模型的建立
1.建模的准备
1.1建立坐标系
为了建立适宜的数学模型,我们先建立如下坐标系:
由题意及坐标图得,直线L的方程:
〔1〕
直线L上任意一点的仰角β的正切值为:
〔2〕
又由图可知:
〔3〕
由〔2〕〔3〕得:
1.2构造满意度函数
一般说来,人们的心理变化是一个模糊的概念.本文中观众对某个座位是否满意的看法就是一个典型的模糊概念.由模糊数学隶属度的概念和心理学的相关知识,根据人们通常对一件事物评价的心理变化应遵循一定规律,不妨定义观众对座位的满意度为:
〔4〕
其中表示观众满意度的相关因子,称为满意因子,一般为常数.表示最正确座位点,即最正确座位处的横坐标值.
2.模型的建立
2.1问题1的模型
座位的满意程度主要取决于视角α和仰角β.α越大越好,β太大使人的头部过分上仰,引起不舒适感,一般要求β不超过.要确定最正确座位,必须同时兼顾视角α和仰角β.
由上文不难发现和均是的函数,这里不妨令,,那么可得到:
〔5〕
〔6〕
由,即得:
又由题意知:
那么x的取值范围为:
〔7〕
从而得到求解最正确座位的数学模型:
〔8〕
当θ=10度时求得模型的解
观众的满意度随位置变化曲线如图:
2.2问题2的模型
为了求平均满意程度最大时地板的倾角,本文先设法求平均满意程度.
由〔4〕,记第个座位满意度为:
〔9〕
那么区间上个座位的满意度为:
〔10〕
从而得座位的平均满意程度为:
〔11〕
从而得到求解地板倾角的数学模型:
〔12〕
其中的表达式为:
,为常数,表示前后两个座位之间的距离.,的表达式为:
.
观众满意度随地板线曲率变化如图:
有图解得:
2.3问题3的模型
为了进一步提高观众的满意程度,应当使总满意程度进一步增大。
因此,利用最优化模型,使得每一名观众的满意程度到达最大。
目标函数为:
Max
约束条件为:
从而得到结果为:
附录:
第一、二问程序:
n=0;
ku=0;
q=5;
t0=0;
s=0.3;
fork=0:
0.01:
0.37;
m=0;
forx=450:
1900;
y(x)=(x/100)*(k^2+1)/2+((3+4.5*k)^2-0.81)/(2*(x/100))-k*(3+4.5*k);
z(x)=0.9/y(x);
w(x)=atan(z(x));
f(x)=atan((5-k*((x/100)-4.5)-1.1)/(x/100));
x30=(3.9+4.5*k)/(k+(3^0.5)/3);
ifk==0.18
ifx<=x30
t=(w(x)-q*(f(x)-pi/6));
ift>t0
t0=t;
x10=x/100;
end
end
ifx>x30
t=(w(x)-s*q*(f(x)-pi/6));
ift>t0
t0=t;
x10=x/100;
end
end
x11=x/100;
figure
(1);
plot(x11,t);
grid;
xlabel('地板线横坐标x');
ylabel('观众的满意度值');
title('θ=10度时观众的满意度曲线');
holdon;
end
ifx<=x30
m=((w(x)-q*(f(x)-pi/6))/100)+m;
end
ifx>x30
m=((w(x)-s*q*(f(x)-pi/6))/100)+m;
end
end
figure
(2);
plot(k,m,'.');
grid;
xlabel('地板线斜率k(tgθ)');
ylabel('观众平均满意度');
title('观众平均满意度随地板线斜率变化曲线');
holdon;
m>n
n=m;
ku=k;
end
plot(x10,t0,'*');
第三问程序:
h=1.8;
H=5;
d=4.5;
D=19;
c=1.1;
q=1;
s=0.3;
para=0;
stepx=(D-d)/20;
stepy=(H-c)/25;
y=zeros(1,21);
total=0;
max=0;
fori1=0:
1
i
(1)=i1;
fori2=0:
1
i
(2)=i2;
fori3=0:
1
i(3)=i3;
fori4=0:
1
i(4)=i4;
fori5=0:
1
i(5)=i5;
fori6=0:
1
i(6)=i6;
fori7=0:
1
i(7)=i7;
fori8=0:
1
i(8)=i8;
fori9=0:
1
i(9)=i9;
fori10=0:
1
i(10)=i10;
fori11=0:
1
i(11)=i11;
fori12=0:
1
i(12)=i12;
fori13=0:
1
i(13)=i13;
fori14=0:
1
i(14)=i14;
fori15=0:
1
i(15)=i15;
fori16=0:
1
i(16)=i16;
fori17=0:
1
i(17)=i17;
fori18=0:
1
i(18)=i18;
fori19=0:
1
i(19)=i19;
fori20=0:
1
i(20)=i20;
fori21=0:
1
i(21)=i21;
fori22=0:
1
i(22)=i22;
fori23=0:
1
i(23)=i23;
fort=1:
21
x(t)=(t-1)*stepx+d;
y
(1)=c;
ift>1
forr=2:
t
y(t)=i(r-1)*stepy+y(t-1);
end
end
x1=x(t);
y1=y(t);
de=(x1)^2+(H-h/2-y1)^2-(h/2)^2;
w(t)=(atan((h*x1)/de)-s*q*((atan(H-y1)/x1)-pi/6));
ifx1<(3^0.5)*5;
ify1<=(5-((3^0.5)/3)*x1);
w(t)=(atan((h*x1)/de)-q*((atan(H-y1)/x1)-pi/6));
end
end
total=total+w(t);
end
end
para=0;
iftotal>max
max=total;
fore=1:
20
ify(e)>(H-h)
forv=1:
e
aa=((v-1)*stepx+d)*(-(y(e)-(H-h))/((e-1)*stepx+d))+(H-h);
ifaapara=1;
end
end
end
end
fors=1:
20
ifpara~=1;
m(s)=i(s);
end
end
end
end
total=0;
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
forj=1:
21
m0=0;
ifj>1
fore=2:
j
m0=m(e-1)+m0;
end
end
yopt(j)=m0*stepy;
xopt(j)=(j-1)*stepx+d;
end
x3=1:
0.1:
length(yopt)-1;
y3=interp1(xopt,yopt,x3,'cubic');
p=polyfit(x3,y3,15);
y4=polyval(p,x3);
plot(x3,y4,'-');
holdon
plot(x3,y3,xopt,yopt);
forrr=1:
length(yopt)-1;
y5=y4((rr-1)*10+1);
plot(rr,y5);
holdon
end
gridon;
holdon;
plot(0,(H-h),'*');
plot(0,H,'*');