振り子式車両傾斜角度計算
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*振り子式車両傾斜角度計算 [#m3e211c9]
振り子式車両の傾斜角度を計算するプログラムをJavaServer Fa...
~
まず、傾斜角度を計算するManagedBeanを作成する。~
軌間:gauge、カント:cant、カーブ半径:radius、速度:velo...
入力が楽になるように、初期値に軌間1,067mm(狭軌)、カント...
初期状態での傾斜角度を計算するため、@PostConstructを付け...
重力加速度は9.8m/s^2としている。~
>
import javax.annotation.PostConstruct;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
@Named(value = "furico")
@RequestScoped
public class Furico {
private double gauge = 1067;
private double cant = 105;
private double radius = 400;
private double velocity = 100;
private double tilt;
private static final double GRAVITATIONAL_ACCELERATIO...
public Furico() {
}
@PostConstruct
private void init() {
calculateTilt();
}
// getter/setter省略
public void calculateTilt() {
double v = velocity / 3.6;
double a = v * v / radius;
double t = Math.atan2(a, GRAVITATIONAL_ACCELERATI...
tilt = Math.max(Math.toDegrees(t), 0);
}
}
calculateTilt()では傾斜角度の計算を行う。~
まず、速度を3.6で割って単位をkm/hからm/sに変換する。~
次に、遠心力による加速度を速度^2/半径の式で計算する。(詳...
最後に傾斜角度(tanα=a/g)を計算する。ただし、カントで傾...
(Mathクラスの三角関数の角度は度数法(度)ではなく弧度法...
また、カーブを低速で走った場合は角度が負の数になってしま...
~
続いて、次のような画面をFaceletsで作成する。~
#ref(fu1.gif)~
まず、軌間、カント、カーブ半径、速度の入力項目と傾斜角度...
次に、計算ボタンを作成し、calculateTilt()を呼び出すように...
ここではf:ajaxタグを使用し、ボタンが押されたときにこのフ...
>
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona...
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>振り子式車両傾斜角度計算</title>
</h:head>
<h:body>
振り子式車両傾斜角度計算<br/>
<h:form>
<h:outputLabel value="軌間(mm)">
<h:inputText value="#{furico.gauge}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="カント(mm)">
<h:inputText value="#{furico.cant}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="カーブ半径(m)">
<h:inputText value="#{furico.radius}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="速度(km/h)">
<h:inputText value="#{furico.velocity}"/>
</h:outputLabel>
<br/>
<h:commandButton value="計算" action="#{furic...
<f:ajax execute="@form" render="tilt"/>
</h:commandButton>
<br/>
<h:outputLabel value="傾斜角度">
<h:outputText id="tilt" value="#{furico.t...
</h:outputLabel>
</h:form>
</h:body>
</html>
(注意)~
ばねの変形等による傾斜は無視している。~
また、傾斜の最大角度は車両によって異なる。~
-JR四国2000系気動車:5度~
-JR北海道キハ283系気動車:6度~
~
*コメント [#e0d50fd3]
#comment
終了行:
*振り子式車両傾斜角度計算 [#m3e211c9]
振り子式車両の傾斜角度を計算するプログラムをJavaServer Fa...
~
まず、傾斜角度を計算するManagedBeanを作成する。~
軌間:gauge、カント:cant、カーブ半径:radius、速度:velo...
入力が楽になるように、初期値に軌間1,067mm(狭軌)、カント...
初期状態での傾斜角度を計算するため、@PostConstructを付け...
重力加速度は9.8m/s^2としている。~
>
import javax.annotation.PostConstruct;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
@Named(value = "furico")
@RequestScoped
public class Furico {
private double gauge = 1067;
private double cant = 105;
private double radius = 400;
private double velocity = 100;
private double tilt;
private static final double GRAVITATIONAL_ACCELERATIO...
public Furico() {
}
@PostConstruct
private void init() {
calculateTilt();
}
// getter/setter省略
public void calculateTilt() {
double v = velocity / 3.6;
double a = v * v / radius;
double t = Math.atan2(a, GRAVITATIONAL_ACCELERATI...
tilt = Math.max(Math.toDegrees(t), 0);
}
}
calculateTilt()では傾斜角度の計算を行う。~
まず、速度を3.6で割って単位をkm/hからm/sに変換する。~
次に、遠心力による加速度を速度^2/半径の式で計算する。(詳...
最後に傾斜角度(tanα=a/g)を計算する。ただし、カントで傾...
(Mathクラスの三角関数の角度は度数法(度)ではなく弧度法...
また、カーブを低速で走った場合は角度が負の数になってしま...
~
続いて、次のような画面をFaceletsで作成する。~
#ref(fu1.gif)~
まず、軌間、カント、カーブ半径、速度の入力項目と傾斜角度...
次に、計算ボタンを作成し、calculateTilt()を呼び出すように...
ここではf:ajaxタグを使用し、ボタンが押されたときにこのフ...
>
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona...
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>振り子式車両傾斜角度計算</title>
</h:head>
<h:body>
振り子式車両傾斜角度計算<br/>
<h:form>
<h:outputLabel value="軌間(mm)">
<h:inputText value="#{furico.gauge}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="カント(mm)">
<h:inputText value="#{furico.cant}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="カーブ半径(m)">
<h:inputText value="#{furico.radius}"/>
</h:outputLabel>
<br/>
<h:outputLabel value="速度(km/h)">
<h:inputText value="#{furico.velocity}"/>
</h:outputLabel>
<br/>
<h:commandButton value="計算" action="#{furic...
<f:ajax execute="@form" render="tilt"/>
</h:commandButton>
<br/>
<h:outputLabel value="傾斜角度">
<h:outputText id="tilt" value="#{furico.t...
</h:outputLabel>
</h:form>
</h:body>
</html>
(注意)~
ばねの変形等による傾斜は無視している。~
また、傾斜の最大角度は車両によって異なる。~
-JR四国2000系気動車:5度~
-JR北海道キハ283系気動車:6度~
~
*コメント [#e0d50fd3]
#comment
ページ名: