Noktanın kapalı eğrinin içindeki konumu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Noktanın kapalı eğrinin içindeki konumu
Merhaba Dostlarım!
Delphi ile bir grafik çalışması yapıyorum. Ancak ilgili olan noktanın konumunu tesbit etmekde zorlandım.
Konuyu daha açık olarak izah etmek istiyorum.
- Yatayda doğru ve düşey düzgün eğrileri olan bir şekil düşünün(Şekli kafamızda şöylede canlandırabiliriz: Çizgileri düzgün olmayan milimetrik kağıt)
Bu şekildeki çizgilerin kesişim noktalarının koordinatları(apsis ve Ordinatları) veri tabanında kayıtlı.
Bu düzgün olmayan milimetrik kağıdın herhangi bir karesinin örneğin ortalarına yakın olan yeri tıkladığımda doğru sonuç alıyorum. Ancak köşelere yakın yere tıkladığımda
bir önceki veya sonraki karenin köşe noktalarını okuyor. Benim istediğim tıkladığım nokta nerede olursa olsun (kapalı alanın içinde olmak şartıyla) bu noktayı çerçeveleyen
düzgün olmayan karenin köşelerinin koordinatlarını bulmak.
Bu konuda bilgisi olan arkadaşların yardımını bekliyorum.
Delphi ile bir grafik çalışması yapıyorum. Ancak ilgili olan noktanın konumunu tesbit etmekde zorlandım.
Konuyu daha açık olarak izah etmek istiyorum.
- Yatayda doğru ve düşey düzgün eğrileri olan bir şekil düşünün(Şekli kafamızda şöylede canlandırabiliriz: Çizgileri düzgün olmayan milimetrik kağıt)
Bu şekildeki çizgilerin kesişim noktalarının koordinatları(apsis ve Ordinatları) veri tabanında kayıtlı.
Bu düzgün olmayan milimetrik kağıdın herhangi bir karesinin örneğin ortalarına yakın olan yeri tıkladığımda doğru sonuç alıyorum. Ancak köşelere yakın yere tıkladığımda
bir önceki veya sonraki karenin köşe noktalarını okuyor. Benim istediğim tıkladığım nokta nerede olursa olsun (kapalı alanın içinde olmak şartıyla) bu noktayı çerçeveleyen
düzgün olmayan karenin köşelerinin koordinatlarını bulmak.
Bu konuda bilgisi olan arkadaşların yardımını bekliyorum.
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Arkadaşlar bu konuda bana yardımcı olacak sitede işi bilen 1 kişi dahi yokmu?
Re: Noktanın kapalı eğrinin içindeki konumu
Bu serzenişe gerek yok, kendi sorunu okusan çözeceksin. Mouse ile tıklanan yer çizgilerin rengi ise sonuç döndürme, kare içi ise veritabanında var demişsin, ilgili adresi verdir olsun bitsin. Kenarlara göre sapma ne ise bunu deneme yanılma ile bir tablo hazırla x, y durumuna göre sapmayı devreye sok.
Kafada canlandırın diyeceğinize bir kare screen paylaşsaydınız sorunuz daha kolay anlaşılır olurdu.
Kafada canlandırın diyeceğinize bir kare screen paylaşsaydınız sorunuz daha kolay anlaşılır olurdu.
Re: Noktanın kapalı eğrinin içindeki konumu
Bir arama algoritması ile, test noktasını ve sırayla veritabanındaki kareleri kullanmak gerekir
* Birden fazla kare, notkayı içeriyor olabilir
* Tek bir kare, noktayı içeriyor olabilir
* Hiçbir kare, noktayı içeriyor olabilir
İlk maddenin çözümü için, algoritmanın, basit bir puan mekanizması olmalı ve en yüksek veya en düşük puanlı sonuç aradığınızdır. Dediğimi anlatabilmek adına, kağıda iç içe veya kesişimi olan bir kaç kare çizin.
Böyle düşünerek çözüm bulmaya çalışın, olmazsa tekrar bakalım ...
* Birden fazla kare, notkayı içeriyor olabilir
* Tek bir kare, noktayı içeriyor olabilir
* Hiçbir kare, noktayı içeriyor olabilir
İlk maddenin çözümü için, algoritmanın, basit bir puan mekanizması olmalı ve en yüksek veya en düşük puanlı sonuç aradığınızdır. Dediğimi anlatabilmek adına, kağıda iç içe veya kesişimi olan bir kaç kare çizin.
Böyle düşünerek çözüm bulmaya çalışın, olmazsa tekrar bakalım ...
Ömür Ölmez
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Sayın mrmarman resim paylaşmasını bilmiyorum. Bana yardımcı olursanız ilgili konuyu daha rahat anlatabilirim. Tşk.
Re: Noktanın kapalı eğrinin içindeki konumu
Denizleri aşarak derede boğulmak gibi olmasın, google ile sormayı işlerin yoğunluğundan atlamış olmanız doğaldır. bkz. http://postimage.org/?lang=turkish
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Sayın "mrmarman"
Eğer çalışmasını yaptığım grafiğin bir bölümünü paylaşmasını yapabildiysem, Grafik üzerindeki noktalama işaretlerinin önce açıklamak istiyorum.
Noktamızın konumu 1-2-3-4 noktaları ile çevrili bölgenin içinde bulunan A veya B veya C noktalarından
herhangi birisidir.
1,2,3,4 noktalarının koordinatları veritabanında kayıtlı.
Şimdi konuyu açıklamaya çalışayım.
Örneğin Fare ile A veya B veya C noktalarından herhangi birisini tıkladığımda 1,2,3,4 noktalarının koordinatla rını veri tanabından okuyarak ekrana getirmek istiyorum.
A noktasını tıkladığımda herhangi bir sorun olmadan bu
1,2,3,4 noktalarının koordinatlarını buluyorum.(Şekil 1)
Ancak fare ile tıkladığım yer B veya C olduğunda 1 noktasının koordinatını veritabanından getireceği yerde 1.1 noktasının koordinatını 2 noktasının koordinatı yerine 1 noktasının koordinatını 3 noktasının koordinatı yerine 4 noktasının koordinatını,
4 noktasının koordinatı yerine 4.4 noktasının koordinatını veritabanından okuyor.Tıkladığım yer 1-d çizgisinin üstünde veya 4-e çizgisinin altında kalırsa
veri tabanından yanlış değer okuyor.(Şekil 2 gibi oluyor).
Sanırım sorunumu anlatabildim.
Arkadaşım mrmarman ben bu konuyla yaklaşık 1.5 aydır uğraşıyorum ama çözüm bulamadım. Çözüm konusunda yardımcı
olursanız beni bahtiyar edersiniz. Teşekkürlerimi sunarım. İzmirlikemal
http://s29.postimg.org/9kej2m4af/Calisma11.png
http://s15.postimg.org/c8dd84akr/Calisma.png
Eğer çalışmasını yaptığım grafiğin bir bölümünü paylaşmasını yapabildiysem, Grafik üzerindeki noktalama işaretlerinin önce açıklamak istiyorum.
Noktamızın konumu 1-2-3-4 noktaları ile çevrili bölgenin içinde bulunan A veya B veya C noktalarından
herhangi birisidir.
1,2,3,4 noktalarının koordinatları veritabanında kayıtlı.
Şimdi konuyu açıklamaya çalışayım.
Örneğin Fare ile A veya B veya C noktalarından herhangi birisini tıkladığımda 1,2,3,4 noktalarının koordinatla rını veri tanabından okuyarak ekrana getirmek istiyorum.
A noktasını tıkladığımda herhangi bir sorun olmadan bu
1,2,3,4 noktalarının koordinatlarını buluyorum.(Şekil 1)
Ancak fare ile tıkladığım yer B veya C olduğunda 1 noktasının koordinatını veritabanından getireceği yerde 1.1 noktasının koordinatını 2 noktasının koordinatı yerine 1 noktasının koordinatını 3 noktasının koordinatı yerine 4 noktasının koordinatını,
4 noktasının koordinatı yerine 4.4 noktasının koordinatını veritabanından okuyor.Tıkladığım yer 1-d çizgisinin üstünde veya 4-e çizgisinin altında kalırsa
veri tabanından yanlış değer okuyor.(Şekil 2 gibi oluyor).
Sanırım sorunumu anlatabildim.
Arkadaşım mrmarman ben bu konuyla yaklaşık 1.5 aydır uğraşıyorum ama çözüm bulamadım. Çözüm konusunda yardımcı
olursanız beni bahtiyar edersiniz. Teşekkürlerimi sunarım. İzmirlikemal
http://s29.postimg.org/9kej2m4af/Calisma11.png
http://s15.postimg.org/c8dd84akr/Calisma.png
Re: Noktanın kapalı eğrinin içindeki konumu
Merhaba.
(1) Grafik statik ise ilk önereceğim şey grafikteki hücreleri elle sayısallaştırmanız yönündedir.
(2) Bunu bir matrix içerisinde tutun.
(3) Noktaları image üzerinde işaretlerken (X/Y düzenini artık bildiğiniz için) arka planda bu matrix üzerinde nereye isabet ediyorsa onu veritabanında kullanın.

(1) Grafik statik ise ilk önereceğim şey grafikteki hücreleri elle sayısallaştırmanız yönündedir.
(2) Bunu bir matrix içerisinde tutun.
(3) Noktaları image üzerinde işaretlerken (X/Y düzenini artık bildiğiniz için) arka planda bu matrix üzerinde nereye isabet ediyorsa onu veritabanında kullanın.

Kod: Tümünü seç
Var
xSay : Integer;
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
sc_DragMove=$F012;
begin
ReleaseCapture;
TPanel(Sender).Perform(WM_SYSCOMMAND, sc_DragMove, 0);
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
With TPanel.Create( self ) do
begin
Inc(xSay);
Name := 'P'+IntToStr(xSay);
Color := clRed;
Font.Color := clWhite;
Caption := IntToStr(xSay);
Width := 14;
Height := 14;
Left := X - (Width div 2);
Top := Y - (Height div 2);
Parent := Self;
ParentBackground := False;
OnMouseDown := PanelMouseDown;
Memo1.Lines.Add( Format('Panel : %d = X:%d, Y:%d', [xSay, X,Y]) );
end;
end;
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Merhaba
İlk gördüğüm kadarıyla siz 1..27 noktaların koordinatlarının veri tabanında kayıtlı olduğunu düşünüyorsunuz.
Eğer böyle düşünüyorsanız yanlış. Zira KT1,KT2,KT3..KTn doğruları ile IR1,IR2,IR3, IRn doğrularının kesişim noktalarının koordinatları veri tabanında
kayıtlı.
İlk gördüğüm kadarıyla siz 1..27 noktaların koordinatlarının veri tabanında kayıtlı olduğunu düşünüyorsunuz.
Eğer böyle düşünüyorsanız yanlış. Zira KT1,KT2,KT3..KTn doğruları ile IR1,IR2,IR3, IRn doğrularının kesişim noktalarının koordinatları veri tabanında
kayıtlı.
Re: Noktanın kapalı eğrinin içindeki konumu
Algıda seçicilik bu olsa gerek. Ben aslında metod konusunda yardımcı olmaya çalışıyorum. Noktalar temsilidir. Amaç sayısallaştıracak ortamın yine yazılım tarafından okunarak net olmasıdır.
Re: Noktanın kapalı eğrinin içindeki konumu
Sakınca yoksa, yazdığınız programın ne işe yarayacağını sorabilir miyim ?
Ömür Ölmez
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Grafiğin değerlerini (9 adet)grafiğin üzerinde gezinerek editlere bu 9 adet değeri aktarmak.
Re: Noktanın kapalı eğrinin içindeki konumu
sanırım arkadaş sektör olarak sordu zira bende merak ettim, bu program hangi sektöre hizmet edicek acaba?
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Noktanın kapalı eğrinin içindeki konumu
Isıtma, soğutma sektörü.
Re: Noktanın kapalı eğrinin içindeki konumu
Sorunu çözdünüz mü?. nerede ikamet veya çalışıyorsunuz. aslında size yardımcı olabileceğimi düşünüyorum.( 1990 lı yıllarda harita- cad yazılımı yazmıştım.)