home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 November / Chip_1999-11_cd.bin / ctenari / Plavja / Exe / monge_sklop.dk < prev    next >
Text File  |  1999-09-02  |  1KB  |  57 lines

  1. // knihovna: MONGE_SKLOP
  2. // autor: Petr Plavjanφk
  3. // obsah: sklßp∞nφ a otßΦenφ v Mongeov∞ promφtßnφ
  4.  
  5. // Program u₧ obsahuje zabudovanΘ funkce: 
  6. // otoceni, sklopeni
  7.  
  8. // sklopenφ do p∙dorysny
  9. sklop_p (B, p) {
  10.   k = kolmice(Pi, p.1, B.1); 
  11.   P = bod(k, B, B."z");  
  12.   sB = bod((P:0)."x", (P:0)."y", 0);
  13.   sB = bod((P:1)."x", (P:1)."y", 0);
  14.   videt(sB, 2, 0);
  15.   vrat sB;
  16. }
  17.  
  18. // sklopenφ do nßrysny
  19. sklop_n (B, p) {
  20.   k = kolmice(Ny, p.2, B.2); 
  21.   P = bod(k, B, B."y");  
  22.   sB = bod((P:0)."x", 0, (P:0)."z");
  23.   sB = bod((P:1)."x", 0, (P:1)."z");
  24.   videt(sB, 1, 0);
  25.   vrat sB;
  26. }
  27.  
  28. sklop_zpet_p (sB, p) {
  29.   k = kolmice(Pi, p.1, sB.1);
  30.   P = p(k, p.1);
  31.   B = bod(P."x", P."y", v(p.1, sB));  
  32.   vrat B;
  33. }
  34.  
  35. sklop_zpet_n (sB, p) {
  36.   k = kolmice(Ny, p.2, sB.2);
  37.   P = p(k, p.2);
  38.   B = bod(P."x", v(p.2, sB), P."z");  
  39.   vrat B;
  40. }
  41.  
  42. otoc_p (B, h) {
  43.   k = kolmice(Pi, h.1, B.1);  
  44.   P = p(h.1, k.1);
  45.   v = odm(moc(v(P.1, B.1)) + moc(B."z" - (h."A")."z"));
  46.   sB = bod(k, P, v);
  47.   vrat sB; 
  48. }
  49.  
  50. otoc_zpet_p (sB, Ro, h) {
  51.   k = kolma(h, sB);  
  52.   p = p(k, Ro);
  53.   P = p(p(k,Pi).1, h.1);
  54.   B = bod(p,P,v(sB,P));
  55.   vrat B;
  56. }
  57.