2017-01-14 1 views
0

J'essaie de calculer l'angle, la pente et l'interception de la ligne 3 qui est de 60 degrés ou pi/3 loin de la ligne 1. Je connais cette information pour les autres lignes.Trouver l'angle, la pente et l'intersection d'une ligne dans R

enter image description here

x1 = 652 
x2 = 1017 
y1 = 194 
y2 = 632 

## Line 1 information 
angle.l1 = 1.565595 
slope.l1 = 1.2 
intercept.l1 = -588.4 

## Line 2 information 
angle.l2 = 0.5183978 
slope.l2 = 0.5704363 
intercept.l2 = 51.8663 

Je voudrais enregistrer les résultats que angle.l3, slope.l3 et intercept.l3

+0

Ce n'est pas un angle.l3 = angle.l1 + pi/3? N'est-ce pas la pente.l3 = tan (angle.l3)? Vous avez un point et la pente, résolvez pour l'interception. – G5W

Répondre

0

Comment avez-vous conclu que angle.l1 = 1.565595?

## "line1" passes (x1, y1) and (x2, y2) 
slope.l1 <- (y2 - y1)/(x2 - x1) 
#[1] 1.2 
angle.l1 <- atan(slope.l1) 
#[1] 0.8760581 

Aussi, comment avez-vous conclu que l'angle entre "line3" et "ligne1" est pi/3? Dans ce cas, étant donné que « line3 » a un angle plus grand avec l'axe x que « ligne1 » avec l'axe x, puis:

angle.l3 <- angle.l1 + pi/3 
#[1] 1.923256 
slope.l3 <- tan(angle.l3) 
#[1] -2.718736 

Vous obtenez une pente négative pour « line3 » qui ne peut pas être droit selon ta silhouette.


Heureusement, vous obtenez les informations pour "line2" correct.

angle.l2 <- 0.5183978 
slope.l2 <- 0.5704363 
intercept.l2 <- 51.8663 

Voulez-vous dire dire que l'angle entre "line2" et "line3" est pi/3? Si oui,

angle.l3 <- angle.l2 + pi/3 
#[1] 1.923256 
angle.l3 * 180/pi 
#[1] 89.70201 

qui dit que « line3 » est presque 90 degrés de l'axe x, ce qui ne semble pas vrai de votre graphique.


Quelle est la relation entre "line1", "line2" et "line3"? C'est une information critique que vous n'avez pas mentionnée. Si "line3" est le reflet de "line2" autour de "ligne1", alors la solution est facile:

angle.l3 <- angle.l1 + (angle.l1 - angle.l2) 
#[1] 1.233718 
angle.l3 * 180/pi 
#[1] 70.68685 

Em, 70,68 degrés est à la recherche sensible. Donc:

slope.l3 <- tan(angle.l3) 
#[1] 2.853452 

# "line3" passes (0, intercept.l3) and (x2, y2) 
intercept.l3 <- y2 - slope.l3 * x2 
#[1] -2269.961