Ben ancak bunun nasıl hiçbir net örnek bulunmaktadır, bir QTransform nesnesi olması ve nesne tarafından döndürülür derece olarak açısını öğrenmek istiyorum Tekrar dışarı çıkmak zor.Dönüş açısını QTransform'dan nasıl çıkarabilirim? Kolay Ayar</p> <p><a href="http://doc.trolltech.com/4.4/qtransform.html#basic-matrix-operations" rel="noreferrer">http://doc.trolltech.com/4.4/qtransform.html#basic-matrix-operations</a></p> <p>alma:
cevap
almak için trigonometrik fonksiyonlar (arctan) kullanmaktır Kolay: Sadece m11 öğesinin acos'unu alın.
Dönüştürme bir çeviri içeriyorsa hala çalışır, ancak kesme veya ölçekleme içeriyorsa şansınız kalmaz. Matrisin bir kesme, ölçek ve döndürme matrisine ayrılmasıyla bunlar yeniden oluşturulabilir, ancak elde ettiğiniz sonuçlar büyük olasılıkla aradığınız şey değildir.
en basit genel yolu (0,0) dönüşümü ve (1,0), sonra SADECE öyle bir rotasyon içeren dönüşümü olduğunu, açı varsayarsak
Bunu yapmanın doğru yolu budur. Teknik doğruluk için teşekkürler – sharvey
Dönüştürme Matrisi, 3d grafikler için kullanılan bir uygulamadır. Noktaların/nesnelerin 3d konumsal/dönme yönelimlerini hızlandırmak için matematiği basitleştirir. Ardışık çeviriler/rotasyonlar/ölçekler biriktirme biçimi nedeniyle Dönüşümden yönelimi çıkarmak gerçekten çok zordur.
İşte bir öneri. (1,0,0) gibi basit bir yöne işaret eden bir vektör çekin ve daha sonra Transform'i ona uygulayın. Elde edilen vektörünüz size böyle bir şey verecek şekilde tercüme edilecek ve döndürülecektir: (27.8, 19.2, 77.4). Gibi bir şey elde etmek için (26.1, 19.4, 50.8) Dönüştürme (0,0,0) 'e uygulayın. Bu iki noktayı, başlangıç noktalarını (1.0,0) bilmeye dayalı olarak uygulanan rotasyonları hesaplamak için kullanabilirsiniz.
Bu yardımcı olur mu?
QTransform 3x3 matrislerini kullanarak 2B dönüşümleri gerçekleştirir. 4x4 matrislerle 3D dönüşümleri çok benzer, ancak 2D kasadaki matematik biraz daha basit. Söyleniyor ki, Nils dışındaki herkes [[1,1,0], [0,1,0], [0,0,1]] gibi kesme dönüşümlerini unutmuş gibi görünüyor, bu durumda sadece iki noktayı zorlamayacak. Yeterince açıklayıcı bir sonuç döndür. – ephemient
Genel olarak ters bir trig işlevine gereksiniminiz vardır, ancak çeyreğim belirsizliklerine dikkat etmeniz gerekir ve bu, atan2'yi (bazen arctan2) kullanmanız gereken şeydir. Yani ya bir birim vektörü [0, 1] 'i [x, y]' ye çevirin ve sonra da atan2 (y, x) 'i kullanın ya da matris sadece bir rotasyon uyguluyorsa, atan2'yi (m12, m11) kullanabilirsiniz. (Bunlar, atan2 kullanmamaları dışında Javier ve Nils cevaplarına benzerler.)
Sadece setRotate ile QGraphicsItem kullanıyordum ve bir döndürme grubu işlevselliği ekleyene kadar herhangi bir sorun yaşamadım. Sorun, destroyItemGroup çağrıldığında, rotasyonu, döndürme olarak değil, öğelere dönüştürme olarak uygular. Bu yüzden bu QTransform nesnesinden dönüşü kurtarmam gerekiyordu.
My düzeltme (tom10 cevabı kredisi) itemChange yöntemine aşağıdaki satırları eklemek oldu:
QVariant MyGraphicItem::itemChange(GraphicsItemChange change, const QVariant &value)
{
if(change == ItemTransformChange)
{
auto transform = value.value<QTransform>();
setRotation(rotation() + qRadiansToDegrees(qAtan2(transform.m12(), transform.m11())));
return QVariant();
}
...
}
PS .: işe yaramadı acos ve M11() ile diğer çözüm. Tom10 tarafından açıklandığı gibi belirli değerler için çöker.
- 1. nasıl <a href="https://www.vaultproject.io/" rel="nofollow">vault</a> için denemeye istedik
- 2. - değil <a href>
- 3. <a href.. in PHP
- 4. <a href="http://deepliquid.com/content/Jcrop_Manual.html" rel="noreferrer">Jcrop</a> içinde
- 5. DVWA Ben <a href="http://www.dvwa.co.uk/" rel="nofollow noreferrer">DVWA</a> yapılandırmış
- 6. Geçenlerde Geçmişte <a href="http://necolas.github.com/normalize.css" rel="nofollow">normalize.css</a></p> <p>büyük bir hayranı oldum
- 7. bir projede klasörleri</em> görmezden <a href="http://www.jetbrains.com/phpstorm/" rel="noreferrer"><strong><code>PhpStorm</code></strong></a><em>için anlarım nasıl PhpStorm
- 8. nasıl <a href="http://code.shutterstock.com/rickshaw/" rel="nofollow">http://code.shutterstock.com/rickshaw/</a></p> <p>Javascript grafikleri kullanmak istiyorum
- 9. nasıl gibi <a href="http://asp.net/mvc" rel="nofollow noreferrer">ASP.NET MVC</a> Kanununun <a href="http://www.codeplex.com/aspnet" rel="nofollow noreferrer">preview 4</a> kullanarak MVC
- 10. nasıl <a href="http://refinerycms.com/" rel="noreferrer">refinery cms</a> bir <a href="http://railscasts.com/episodes/333-extending-refinery-cms?view=asciicast" rel="noreferrer">custom engine</a> yaratıyorum
- 11. kabartılmış/motorize erişim <a href="http://twill.idyll.org/" rel="nofollow noreferrer">Twill</a> ve <a href="http://wwwsearch.sourceforge.net/mechanize/" rel="nofollow noreferrer">Mechanize</a> ilgili sorular
- 12. zaman bir <a href="http://en.wikipedia.org/wiki/PostgreSQL" rel="noreferrer">PostgreSQL</a> veritabanında tip <a href="http://www.postgresql.org/docs/current/static/datatype-datetime.html" rel="noreferrer">Timestamp</a> olduğu durumlarda java.sql.Timestamp
- 13. , I hemen oluşturabilir <a href="http://jxls.sourceforge.net/index.html" rel="noreferrer">Jxls API</a></p> <p>kullanıyorum dönüştürülmüş şablon
- 14. Git, <<<<<<< HEAD dosyasına
- 15. python3 varsayılan kodlama ben <a href="http://inginious.readthedocs.io" rel="noreferrer">inginious</a> denilen bir çerçeve kullanıyorum ve onun şablonu oluşturmak için <a href="http://webpy.org/" rel="noreferrer">web.py</a> kullanıyor
- 16. kullanma renk haritası <a href="http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter" rel="noreferrer">scatterplot</a><code>matplotlib</code> yılında
- 17. Css Sen <a href="http://jsfiddle.net/r5vvac82/" rel="nofollow noreferrer">Jsfiddle</a></p> <p>sorunu görebilirsiniz
- 18. Ben Aşağıda</p> <p><a href="https://datatables.net/" rel="nofollow">https://datatables.net/</a> örneğin aynı tabloyu oluşturmak çalışıyorum
- 19. <code>abcast</code><a href="http://erlang.org/doc/man/gen_server.html#abcast-2" rel="noreferrer">abcast man page</a> bakarken
- 20. Yukarıda Dockerfile ile <a href="https://katacoda.com/courses/docker/3" rel="noreferrer">Dockerizing nodejs</a> uygulamalar için <a href="https://katacoda.com" rel="noreferrer">katacoda.com</a> egzersizi tamamlamaya çalışıyorum
- 21. MQTT neden "hafif" mesajlaşma protokolü olarak adlandırılır? <a href="https://en.wikipedia.org/wiki/MQTT" rel="noreferrer">Wikipedia</a> ve <a href="http://mqtt.org/" rel="noreferrer">Mqtt.org</a> uyarınca
- 22. $ (...). Datetimepicker ben <a href="https://webpack.github.io/" rel="noreferrer">webpack</a> kullanıp <a href="http://eonasdan.github.io/bootstrap-datetimepicker/" rel="noreferrer">bootstrap-datetimepicker</a> kullanmak istediğiniz bir işlev
- 23. CSS - Neden <a href> elements?
- 24. Şekillendirici <a> yok href özniteliği
- 25. <a> etiketi
- 26. Tasarım <a href>, <button>, <input> in JSP
- 27. Galleria eklentisi: Bağlantılar nasıl eklenir? Bu <a href="http://galleria.aino.se/" rel="noreferrer">Galleria plugin</a> bahsediyor
- 28. atamasını kaldır göz düğme <a href="https://github.com/flowjs/flow.js" rel="noreferrer">flow.js</a> bileşeni ile
- 29. ekleme doğrulamaları AASM devleti <a href="https://github.com/pluginaweek/state_machine" rel="noreferrer">state_machine</a> yılında
- 30. Python'un örnek <a href="http://docs.python.org/library/functions.html#iter" rel="nofollow">python docs</a> de
+1. Çeviri dışı bölümün SVD ayrışması da akla gelir (dönme bileşimi, x-y eksenleri boyunca anizotropik ölçekleme ve döndürme). –