Advertisement
Guest User

Untitled

a guest
May 26th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.05 KB | None | 0 0
  1. using System.Collections;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4.  
  5. public class echosonda : MonoBehaviour {
  6.     RaycastHit dol, lew45, praw45, przo45;
  7.     public Text wdol;
  8.     public Text prawo45;
  9.     public Text lewo45;
  10.     public Text przod45;
  11.     double[] tabdol = new double[3];
  12.     double sredniadol = 0;
  13.     double sredniaprawo = 0;
  14.     double srednialewo = 0;
  15.     double sredniaprzod = 0;
  16.     private int z=0;
  17.     int y = 0;
  18.    
  19.     // Use this for initialization
  20.     void Start()
  21.     {
  22.         StartCoroutine(sonda());
  23.     }
  24.  
  25.     // Update is called once per frame
  26.     IEnumerator sonda()
  27.     {
  28.         double odchyleniedol = 0;
  29.         double odchylenie = 0;
  30.         while(true)
  31.         {
  32.             Vector3 prawo = ((transform.up *(-1)) + transform.right).normalized;
  33.             Vector3 lewo = ((transform.up *(-1)) + (transform.right *(-1))).normalized;
  34.             Vector3 przod = (transform.forward + (transform.up * (-1))).normalized;
  35.             Vector3 dol90 = (transform.up * (-1)).normalized;
  36.             if (Physics.Raycast(transform.localPosition, dol90, out dol))
  37.             {
  38.                 Debug.DrawLine(transform.localPosition, dol.point, Color.red,10f,false);
  39.  
  40.             }
  41.             if (Physics.Raycast(transform.localPosition, prawo, out praw45))
  42.             {
  43.                
  44.                 Debug.DrawLine(transform.localPosition, praw45.point, Color.red, 10f,false);
  45.  
  46.             }
  47.             if (Physics.Raycast(transform.localPosition, lewo, out lew45))
  48.             {
  49.                
  50.                 Debug.DrawLine(transform.localPosition, lew45.point, Color.red,10f,false);
  51.  
  52.             }
  53.             if (Physics.Raycast(transform.localPosition, przod, out przo45))
  54.             {
  55.                
  56.                 Debug.DrawLine(transform.localPosition, przo45.point, Color.red,10f,false);
  57.  
  58.             }
  59.  
  60.  
  61.             if (z <= 3) {
  62.                 for (y; y <= 3;) {
  63.                     tabdol [y] = (dol.distance - 20);
  64.                     sredniadol += (dol.distance - 20);
  65.                     z++;
  66.                 }
  67.             }
  68.             else
  69.                 {
  70.                     sredniadol = (sredniadol / 4);
  71.                     z = 0;
  72.  
  73.                 }
  74.                    
  75.         }y++;
  76.  
  77.             /*double[] zmienne = {
  78.                 (dol.distance - 20),
  79.                 (praw45.distance - 28.28),
  80.                 (lew45.distance - 28.28),
  81.                 (przo45.distance - 28.28)
  82.             };*/
  83.  
  84.         if (z == 3) {
  85.             float wariancja = ((Mathf.Pow ((float)(tabdol [0] - sredniadol), 2.0f) +
  86.                 (Mathf.Pow ((float)(tabdol [1] - sredniadol), 2.0f) +
  87.                     (Mathf.Pow ((float)(tabdol [2] - sredniadol), 2.0f) +
  88.                         (Mathf.Pow ((float)(tabdol [3] - sredniadol), 2.0f)) / 4.0f))));
  89.                     odchylenie = Mathf.Sqrt (wariancja);
  90.                 }
  91.  
  92.             wdol.text = "Dół kąt 90: \n" + (dol.distance - 20 - odchyleniedol).ToString("0.00") + " m" + (dol.distance - 20 + odchyleniedol).ToString("0.00") + " m";
  93.             prawo45.text = "Prawo kąt 45: \n" + (praw45.distance - 28.28 - odchylenie).ToString("0.00") + " m" + (praw45.distance - 28.28 + odchylenie).ToString("0.00") + " m";;
  94.             lewo45.text = "Lewo kąt 45: \n" + (lew45.distance - 28.28 - odchylenie).ToString("0.00") + " m" + (lew45.distance - 28.28 + odchylenie).ToString("0.00") + " m";
  95.             przod45.text = "Przód kąt 45: \n" + (przo45.distance - 28.28 - odchylenie).ToString("0.00") + " m" + (przo45.distance - 28.28 + odchylenie).ToString("0.00") + " m";
  96.             yield return new WaitForSecondsRealtime(0.5f);
  97.  
  98.  
  99.  
  100.         }
  101.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement