振り子式車両傾斜角度計算

振り子式車両の傾斜角度を計算するプログラムを作成する。
(工事中)

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<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>
       <h:form>
           振り子式車両傾斜角度計算<br/>
           <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="#{furico.calculateTilt()}">
               <f:ajax execute="@form" render="@form"/>
           </h:commandButton>
           <br/>
           <h:outputLabel value="角度">
               <h:outputText value="#{furico.tilt}"/>
           </h:outputLabel>
       </h:form>
   </h:body>
</html>


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_ACCELERATION = 9.8;
   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_ACCELERATION) - Math.atan2(cant, gauge);
       tilt = Math.max(Math.toDegrees(t), 0);
   }
}


Ajaxを使用したため、書き込み時にページが変わっていない。

#ref(): File not found: "aj1.gif" at page "振り子式車両傾斜角度計算"

コメント



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS