public IEnumerable <RendererHelper.StarMoved> GetStarsMoved(double phase, double time, double originX, double originY, double originZ) { phase += phase0; foreach (RendererHelper.StarMoved starMoved in point.GetStarsMoved(time, originX + Math.Sin(phase.PhaseToRad()) * radius, originY + Math.Cos(phase.PhaseToRad()) * radius, originZ )) { yield return(starMoved); } }
public static List <StarMoved> GetAngledStars(IPointObject obj, double time, double angle) { var stars = new List <StarMoved>(); double sin = Math.Sin(angle); double cos = Math.Cos(angle); foreach (StarMoved origStar in obj.GetStarsMoved(time, 0, 0, 0)) { var star = new StarMoved( radius: origStar.radius, exitance: origStar.exitance, x: origStar.center.x, y: origStar.center.y * cos - origStar.center.z * sin, z: -origStar.center.y * sin - origStar.center.z * cos ); stars.Add(star); } return(stars); }