Witam.
Jak najprościej (najlepiej gotowe algorytmy) lub wbudowane w C#
można wygładzić linię dla smoothingu GPS?
Próbowałem Beziera, ale nie działa ze względu na konieczność używania 3 punktów..
mam punty w formie:
Point point1 = new Point(bX[0], bY[0]);
Point point2 = new Point(bX[1], bY[1]);
i normalnie je rysuje na ekranie
g.DrawLine(linePen, point1, point2);
ale dla nie których danych są bardzo poszarpane
może da się je łatwo wygładzać?
Dobra efekt beziera prezentuje się tak:
Błąd:
Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time)
zamiast tego okna dialogowego znajdują się na końcu tego komunikatu.
************** Tekst wyjątku **************
System.ArgumentException: Parametr jest nieprawidłowy.
w System.Drawing.Graphics.CheckErrorStatus(Int32 status)
w System.Drawing.Graphics.DrawBeziers(Pen pen, Point[] points)
w GUI.Form1.LoadMap(String mp4, String gps, String nowyName) w c:\Users\admin\Documents\Visual Studio 2013\Projects\GUI\GUI\Form1.cs:wiersz 1934
w System.Windows.Forms.Form.OnLoad(EventArgs e)
w System.Windows.Forms.Form.OnCreateControl()
w System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
w System.Windows.Forms.Control.CreateControl()
w System.Windows.Forms.Control.WmShowWindow(Message& m)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.Form.WmShowWindow(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Zestawy załadowane **************
mscorlib
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
GUI
Wersja zestawu: 1.0.0.0
Wersja Win32: 1.0.0.0
CodeBase: file:///C:/Users/admin/Documents/Visual%20Studio%202013/Projects/GUI/GUI/bin/x64/Release/GUI.exe
----------------------------------------
System.Windows.Forms
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Windows.Forms.resources
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1055.0 built by: NETFXREL2
CodeBase: > file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_pl_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Configuration
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accord
Wersja zestawu: 3.7.0.0
Wersja Win32: 3.7.0.6075
CodeBase: file:///C:/Users/admin/Documents/Visual%20Studio%202013/Projects/GUI/GUI/bin/x64/Release/Accord.DLL
----------------------------------------
Accord.Video.FFMPEG.x64
Wersja zestawu: 3.7.0.0
Wersja Win32:
CodeBase: file:///C:/Users/admin/Documents/Visual%20Studio%202013/Projects/GUI/GUI/bin/x64/Release/Accord.Video.FFMPEG.x64.DLL
----------------------------------------
Accord.Video
Wersja zestawu: 3.7.0.0
Wersja Win32: 3.7.0.6075
CodeBase: file:///C:/Users/admin/Documents/Visual%20Studio%202013/Projects/GUI/GUI/bin/x64/Release/Accord.Video.DLL
----------------------------------------
System.Drawing.resources
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_pl_b03f5f7f11d50a3a/System.Drawing.resources.dll
----------------------------------------
mscorlib.resources
Wersja zestawu: 4.0.0.0
Wersja Win32: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_pl_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
Kod
Point punkt = Point.Empty;
int pixOfsX = 200;
int pixOfsY = 200;
bool pokaOdRazuCala = true;
int sto;
if (pokaOdRazuCala)
sto = allMessages.Count-1;
else
sto = i;
List<Point> punkty = new List<Point>();
Dalej:
// Create points that define line.
Point point1 = new Point(bX[0], bY[0]);
Point point2 = new Point(bX[1], bY[1]);
punkty.Add(point1);
Próba wywołania
if (punkty.Count > 2)
{// ilosc punktozordow musi byc wielokrotnoscia 3 : /
g.DrawBeziers(linePen2,punkty.ToArray());
}
Z pozycji kompilatora dostaję:
A first chance exception of type 'System.ArgumentException' occurred in System.Drawing.dll
Gdy odpalam EXE - błąd z JIT który wstawiłem na początku edytowanej wiadomości.