Sto trasferendo un'applicazione CAD legacy a .NET. Le sue esigenze grafiche non sono molto complesse e GDI + con alcune ottimizzazioni ha buone prestazioni se non si fanno cose di fantasia. Tuttavia supporterò anche Direct2D in quanto offre una migliore esperienza e prestazioni.Grafica GDI +/Direct2D e dimensione mondiale
Il mio problema è che le vecchie app supportavano le coordinate Mercator e semplicemente non si adattano al float, quindi i crash dell'applicazione e GDI + non vanno bene con le trasformazioni di traduzione estreme. Vedo che Direct2D utilizza anche float.
Quindi dovrei implementare una matrice personalizzata per questo, al fine di tradurre ecc alle coordinate dello schermo? c'è un'altra soluzione?
Ho bisogno di una precisione doppia. Sembra che anche AutoCAD funzioni con questa precisione. Per esempio alcune coordinate memorizzate nel file sono come X: 4355974.24935948 – GorillaApe
Intendi CAD o GIS?È insolito che un sistema CAD supporti le coordinate assolute del mondo. Ad ogni modo, se questo è il caso e il problema è legato a un'accuratezza a virgola mobile insufficiente, non è possibile tradurre le coordinate in un sistema locale per ridurre l'ordine di grandezza? (ad esempio, sottrarre 4355900. o giù di lì, a seconda dell'intervallo utile, per ridurre il numero di cifre significative.) –
No, sia GDI + che Direct2D funzionano rigorosamente con virgola mobile a precisione singola. Dovrai risolvere questo problema prestando maggiore attenzione alla tua proiezione, tenendoti lontano dai poli con un margine sano :) –