Ana içeriğe atla

Yeni Yükseklik

Tam Hacimli Sanal Beceri Alanı üzerinde, kırmızı noktanın konumunu orijin (0, 0) ve Kahraman Bot Merkezinin başlangıç ​​konumunu (0, 36) koordinatlarında olacak şekilde bir koordinat sistemi oluşturun. Kahraman robotun vurgulanan dört mor bloğun her birini alıp Üçüncü Hedefe kaydetmesi için [Sürüş yönü], [Yöne dön], [Konum için dön] ve [Dönme yönü] bloklarını kullanın. Robotu, bloğu bırakacağı ve hedefin doluluk seviyesinin doluluk seviyesinin 3 olacağı belirli bir konuma yönlendirecek bir algoritma oluşturun.

  • VIQRC Sanal Beceriler - Tam Ses Seviyeli Oyun Alanı'nı seçin.
  • Kahraman robotu, işaretlenmiş mor bloğu alıp 3. hedefe sayı atacak şekilde kodlayın. 
    • Robotu belirli bir mesafe boyunca hareket ettirecek ve X ve Y koordinatlarını takip edecek bir algoritma oluşturun. Robotu işaretlenmiş mor bloğa yönlendirmek için algoritmayı kullanın.
    • Robotu bloğu alacak şekilde kodlayın.
    • Robotu belirli bir konuma yönlendirmek için bir algoritma oluşturun. Robotu (-70, 1270) koordinatlarına yönlendirmek ve robotun yönünü -45 dereceye çevirmek için algoritmayı kullanın.
    • Robotu bloğu bırakacak şekilde kodlayın.
  • Kahraman robotu, vurgulanan ikinci mor bloğu alıp, ilk mor bloğun atıldığı pozisyon ve yönde, üçüncü hedefe atacak şekilde kodlayın. 
  • Kahraman robotu, vurgulanan üçüncü mor bloğu alıp, ilk mor bloğun atıldığı pozisyon ve yönde üçüncü hedefe atacak şekilde kodlayın. 
  • Kahraman robotu, vurgulanan dördüncü mor bloğu alıp, ilk mor bloğun atıldığı pozisyon ve yönde, Üçüncü Hedefe atacak şekilde kodlayın. 

Faydalı İpuçları

  • Robotun koordinatlarını (x1,y1), hedef konumun koordinatlarını (x2,y2) ve atan fonksiyonunu kullanarak sürüş yönünü bulun.
    • Bu iki noktayı birleştiren doğrunun açısını (teta θ) hesaplayın. İki matematiksel ifadenin diyagramı. İlk ifade 'theta'nın atan((y2 - y1) / (x2 - x1))' eşit olduğunu belirtir. İkinci ifade, '- pi / 2'nin teta'dan küçük olduğunu, teta'nın da pi / 2' küçük olduğunu belirtir. Yukarıdan aşağıya doğru gösterilen diyagramda robot (X1, Y1) koordinatında yer almaktadır ve bir çizgi (X2, Y2) koordinatına doğru yönelmektedir. Mesafe d değişkeniyle, açı ise teta değişkeniyle gösterilmiştir. Noktalar arasındaki yatay mesafe '- x1', dikey mesafe ise '- y1' olarak gösterilmiştir.
    • Matematiksel ifade için sözde kod örneği:

      x1, x2'ye eşitse:
      	y2 > ise:
      		; yön = 0 derece;
      	halde:
      		yön = 180 derece; aksi halde:
      
      	x2 > x1 ise:
      		yön = 90 derece - teta; aksi
      	:
      		yön = 270 derece - teta
    • Yönü belirlemek için teta θ açısını kullanın.  Yukarıdan aşağıya doğru gösterilen ve 'robot başlığı' olarak etiketlenen diyagramda, robotun etrafında 360 derecelik bir daire ve bu dairenin işaretlendiği etiketler bulunmaktadır.
  • Robotun koordinatlarını (x1,y1), hedef konumun koordinatlarını (x2,y2) ve Pisagor Teoremini kullanarak sürüş mesafesini bulun. Matematiksel ifade şu şekildedir: 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' Öncekiyle aynı yukarıdan aşağıya doğru çizilmiş diyagram, iki koordinat arasındaki farkı gösteriyor. Robot (X1, Y1) koordinatındadır ve bir çizgi (X2, Y2) koordinatına doğru yönelmektedir. Mesafe d değişkeniyle, açı ise teta değişkeniyle gösterilmiştir. Noktalar arasındaki yatay mesafe '- x1', dikey mesafe ise '- y1' olarak gösterilmiştir.

 

  • Operatörler kategorisindeki fonksiyon bloğunu kullanarak atan fonksiyonunu ifade edin ve teta θ açısını hesaplayın. Operatör bloklarını içeren VEXcode Fonksiyon bloğu, birlikte okunduğunda 'atanır ((Y2 - Y1) / (X2 - X1))' ifadesini oluşturur.
    • Eşleşen Python komutu: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Sürüş mesafesini hesaplamak için Pisagor Teoremini ifade etmek üzere Operatörler kategorisindeki fonksiyon bloğunu kullanın. VEXcode, fonksiyon ve operatör bloklarını içeren değişken bloğunu şu şekilde tanımlar: 'set driveDistance to sqrt of ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Eşleşen Python komutu: 

      SürüşMesafesi = math.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))