Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Serg Belyaev                         2:5015/166.7   30 Oct 2001  03:57:16
 To : Oleg Polubasoff
 Subject : Re:[* - гео] - середина дуги
 -------------------------------------------------------------------------------- 
 
 Hиже приведен алгоритм, похожий на правду.
 За основу взята формула
         z=z1*sqrt(z2/z1)
 У этого варианта есть _маленькое_ преимущество:
 вектор sqrt(z2/z1) должен лежать в верхней полуплоскости,
 при повороте z1 к z2 против часовой стрелки.
 В итоге получаем всего одну проверку, которая
 выявляет в т.ч. случай, когда нет однозначного решения -
 совпадение z1 и z2.
 var   Cx,Cy,Ax,Ay,Bx,By:real;
       x1,x2,y1,y2,a:real;
       x,y:real;
 begin
      Cx:=1;Cy:=2;
      Ax:=25;Ay:=27;
      Bx:=26;By:=26;
      x2:=Bx-Cx;x1:=Ax-Cx;
      y2:=By-Cy;y1:=Ay-Cy;
      a:=(x1*x2+y1*y2)/(x1*x1+y1*y1);
      x:=sqrt((1+a)/2);y:=sqrt((1-a)/2);
      if (x1*y2-x2*y1)=0 then begin
        writeln('Точки совпадают - решения нет');exit
      end else
      if (x1*y2-x2*y1)<0 then x:=-x;
      x2:=x1*x-y1*y+Cx;y2:=x1*y+y1*x+Cy;
      writeln(x2:0:3,', ',y2:0:3)
 end.
  Всего доброго,
  <SVB> (Serg Belyaev)
 --- Terminate 5.00/Pro
  * Origin: (svb@sandy.ru) or (2:5015/166.7)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 [* - гео] - середина дуги   Oleg Polubasoff   25 Oct 2001 19:59:36 
 [* - гео] - середина дуги   Andrew Plyako   27 Oct 2001 12:20:40 
 [* - гео] - середина дуги   Oleg Polubasoff   29 Oct 2001 04:34:37 
 Re: [* - гео] - середина дуги   Serge Kanilo   29 Oct 2001 06:24:43 
 [* - гео] - середина дуги   Ѓ евЁ­ Ђ­¤аҐ©   29 Oct 2001 17:43:30 
 [* - гео] - середина дуги   Ѓ евЁ­ Ђ­¤аҐ©   29 Oct 2001 13:17:23 
 Re:[* - гео] - середина дуги   Serg Belyaev   28 Oct 2001 05:16:10 
 Re:[* - гео] - середина дуги   Oleg Polubasoff   29 Oct 2001 04:34:38 
 Re:[* - гео] - середина дуги   Serg Belyaev   30 Oct 2001 01:46:56 
 Re:[* - гео] - середина дуги   Serg Belyaev   30 Oct 2001 03:57:16 
 Re: [* - гео] - середина дуги   Yurij Zabelyshynskij   29 Oct 2001 22:34:51 
Архивное /ru.algorithms/33772126512f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional