import math
def quaternion_product(a, b):
for q in (a, b):
if type(q) not in (list, tuple) or len(q) != 4:
raise ValueError("quaternion.shape")
if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in q):
raise ValueError("quaternion.value")
w, x, y, z = a
v, i, j, k = b
return (w*v-x*i-y*j-z*k, w*i+x*v+y*k-z*j,
w*j-x*k+y*v+z*i, w*k+x*j-y*i+z*v)
✳Hamilton kuaterniyon çarpımı
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
Proje
Birim ve ters baz çarpımlarını test edip Boolean değerleri sessiz normalleştirme veya birim dönme iddiası olmadan reddedin.
Uygulamadan önce inceleyin
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
Modeller
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
import math
def quaternion_product(a, b):
for q in (a, b):
if type(q) not in (list, tuple) or len(q) != 4:
raise ValueError("quaternion.shape")
if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in q):
raise ValueError("quaternion.value")
w, x, y, z = a
v, i, j, k = b
return (w*v-x*i-y*j-z*k, w*i+x*v+y*k-z*j,
w*j-x*k+y*v+z*i, w*k+x*j-y*i+z*v)
Yapay zekâ ile kod çalışma alanı
Kod değişiklikleri sırasında gösterim kurallarını görünür tutun
İki modül gösterim konusunda uyuşmadığında dönüş hatası düzgün görünen bir aritmetik yamadan sonra da sürebilir. Quaterelle, bu uyuşmazlığı araştırmak için bir Windows yapay zekâ kodlama çalışma alanıdır. Hesaplamayı ve tüketicilerini görüşmeye getirin; bağlı modelden değişiklik önermeden önce bileşen kurallarını belirlemesini isteyin. Gözlenen hareket ve amaçlanan sonuçla başlayın.
Olası bir görev, sahne dönüşümünün kullandığı kuaterniyon çarpımını incelemektir. Bileşen sırasını ve hangi işlemin önce gerçekleşmesi gerektiğini belirtin; bilinen girdileri ve çıktıları sağlayın. Asistandan bu varsayımları çağıran kod boyunca izlemesini ve odaklı düzeltme önermesini isteyin. Görev, değişikliğin incelenebilir açıklamasıyla kendi dönüşüm kodunuzu iyileştirmektir.
Öneriyi hem aritmetik test örnekleri hem uygulama davranışıyla doğrulayın. Birim elemanla bileşimi, sıraya duyarlı bir çifti ve geçersiz bileşenleri proje sözleşmesine göre kontrol edin. Ardından etkilenen sahneyi veya entegrasyon testini kendiniz çalıştırın. Yamanın normalleştirme varsayımlarını veya kabul edilen aralıkları değiştirip değiştirmediğini inceleyin; bu kararlar ilk bildirilen hareketin ötesindeki çağıranları etkileyebilir.
Quaterelle, desteklenen OpenAI uyumlu veya Anthropic uç noktalarına bağlanır. Yapılandırılan hizmette sunuluyorsa ablasyon uygulanmış yapay zekâ modeli seçilebilir; araçlar, bağlam kapasitesi ve kısıtlamalar modele ve sunucuya bağlıdır. Sonucu değerlendirirken kuralları ve önerilen düzenlemeleri bir arada tutmak için çalışma alanını kullanın.
Dönüş kodu incelemesine hazırlık
Hangi kuaterniyon kuralını eklemeliyim?
Tüketici modülün kullandığı bileşen sırasını, çarpım kuralını ve yorumu verin. O sınırdaki dönüşümleri ekleyin. Benzer görünen diziler farklı kuralları temsil edebilir; asistan bunları yalnızca değişken adlarından çıkarmamalıdır.
Sırası önemli bir çift neden test edilmeli?
Bileşim sırası yanlış olsa bile birim eleman örnekleri geçebilir. Değişme özelliği olmayan bilinen bir çift kullanın ve hangi dönüşümün önce etki ettiğini belirtin. Hem aritmetik sonucu hem uygulamanın dönüşüm yolunda beklenen etkiyi kontrol edin.
Çarpım her sonucu normalleştirmeli mi?
Bu, sözleşmeye ve girdilerin anlamına bağlıdır. Eklemeden önce modelden normalleştirmenin şu anda nerede gerçekleştiğini incelemesini isteyin. Otomatik normalleştirme, çağıranların bilinçli olarak dayandığı davranışı değiştirebilir.
Sayısal test örneği sahne kontrolünün yerini alabilir mi?
Hesabın bir bölümünü doğrular, ancak sahne ek dönüştürmeler veya dönüşümler uygulayabilir. İlgili entegrasyon yolunu da çalıştırın. Düzeltmeyi açıklamak için sayısal örneği, gerçek kullanımını doğrulamak için sahne kontrolünü tutun.