p1(x1,y1) noktasından p2(x2,y2) noktasına çizgi çizdim. Bu çizginin ucuna ok (>) koyacağım ve bunu sadece çizgi komutuyla yapabilirim. Doğrunun eğimine e diyelim.

p2 noktasından, (e+10) ve (e-10) derece eğimli, 3'er piksellik doğrular çizmeliyim mesela. Okun genişliği 20 derece olacak böylece. O oku p2'den başlayarak iki çizgiyle göstereceğim ya, varış noktalarına da n1 ve n2 diyelim. n1 ve n2'nin koordinatlarını nasıl bulurum?

* Elimde bir matrisin (i,j) noktasından başlayan vektörlerin X ve Y doğrultusundaki genliklerini içeren iki tane matris var. Yani,
x2 = x1 + genlikX(i,j)
y2 = y2 + genlikY(i,j)

Anlatmayı pek beceremedim galiba... Matlab'deki quiver'i yapmaya çalışıyorum.

 

p1-p2 eğimini bul
arctan al
10 derece ekle/çıkar
tekrar tan al, ok ucu eğimleri elinde artık
p2 merkezli 3 piksel yarıçaplı bi daire çiz
yeni bulduğun ok ucu eğimleriyle p2'den geçecek şekilde doğrular çiz
daireyi kestiği 4 noktadan ikisi n1 ve n2 olacak.
hangi ikisi olduğunu p1-p2 eğimine bakarak anlayacaksın.

ya da daireyi boşver, ok ucu eğim değerleriyle direk p2'den geçen 3'er piksellik doğrular çiz.

ben de anlatmayı pek beceremedim galiba...

cruor

e nin değerini bulduktan sonra diyelim ki e-10 derece eğime sahip olan doğrunun ucunda n1 noktası olsun. n2 nin koordinatları (x3,y3) olsun. doğrunun uzunluğunu biliyoruz 3 piksele denk geliyo;

sqrt((y3-y2)^2+(x3-x2)^2)=3 piksel.

burdan y3 le x3 arasında bi ilişki bulunur. y2 ve x2 zaten biliniyo.

birde e-10 dereceyi biliyoruz

(y3-y2)/(x3-x2)=e-10

burdan da yine y3le x3 arasında bi ilişki bulunabilir. iki denklemi birlikte çözünce çözüm bulunur heralde.

hwfyn
1

mobil görünümden çık