Changeset 4631:0f3e63691da4 in orange


Ignore:
Timestamp:
05/09/08 16:43:30 (6 years ago)
Author:
janezd <janez.demsar@…>
Branch:
default
Convert:
780335a16406bf51ce00f501a62c69c940517d0d
Message:
  • fixed normalization problems with optimizeAnchorsR
File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/orangeom/optimizeAnchors.cpp

    r4338 r4631  
    511511            *sumi += *Xi * *radi; 
    512512          } 
    513           if (*sumi != 0.0) { 
     513          if (fabs(*sumi) > 1e-6) { 
    514514            ptsi->x /= *sumi; 
    515515            ptsi->y /= *sumi; 
     
    591591        aay += anci->y; 
    592592      } 
    593       aax /= nAttrs; 
    594       aay /= nAttrs; 
     593      aax /= nAttrs ? nAttrs : 1; 
     594      aay /= nAttrs ? nAttrs : 1; 
    595595 
    596596      for(anci = anc; anci != ance; anci++) { 
     
    837837            *sumi += *Xi * *radi; 
    838838          } 
    839           if (*sumi != 0.0) { 
     839          if (fabs(*sumi) > 1e-6) { 
    840840            ptsi->x /= *sumi; 
    841841            ptsi->y /= *sumi; 
     
    894894      double maxr = 0.0; 
    895895      for(anci = anc, dri = dr, radi = rad; dri != dre; dri++, anci++, radi++) { 
    896         const double newr = *radi + *dri * scaling; 
     896        double newr = *radi + *dri * scaling; 
     897        if (newr < 1e-4) 
     898          newr = 1e-4; 
    897899        double rat = newr / *radi; 
     900        if (rat > 10) { 
     901          rat = 10; 
     902          newr = *radi * 100; 
     903        } 
    898904        anci->x *= rat; 
    899905        anci->y *= rat; 
     906//        printf("%f\t%f\t%f\t%f\t%f\n", anci->x, anci->y, newr, sqrt(sqr(anci->x) + sqr(anci->y)), rat); 
    900907        if (newr > maxr) 
    901908          maxr = newr; 
     
    912919      } 
    913920    } 
     921//    printf("\n"); 
    914922 
    915923    symmetricTransformation(anc, ance, mirrorSymmetry != 0); 
Note: See TracChangeset for help on using the changeset viewer.