proton acos komutu ve floatpoint derinliği sorunu

MAIN_LOOP

Onursal Üye
Onursal Üye
Katılım
28 Ara 2011
Mesajlar
2,217
Puanları
935
Yaş
44
Konum
ANKARA
herkese merhaba

gps den alınan ham nmea datasındaki longitude ve latitude ascii datasını decimale çevirip sonrada float değişken içerisinde dereceye çeviriyorum. daha sonra pc programımdan gprs ile cihaza gönderdiğim haritadan set edilmiş bir başka longi ve lati datasınıda aynı işlemlerden geçiriyorum. birde haritadan seçilen nokta ile etrafında bir daire ile (geofence) bu dairenin yarıçap bilgisinide gprs ile cihaza gönderiyorum. burdaki run ve set koordinat datalarını radian cinsinden arasındaki mesafeyi bulmam gerekli olduğundan cos ve sin komutları ile gerekli hesaplamaları yapıyorum buraya kadar herşey normal.

sorunum en son yapılan acos komutundan sonra problem oluşuyor. pc ile hesaplandığında sonuç mükemmel çıkmasına rağmen pic ve acos komutuyla sorun oluşuyor. normalde iki koordinatta aynı olduğunda sonucun sıfır çıkması gerekir fakat 2.22 km çıkmakta. debug programı ile baktığımda acos komutuna kadar fonksiyon tıkır tıkır acostan sonra float derinliği problemi oluşuyor. örn 0.999999 olan değeri pc olduğu gibi hesaplarken
pic float işlemi bunu 1 e yuvarlıyor ve acos hesabı sorunu ortaya çıkıyor. benim yapmak istediğim işlem harita üzerinde bir sanal daire çiti oluşturmak ve bunun merkezinden itibaren daire sınırları içerisinde olup olmadığımı bilmek. pic proton 3.5.5.5 ile başka bir fonksiyon veya komut önerisi olan arkadaşlar varsa ve benimle paylaşırsa çok sevinirim. (6 aylık projenin sonundayım tek sorun bu kaldı.)
ilgilenen arkadaşlara şimdiden teşekkürler
 
sevdiğim bir arkadaşım sorunu çözdü arkadaşlar güzel bir formül ile. 1mt hassasiyetle great circle formula ile yapıldı. bu konuda ihtiyacı olan olursa buradan kod paylaşımı yaparım.
 

Forum istatistikleri

Konular
129,050
Mesajlar
922,863
Kullanıcılar
451,321
Son üye
mehmet emin sözen

Yeni konular

Geri
Üst