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...
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.