Bir 3B Nokta kümesinden Merkez Çizgisini Bulma


21

Bir dizi 3B noktam var. Aşağıda gösterildiği gibi oldukça sabit bir çapa sahip kavisli bir desen izlerler. Bu noktaların yaklaşık merkez çizgisini izlemek için algoritma ne olurdu?

3d Puanlar


Polinom 3. derece, Excel?
FelixIP

Ne tür araçlar kullanıyorsunuz veya elinizde mevcut mu? Matlab? Excel? R? Python?
Scott Newson

@ScottNewson - kesinlikle Matlab değil.Herhangi bir programlama diline açığım.
vinayan

Bu soru / cevap size yardımcı olabilir, /programming/29208554/calculate-centerline-in-3d-sttruc
Matt

Yanıtlar:


7

In-Kwon Lee tarafından "Organize Edilmemiş Noktalardan Kavisli Yeniden Yapılanma" adlı bir kağıt vardır; bu , hareketli en küçük kareler yönteminden yararlanarak herhangi bir sipariş vermeden bir dizi noktadan çizgiler / eğriler oluşturmaya bakar . 2D uygulamalara odaklansa da, bunu daha yüksek boyutlara genişletme olasılığından bahsediyor. Aşağıdaki görüntü kağıttan alınmıştır:

Sözü edilen kağıttan alınan görüntüler

' Bölüm 4 - 3D Uzantısı'nda , yöntemin doğrudan 3 boyuta nasıl uygulanamayacağını açıklar, ancak 3D kuadratik regresyon eğrisini şu şekilde hesaplamak mümkündür:

  • Hareketli en küçük kareler yöntemini kullanarak komşu noktaları gruplama
  • İkinci dereceyi en aza indirerek regresyon düzlemi K : z = A x + B y + C'nin hesaplanması
  • Komşu noktaları K düzlemine yansıtma ve 2B hareketli en küçük kareler problemini çözme.

Bu yardımcı olur umarım! (Oldukça ilginç bir yazı!)


1
@whuber - Kontrol ettiğiniz için teşekkürler. Tesadüfen olası bir yöntemi tanımlayabilecek bir makale bulduğum için yazımı düzenledim.
Joseph

2
Güzel bulmak! EMST, bir çözümü dayandırmak için iyi bir seçimdir. (+1) Bu makaledeki prosedür, Loess veya çeşitli cezalandırılmış spline uyumu gibi sağlam yumuşatma yöntemleri ile geliştirilebilir.
whuber

3

Bu soru zaten cevaplandı. İşte aynı soru:

eğri-uydurma-3d-veri kümesi

Kullanıma hazır araçlar ve kodlar arıyorsanız, GAM'dan indirilebilen R paketlerinde uygulanan açgözlü yaklaşım gibi bu sorunu çözmek için birçok sayısal yöntem vardır .

Kendiniz uygulamak için saf algoritmalar arıyorsanız, matematik topluluğunda sormanızı öneririm ( http://math.stackexchange.com )

Ayrıca bu wiki sayfası sorunuzla ilgilidir ( http://en.wikipedia.org/wiki/Curve_fitting )


-1

Bir örnek verebilir misiniz?
nickves

Ne demek istiyorsun? URL'ler yanıtta.
Bay Che

2
Yanıtları küçümsemekten nefret ediyorum, çünkü yansıttıkları çabayı ve iyi niyetleri takdir ediyorum, ancak üç referansa baktıktan sonra, bunlardan birinin soruyu gerçekten cevaplamadığını keşfetmekten rahatsız oldum. Noktalara düz bir çizgi veya elipsoid takmak gibi basit varyasyonları etrafında dans ederler.
whuber

2
zaten yararlı olabilir umuduyla ilk bağlantıda bir gün geçirdim :)
vinayan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.