C# Koordinat Değeri Bulma
-
Eğer koordinatı 3 boutlu olarak x,y,z(i,j,k) olarak değilde 2 boyutta x ve ya axis leri kullanarak yapmak istiyorsan, 5 m nin senin sisteminde ne kadar uzaklığa tekabül edecek bunu belirlersin.Daha sonra sağa doğru 5 adım gittiğinde x axisin de 5m gitmiş olur.Eğer sağa 5 adım aşağıya 5 adım tekrar sağa 5 adım gittiğinde, koordinat sisteminde vektör olarak x axisinde 10 m ye axisinde ise 5m gitmiş olur.Buna göre yeni pozisyonu karekök(5^2+10^2)=pozisyon.
Yani statik olarak bu şekil, eğer programlama mantığıyla soruyorsan zaten x y axis olarak belirlediğinde 10 adım sola ve 5 adım aşağı olarak belirlediğinde pozisyonunu bulmuş olursun.
-
wert bunu yazdı
kartezyan koordinatmı
küresel koordinatmı
silindirik koordinatmı
ne istiyorsun aga
konununda zaten c# la ilgisi yok gibi
gps koordinatı sanırım hacı :) bu dediklerinden hangisi oluyor ?
benim elimde xml içerisinde longitude latitude değerleri var. senin dediğin şekilde bilmiyorumda sorarım onu
<Slice>
<DateStart>2011-02-26T07:00:00</DateStart>
<DateEnd>2011-02-27T00:00:00</DateEnd>
<DistanceStart>0</DistanceStart>
<DistanceEnd>1.616</DistanceEnd>
<Duration>600</Duration>
<Quantity>60616,44</Quantity>
<Performed>0</Performed>
<DistanceStartLat>49.89359</DistanceStartLat>
<DistanceStartLng>8.603499</DistanceStartLng>
<DistanceEndLat>49.86855</DistanceEndLat>
<DistanceEndLng>8.601664</DistanceEndLng>
</Slice> -
YeniHarman bunu yazdısolstice bunu yazdı
pardon hocam izah edemedim, öle değilde tekrar anlatim durumu.
sabit bir koordinat noktam var. bu sabit koordinat noktasından 5 metre sağa gidince yeni koordinat noktamı bulmak istiyorum.
yine aynı şekilde sabit noktamdan aşağı yukarı sola gittiğimdede yeni koordinat değerlerim ne olur ?
Şimdi açılı hareketler yapmayacağını kabul edersek unbalanced'ın dediği gibi bir point tanımlaması yapılabilir. Şöyle bir şey:
class Point
{
private int _x;
private int _y;
public Point()
{
_x = 0;
_y = 0;
}
public Point(int x, int y)
{
_x = x;
_y = y;
}
public int X
{
get { return _x };}
public int Y
{get {return _y};
}
public Point SagaGit(int kacmetre)
{
return new Point(this._x + kacmetre, this._y);
}public Point SolaGit(int kacmetre)
{
return new Point (this._x - kacmetre, this._y);
}/* aşağı ve yukarı metodları da burada olsun.*/
}sonra sınıfı
Point yer = new Point (10,10); //10,10 koordinatına yerleştirdim.
Point yeniYer = yer.SagaGit(5); //5 metre sağa gittim.MessageBox.Show(yeniYer.X.ToString() + ',' + yeniYer.X.ToString()); //yeniyer koordinatlarını göster.
gibi kullanabilirsiniz.
hocam bu bildiğimiz x,y koordinatı üzerinden hesap oluyor sanırım. bu şekilde değil. Çünkü iki koordinat arasındaki gps uzunluk felan daha farklı anlatılıyor.
İlgilendiğin için ayrıca teşekkürler hocam.
http://stackoverflow.com/questions/365826/calculate-distance-between-2-gps-coordinates
-
unbalanced bunu yazdı
hocam harita olduğunu belirtsene :) soruyu düzgün sormamışsın.. harita mühendisi var mı aramızda bilmiyorum ama bildiğim kadarıyla enlem-boylam kesişimlerine bkılıyor. hassas ölçümler için ne kullanılır bilmyorum ama google mapsde iki nokta arasındaki koordinatları inceleyebilirsin
dünyayı küre şekinde düşünürse küresel koordinatlarda halledilebilir gibi
xyz gibi değişkenlerin yerine r teta phi
kullanabilir zaten burada r sabit olacak (dünyayı küre kabul ettik yüzeyinde hareket ediyoruz)
mesela
doğu yününde 5000 metre hareket ettin
senin phi değerin değişecek
r*(phi2-phi1)=5000 metre olacak edit:burada birde sin (teta) olması gerekiyor
ve r sabir demiştik biliyoruz
phi 1 ve teta değerinide biliyoruz(bulunduğumuz nokta)
geriye sadece phi2 bulmak kalıyor
tabi burada phi ler radyan cinsinden
aradaki dönüşümleri yapman gerekecek
wert tarafından 06/Oca/13 02:54 tarihinde düzenlenmiştir -
wert bunu yazdıunbalanced bunu yazdı
hocam harita olduğunu belirtsene :) soruyu düzgün sormamışsın.. harita mühendisi var mı aramızda bilmiyorum ama bildiğim kadarıyla enlem-boylam kesişimlerine bkılıyor. hassas ölçümler için ne kullanılır bilmyorum ama google mapsde iki nokta arasındaki koordinatları inceleyebilirsin
dünyayı küre şekinde düşünürse küresel koordinatlarda halledilebilir gibi
xyz gibi değişkenlerin yerine r teta phi
kullanabilir zaten burada r sabit olacak (dünyayı küre kabul ettik yüzeyinde hareket ediyoruz)
mesela
doğu yününde 5000 metre hareket ettin
senin phi değerin değişecek
r*(phi2-phi1)=5000 metre olacak
ve r sabir demiştik biliyoruz
phi 1 değerinide biliyoruz(bulunduğumuz nokta)
geriye sadece phi2 bulmak kalıyor
tabi burada phi ler radyan cinsinden
aradaki dönüşümleri yapman gerekecek
Herhangi açısal bir değişiklikte kartezyen korrdinatlar göz önüne alınmalıki burada Dünyadan bahsediyorsak, açısal korordinatla işin içine girmek zorunda.Böylece kaba olarak pat diye r*(phi2-phi1)=5000 diye kabul edemeyiz.Hımm şöyle birdaha gözden geçirdimki eğer r teta phi ı x,y,z koordinat sistemine göre oluşturduysan
r=karekök(x^2+y^2+z^2)
teta=arccos(z/r)
phi=arctan(y/x)
bu doğru olabilir.
Esconda tarafından 06/Oca/13 03:00 tarihinde düzenlenmiştir -
Esconda bunu yazdıwert bunu yazdıunbalanced bunu yazdı
hocam harita olduğunu belirtsene :) soruyu düzgün sormamışsın.. harita mühendisi var mı aramızda bilmiyorum ama bildiğim kadarıyla enlem-boylam kesişimlerine bkılıyor. hassas ölçümler için ne kullanılır bilmyorum ama google mapsde iki nokta arasındaki koordinatları inceleyebilirsin
dünyayı küre şekinde düşünürse küresel koordinatlarda halledilebilir gibi
xyz gibi değişkenlerin yerine r teta phi
kullanabilir zaten burada r sabit olacak (dünyayı küre kabul ettik yüzeyinde hareket ediyoruz)
mesela
doğu yününde 5000 metre hareket ettin
senin phi değerin değişecek
r*(phi2-phi1)=5000 metre olacak
ve r sabir demiştik biliyoruz
phi 1 değerinide biliyoruz(bulunduğumuz nokta)
geriye sadece phi2 bulmak kalıyor
tabi burada phi ler radyan cinsinden
aradaki dönüşümleri yapman gerekecek
Herhangi açısal bir değişiklikte kartezyen korrdinatlar göz önüne alınmalıki burada Dünyadan bahsediyorsak, açısal korordinatla işin içine girmek zorunda.Böylece kaba olarak pat diye r*(phi2-phi1)=5000 diye kabul edemeyiz.
kartezynle işimiz yokki
o nereden çıktı
-
wert bunu yazdıEsconda bunu yazdıwert bunu yazdıunbalanced bunu yazdı
hocam harita olduğunu belirtsene :) soruyu düzgün sormamışsın.. harita mühendisi var mı aramızda bilmiyorum ama bildiğim kadarıyla enlem-boylam kesişimlerine bkılıyor. hassas ölçümler için ne kullanılır bilmyorum ama google mapsde iki nokta arasındaki koordinatları inceleyebilirsin
dünyayı küre şekinde düşünürse küresel koordinatlarda halledilebilir gibi
xyz gibi değişkenlerin yerine r teta phi
kullanabilir zaten burada r sabit olacak (dünyayı küre kabul ettik yüzeyinde hareket ediyoruz)
mesela
doğu yününde 5000 metre hareket ettin
senin phi değerin değişecek
r*(phi2-phi1)=5000 metre olacak
ve r sabir demiştik biliyoruz
phi 1 değerinide biliyoruz(bulunduğumuz nokta)
geriye sadece phi2 bulmak kalıyor
tabi burada phi ler radyan cinsinden
aradaki dönüşümleri yapman gerekecek
Herhangi açısal bir değişiklikte kartezyen korrdinatlar göz önüne alınmalıki burada Dünyadan bahsediyorsak, açısal korordinatla işin içine girmek zorunda.Böylece kaba olarak pat diye r*(phi2-phi1)=5000 diye kabul edemeyiz.
kartezynle işimiz yokki
o nereden çıktı
Kartezyen ile işin yoksa 3 boyutlu küresel sistemde bana tetanın açılımını yaparmısın??
Aa bak ben yapmışım ;)
Esconda tarafından 06/Oca/13 03:02 tarihinde düzenlenmiştir -
Esconda bunu yazdıwert bunu yazdıEsconda bunu yazdıwert bunu yazdıunbalanced bunu yazdı
hocam harita olduğunu belirtsene :) soruyu düzgün sormamışsın.. harita mühendisi var mı aramızda bilmiyorum ama bildiğim kadarıyla enlem-boylam kesişimlerine bkılıyor. hassas ölçümler için ne kullanılır bilmyorum ama google mapsde iki nokta arasındaki koordinatları inceleyebilirsin
dünyayı küre şekinde düşünürse küresel koordinatlarda halledilebilir gibi
xyz gibi değişkenlerin yerine r teta phi
kullanabilir zaten burada r sabit olacak (dünyayı küre kabul ettik yüzeyinde hareket ediyoruz)
mesela
doğu yününde 5000 metre hareket ettin
senin phi değerin değişecek
r*(phi2-phi1)=5000 metre olacak
ve r sabir demiştik biliyoruz
phi 1 değerinide biliyoruz(bulunduğumuz nokta)
geriye sadece phi2 bulmak kalıyor
tabi burada phi ler radyan cinsinden
aradaki dönüşümleri yapman gerekecek
Herhangi açısal bir değişiklikte kartezyen korrdinatlar göz önüne alınmalıki burada Dünyadan bahsediyorsak, açısal korordinatla işin içine girmek zorunda.Böylece kaba olarak pat diye r*(phi2-phi1)=5000 diye kabul edemeyiz.
kartezynle işimiz yokki
o nereden çıktı
Kratezyen ile işin yoksa 3 boyutlu küresel sistemde bana tetanın açılımını yaparmısın??
aga ihtiyacımız yok
xyz girmemize
r teta phi ile iş biter
zaten elinde olan veriler artık gps mi haritamı neyse
teta ve phi değerleri (enlem boylam)
doğu-batı doğrultusunda gidecekse phi
kuzey güney gidecekse teta değişecek
doğu batı gidekenki uzaklık r*phi*sin(teta)
kuzey güney gidekenki uzaklık r*teta
