Scaling.cs 710 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace MECF.Framework.Common.TwinCat
  7. {
  8. public class Scaling
  9. {
  10. public Scaling(double x1, double x2, double y1, double y2)
  11. {
  12. _scaleA=(y1-y2)/(x1-x2);
  13. _scaleB = y1 - _scaleA * x1;
  14. }
  15. private double _scaleA;
  16. private double _scaleB;
  17. public double CalculateYByX(double x)
  18. {
  19. return Math.Round((_scaleA * x + _scaleB),2);
  20. }
  21. public int CaculateXByY(double y)
  22. {
  23. return (int)Math.Round(((y - _scaleB) / _scaleA));
  24. }
  25. }
  26. }