Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.24 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Linq;
  5.  
  6. namespace func_rocket
  7. {
  8.     public class ForcesTask
  9.     {
  10.         /// <summary>
  11.         /// Создает делегат, возвращающий по ракете вектор силы тяги двигателей этой ракеты.
  12.         /// Сила тяги направлена вдоль ракеты и равна по модулю forceValue.
  13.         /// </summary>
  14.         public static RocketForce GetThrustForce(double forceValue)
  15.         {
  16.             return r => new Vector(forceValue*Math.Cos(r.Direction),forceValue*Math.Sin(r.Direction));
  17.         }
  18.  
  19.         /// <summary>
  20.         /// Преобразует делегат силы гравитации, в делегат силы, действующей на ракету
  21.         /// </summary>
  22.         public static RocketForce ConvertGravityToForce(Gravity gravity, Size spaceSize)
  23.         {
  24.             return r => gravity(spaceSize,r.Location);
  25.         }
  26.  
  27.         /// <summary>
  28.         /// Суммирует все переданные силы, действующие на ракету, и возвращает суммарную силу.
  29.         /// </summary>
  30.         public static RocketForce Sum(params RocketForce[] forces)
  31.         {
  32.             return r => forces[0](r) + forces[1](r);
  33.         }
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement