NOTES‎ > ‎

(geometry) Уравнение прямой по двум точкам

========================================================================
(2D)EquationOfTheLineByTwoPoints.gsm

Описание: определяет уравнение прямой по заданным, либо сгенерированным случайным образом координатам 2-х точек
x1                     
y1                     
x2                     
y2                     
randomPoints     
colorAxes           
colorLines          
fontSize             
showAxes           

Основной скрипт
:

if glob_modpar_name= `randomPoints` then
x1=rnd(a):y1=rnd(b):parameters x1=x1:parameters y1=y1
x2=rnd(a):y2=rnd(b):parameters x2=x2:parameters y2=y2
parameters randomPoints=0
endif

2D-скрипт
:

eps=0.0001
unID = 1000
hotspot2 0, 0, unID, A, 1+256: unID=unID+1
hotspot2 -0.001, 0, unID, A, 3+128: unID=unID+1
hotspot2 A, 0, unID, A, 2: unID=unID+1
hotspot2 0, B, unID, A, 1+256: unID=unID+1
hotspot2 -0.001, B, unID, A, 3+128: unID=unID+1
hotspot2 A, B, unID, A, 2: unID=unID+1
hotspot2 0, 0, unID, B, 1+256: unID=unID+1
hotspot2 0, -0.001, unID, B, 3+128: unID=unID+1
hotspot2 0, B, unID, B, 2: unID=unID+1
hotspot2 A, 0, unID, B, 1+256: unID=unID+1
hotspot2 A, -0.001, unID, B, 3+128: unID=unID+1
hotspot2 A, B, unID, B, 2: unID=unID+1
pen colorAxes
line2 0,0,0,b
line2 0,0,a,0
hotline2 0,0,0,b
hotline2 0,0,a,0

if showAxes then call`(m)CoordinateAxes` parameters all    !!   

hotspot2 0,  y1,         unID,  x1,  1+128  : unID=unID+1
hotspot2 x1, y1,         unID,  x1,  2 : unID=unID+1
hotspot2 -1, y1,         unID,  x1,  3 : unID=unID+1
hotspot2 x1, 0,  unID,  y1,  1+128  : unID=unID+1
hotspot2 x1, y1,         unID,  y1,  2 : unID=unID+1
hotspot2 x1, -1,  unID,  y1,  3 : unID=unID+1
hotspot2 0,  y2,         unID,  x2,  1+128  : unID=unID+1
hotspot2 x2, y2,         unID,  x2,  2 : unID=unID+1
hotspot2 -1, y2,         unID,  x2,  3 : unID=unID+1
hotspot2 x2, 0,  unID,  y2,  1+128  : unID=unID+1
hotspot2 x2, y2,         unID,  y2,  2 : unID=unID+1
hotspot2 x2, -1,  unID,  y2,  3 : unID=unID+1
pen colorLines
!!!!!!!!!!!!!!{Определение уравнения прямой по координатам двух точек} 
a1= y2-y1 
b1= x1-x2
c1= -x1*(y2-y1)+y1*(x2-x1)
line2 x1,y1,x2,y2
hotline2 x1,y1,x2,y2
define style graph font_style,10/GLOB_SCALE*FontSize,1,1
style graph
pen 1
text2 x1,y1,"Уравнение прямой:"+str(a1,8,2)+"x +"+str(b1,8,2)+"y +"+str(c1,8,2)+"=0"

========================================================================