Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using UnityEngine;
- using UnityEngine.UI;
- public class echosonda : MonoBehaviour {
- RaycastHit dol, lew45, praw45, przo45;
- public Text wdol;
- public Text prawo45;
- public Text lewo45;
- public Text przod45;
- double[] tabdol = new double[3];
- double sredniadol = 0;
- double sredniaprawo = 0;
- double srednialewo = 0;
- double sredniaprzod = 0;
- private int z=0;
- int y = 0;
- // Use this for initialization
- void Start()
- {
- StartCoroutine(sonda());
- }
- // Update is called once per frame
- IEnumerator sonda()
- {
- double odchyleniedol = 0;
- double odchylenie = 0;
- while(true)
- {
- Vector3 prawo = ((transform.up *(-1)) + transform.right).normalized;
- Vector3 lewo = ((transform.up *(-1)) + (transform.right *(-1))).normalized;
- Vector3 przod = (transform.forward + (transform.up * (-1))).normalized;
- Vector3 dol90 = (transform.up * (-1)).normalized;
- if (Physics.Raycast(transform.localPosition, dol90, out dol))
- {
- Debug.DrawLine(transform.localPosition, dol.point, Color.red,10f,false);
- }
- if (Physics.Raycast(transform.localPosition, prawo, out praw45))
- {
- Debug.DrawLine(transform.localPosition, praw45.point, Color.red, 10f,false);
- }
- if (Physics.Raycast(transform.localPosition, lewo, out lew45))
- {
- Debug.DrawLine(transform.localPosition, lew45.point, Color.red,10f,false);
- }
- if (Physics.Raycast(transform.localPosition, przod, out przo45))
- {
- Debug.DrawLine(transform.localPosition, przo45.point, Color.red,10f,false);
- }
- if (z <= 3) {
- for (y; y <= 3;) {
- tabdol [y] = (dol.distance - 20);
- sredniadol += (dol.distance - 20);
- z++;
- }
- }
- else
- {
- sredniadol = (sredniadol / 4);
- z = 0;
- }
- }y++;
- /*double[] zmienne = {
- (dol.distance - 20),
- (praw45.distance - 28.28),
- (lew45.distance - 28.28),
- (przo45.distance - 28.28)
- };*/
- if (z == 3) {
- float wariancja = ((Mathf.Pow ((float)(tabdol [0] - sredniadol), 2.0f) +
- (Mathf.Pow ((float)(tabdol [1] - sredniadol), 2.0f) +
- (Mathf.Pow ((float)(tabdol [2] - sredniadol), 2.0f) +
- (Mathf.Pow ((float)(tabdol [3] - sredniadol), 2.0f)) / 4.0f))));
- odchylenie = Mathf.Sqrt (wariancja);
- }
- wdol.text = "Dół kąt 90: \n" + (dol.distance - 20 - odchyleniedol).ToString("0.00") + " m" + (dol.distance - 20 + odchyleniedol).ToString("0.00") + " m";
- 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";;
- 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";
- 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";
- yield return new WaitForSecondsRealtime(0.5f);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement