public static Color4 GetColor(LightPreset preset, float intensity) { var temp = (int)preset; switch (preset) { case LightPreset.Red: return(new Color4(1, 0, 0, 0) * intensity); case LightPreset.Green: return(new Color4(0, 1, 0, 0) * intensity); case LightPreset.Blue: return(new Color4(0, 0, 1, 0) * intensity); case LightPreset.Yellow: return(new Color4(1, 1, 0, 0) * intensity); case LightPreset.Magenta: return(new Color4(1, 0, 1, 0) * intensity); case LightPreset.Cyan: return(new Color4(0, 1, 1, 0) * intensity); case LightPreset.White: return(new Color4(1, 1, 1, 0) * intensity); } //*/ if (temp <= 780) { return(new Color4(WaveLength.GetColor(temp), 0)); } var color = Temperature.Get(temp); return(new Color4(color.X * intensity, color.Y * intensity, color.Z * intensity, 0)); }
public SecondLabCalculatingObject(TraceLength traceLength, WaveLength waveLength, ThetaDegrees thetaDegrees, RelativeTraceLength relativeTraceLength, DiafragmRadius diafragmRadius, bool isDirected, bool reverseRelativeDistance) { this.traceLength = traceLength; this.waveLength = waveLength; this.thetaDegrees = thetaDegrees; this.relativeTraceLength = relativeTraceLength; this.isDirected = isDirected; this.diafragmRadius = diafragmRadius; this.reverseRelativeDistance = reverseRelativeDistance; }
public ThirdLabCalculationObject(Conductivity conductivity, ElectricalPermeability electricalPermeability, WaveLength waveLength, Height transmitterHeight, Height receiverHeight, ThetaDegrees thetaDegrees, TraceLength traceLength, PolarizationType polarizationType) { this.conductivity = conductivity; this.electricalPermeability = electricalPermeability; this.waveLength = waveLength; this.transmitterHeight = transmitterHeight; this.receiverHeight = receiverHeight; this.thetaDegrees = thetaDegrees; this.traceLength = traceLength; this.PolarizationType = polarizationType; }
public void CalculateFresnelZone(double waveLength, double traceLength, double relativeTraceLength, int fresnelZoneRadius, double expected) { WaveLength waveLengthObject = new WaveLength(waveLength, MetricPrefixes.One, UnitsOfMeasurement.Meter); TraceLength traceLengthObject = new TraceLength(traceLength); RelativeTraceLength relativeTraceLengthObject = new RelativeTraceLength(relativeTraceLength, MetricPrefixes.Percents, UnitsOfMeasurement.Percents); SecondLabCalculatingObject slco = new SecondLabCalculatingObject(traceLengthObject, waveLengthObject, null, relativeTraceLengthObject, null, true, true); var nFrenselZone = slco.CalculateNFresnelZone(fresnelZoneRadius).Value; Assert.AreEqual(Math.Ceiling(expected), Math.Ceiling(nFrenselZone)); }