Показать сообщение отдельно
Старый 07.08.2012, 19:51
PsixokoT вне форума Посмотреть профиль Отправить личное сообщение для PsixokoT Найти все сообщения от PsixokoT
  № 9  
Ответить с цитированием
PsixokoT

Регистрация: May 2008
Сообщений: 63
Ну тут как бы итак все понятно. Вам не нужно запомнать там какие то промежуточные значения.
Выше вам уже написали, что тахометр это просто вьюха которая показывает обороты.
Как оно показывает это элементарные преобразования угол = <значение оборотов>*<коэффициент деления тахометра>;

А вот что бы вычислять значение оборотов в текущую единицу времени, выше я описал факторы влияющие на это значение.

Пример электродвигателя которому наплевать на все окружающие факторы, работающий всегда на максимальной мощности.

Код AS1/AS2:
public class Engine extends Object {
 
	private var _rPM:Number; //обороты
 
	public function Engine() {
		super();
	}
 
	/**
	 *  
	 * @param value - значение 0..1, коэфициент нажатия на педаль
	 * 
	 */		
	public function fuelSupply(value:Number):void {
		var Uc:Number = 220;//Напряжение V 
		var Iy:Number = 20;//сила тока якоря А
		var Ry:Number = 4;//сопротивление якоря Om
		var k:Number = 0.4;//конструкт. коэфф
		var F:Number = 20*value;//поток Вб, 20 максимальное значение 
		this._rPM = (Uc - Iy*Ry)/k*F; 
	}
 
	public function get rPM():Number {
		return this._rPM;
	}
}
Понятное дело что в реальных условиях ни один двигатель не будет тот час выдавать таких результатов так как я захардкодил константами значения тока напряжения и сопротивления.