arasındaki kesişme noktası b-spline ve düz bir çizgi arasındaki kesişimi hesaplamanın bir yolunu bulmaya çalışıyorum. Şimdiye kadar Google çok fazla yardım etmedi.Bir spline ve bir satır
cevap
En iyi yaklaşımınız, spline'ınızı tek tek satır segmentlerine ayırmak ve her satır parçasını hat ile kesişim açısından test etmek olabilir. spline birden fazla noktada çizgiyi kesiştiği olabilir, bu nedenle de ilgilendiğiniz karar vermek gerekecek
Saf matematiksel yaklaşım:.
- spline ve böylece çizgiyi Transform satırın X ekseninde olduğunu.
- Y = 0 (spline'ın sırasına göre değişir) üzerindeki splinedaki noktaları hesaplayın.
- Bu noktaları özgün koordinat sisteminize geri dönüştürün.
Bu şekilde gidiyorsanız, gerekli formülleri çalıştırabilirim.
Yaklaşımdan hoşlanıyorum, ama spline'ın Y = 0 olduğu zaman nasıl çözersin? Spline segmentlerini değerlendirmek ve yaklaşmaya çalışmaktan başka bir yolu var mı? – Herms
Spline sırasına bağlı olarak, spline denklemlerinde (en azından kübik spline kadar) mevcut çözümler vardır. Formüller gerçekten garip olma eğilimindedir ve sayısal hatalarda düşük olmaları garanti edilmez. Dediğim gibi: saf bir matematiksel yaklaşım. –
Duyduğum en verimli algoritma Bezier kırpma adı verilir.
İşte bir book chapter on curve and spline intersection (pdf).
Bezier ve B Spline fonksiyonları için polinom kökü bulması kolay olduğundan, özellikle bu konudaki bir çözümü, özellikle bölüm 7.3'e bakarak başardım. –
- 1. Spline uydurma için Ransac
- 2. Pürüzsüz 3D spline
- 3. seçme ve satır eklemek için bir satır
- 4. C++ 'da Kübik Spline Enterpolasyonu
- 5. 3.js'de 2 nokta arasında bir spline eğrisi oluşturma
- 6. R'de spline fonksiyonunun türevini nasıl değerlendirebilirim?
- 7. Spline takılı 1d verisinde dönme noktaları bulma
- 8. MySql: Bir satır ekleyin ve içeriği alın
- 9. bir dosyadan satır oku ve atla C
- 10. Bir satır ile bir satır arasındaki bir önceki satır arasındaki zaman farkının nasıl hesaplanacağı düzeyler
- 11. Satır başka bir satır içermiyorsa, onları birleştirin
- 12. SQL Bir satır seçin ve bir SQL değişkeni içinde
- 13. Django - Belirli bir satır ve bir 2B Listeden col seç
- 14. Linux'ta belirli bir satır ve bir dosya sütunu nasıl çıkartılır?
- 15. Bir uitableviewcell satır yüksekliğini kaydırırken bir uitableviewcell satır yüksekliğini değiştirme
- 16. Extjs - Bir satır seleted edilmiş bir seçili satır
- 17. Bir textarea'da imlecin 'satır' (satır) numarasını bulun
- 18. C# Belirli bir satır numarasında metin dosyasına bir satır yazmak
- 19. ggplot2: bir satır
- 20. takın yeni bir satır
- 21. Bir satır ayrılmış dosya
- 22. Bir satır dizgisi [] ile düzleştirmek için bir satır LINQ?
- 23. Bir iletide satır sonu
- 24. ekranı Metin, bir satır
- 25. Matlab, Bir satır matrisinin her bir öğesini, başka bir satır matrisinin her bir öğesiyle nasıl karşılaştırırım?
- 26. Bir satırın satır numarasını ve içeriğini bulun ve ardından başka bir dosyada aynı satır numarasını bulun JAVA
- 27. std :: string'in bir satır aralığını
- 28. Bir CSV dosyasına yeni bir satır ekleme
- 29. C çizgisinde bir kerede bir satır okuma
- 30. OracleDataReader yalnızca bir satır döndürür
Katılıyorum, genellikle önerilen yöntem budur. Eğer yinelemeli olarak yaparsanız, istenen çözünürlüğü elde edene kadar bir kesişme noktasını bulduğunuz çizgi parçalarını hassaslaştırırsanız, genellikle daha verimli olur. – Kena