Ana içeriğe geç

Usta sonrası uzmanlık stüdyosu

Çerçeve zincirini birleştir

Bu, Hat A'daki homojen dönüşüm dersinin devamı: bir robotun taban çerçevesindeki bir nokta, dünya çerçevesine göre nerede? Cevap, iki dönüşümü BİRLEŞTİRMEYE (compose) bağlı — ama sıra önemli, çünkü matris çarpımı değişmeli (commutative) DEĞİLDİR.

Aşağıdaki kodda mat_carp, nokta_donustur, rotz ve translation zaten hazır — bunları YAZMAYACAKSIN. Görevin: iki dönüşümün BİRLEŞTİRME SIRASINI düzeltmek. Taban çerçevesi önce döndürülüp sonra ötelenmeli mi, yoksa önce ötelenip sonra mı döndürülmeli? (İpucu: taban, dünyaya göre önce kendi ekseninde döner, sonra bir konuma taşınır — translation · rotz, tersi değil.)

İki senaryoyla ölçülüyor: biri gösterilen taban konumu/açısıyla, biri GİZLİ — farklı bir taban konumu ve nokta ile. Sonucu sabit sayı olarak yazmak ikincisinde işe yaramaz; matrisin gerçekten doğru sırayla birleştiği kanıtlanmalı.

Not: Bu stüdyo NumPy KULLANMAZ — platform hiçbir bilimsel Python paketini yerel olarak barındırmıyor (bkz. platformun tedarik zinciri ilkeleri). Aynı matematik saf Python 4×4 liste-matrisleriyle çalışıyor; kavram (kimlik, birleştirme sırası, değişmezlik-olmama) birebir aynı.

Python kodu
Kod editörü hazırlanıyor…
Sonuçlar

Henüz çalıştırılmadı.