Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Stefan,

On Tuesday, 2011-11-29 18:17:44 +0100, Stefan Knorr (Astron) wrote:

comments, but the original author seems to have used symbols to
illustrate his explanations. The meaning of the symbols, however, has
seemingly been completely lost (using search and replace they all seem
to come up as the same character).

Ah the joy of text encodings and editors shredding them..

I managed to get hold of an intact revision before ooo/DEV300_m101 was
merged and converted it from *gasp* cp437 to utf-8, attached are the
relevant sections.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD

---%<---snip---%<--- ---%<---snap---%<---


                } else if (nMainCase==2) {
                        // Fall 2:
                        bForceMeeting=sal_True;
                        if (bHor1) { // beide waagerecht
                /* 9 Moeglichkeiten:                   ∙ ∙ ∙                    */
                /*   2.1 Gegenueber, Ueberschneidung   ├ ┤ ∙                    */
                /*       nur auf der Y-Achse           ∙ ∙ ∙                    */
                /*   2.2, 2.3 Gegenueber, vertikal versetzt. ├ ∙ ∙   ∙ ∙ ∙      */
                /*            Ueberschneidung weder auf der  ∙ ┤ ∙   ∙ ┤ ∙      */
                /*            X- noch auf der Y-Achse        ∙ ∙ ∙   ├ ∙ ∙      */
                /*   2.4, 2.5 Untereinander,   ∙ ├ ∙   ∙ ∙ ∙                    */
                /*            Ueberschneidung  ∙ ┤ ∙   ∙ ┤ ∙                    */
                /*            nur auf X-Achse  ∙ ∙ ∙   ∙ ├ ∙                    */
                /*   2.6, 2.7 Gegeneinander, vertikal versetzt. ∙ ∙ ├   ∙ ∙ ∙   */
                /*            Ueberschneidung weder auf der     ∙ ┤ ∙   ∙ ┤ ∙   */
                /*            X- noch auf der Y-Achse.          ∙ ∙ ∙   ∙ ∙ ├   */
                /*   2.8 Gegeneinander.       ∙ ∙ ∙                             */
                /*       Ueberschneidung nur  ∙ ┤ ├                             */
                /*       auf der Y-Achse.     ∙ ∙ ∙                             */
                /*   2.9 Die BewareRects der Objekte ueberschneiden             */
                /*       sich auf X- und Y-Achse.                               */
                /* Die Faelle gelten entsprechend umgesetzt auch fuer           */
                /* senkrechte Linienaustritte.                                  */
                /* Die Faelle 2.1-2.7 werden mit dem Default-Meeting ausreichend*/
                /* gut behandelt. Spezielle MeetingPoints werden hier also nur  */
                /* fuer 2.8 und 2.9 bestimmt.                                   */

                                // Normalisierung. aR1 soll der nach rechts und
                                // aR2 der nach links austretende sein.


---%<---snip---%<--- ---%<---snap---%<---


                } else if (nMainCase==3) { // Fall 3: Einer waagerecht und der andere senkrecht. 
Sehr viele Fallunterscheidungen
            /* Kleine Legende: ∙ · ∙ · ∙ -> Ohne Ueberschneidung, maximal Beruehrung.               
    */
            /*                 · · · · · -> Ueberschneidung                                         
    */
            /*                 ∙ · ├ · ∙ -> Selbe Hoehe                                             
    */
            /*                 · · · · · -> Ueberschneidung                                         
    */
            /*                 ∙ · ∙ · ∙ -> Ohne Ueberschneidung, maximal Beruehrung.               
    */
            /* Linienaustritte links ┤, rechts ├, oben ┴ und unten ┬.                               
    */
            /* Insgesamt sind 96 Konstellationen moeglich, wobei einige nicht einmal                
    */
            /* eindeutig einem Fall und damit einer Behandlungsmethode zugeordnet werden            
    */
            /* koennen.                                                                             
    */
            /* 3.1: Hierzu moegen alle Konstellationen zaehlen, die durch den                       
    */
            /*      Default-MeetingPoint zufriedenstellend abgedeckt sind (20+12).                  
    */
            /*   ┬ ┬ ┬ · ┴    ┴ · ┬ ┬ ┬   Diese 12  ∙ · ∙ ┬ ∙    ∙ · ∙ · ∙    ∙ ┬ ∙ · ∙    ∙ · ∙ · 
∙    */
            /*   · · · · ┴    ┴ · · · ·   Konstel.  · · · · ·    · · · · ┬    · · · · ·    ┬ · · · 
·    */
            /*   ∙ · ├ · ∙    ∙ · ┤ · ∙   jedoch    ∙ · ├ · ┴    ∙ · ├ · ┬    ┴ · ┤ · ∙    ┬ · ┤ · 
∙    */
            /*   · · · · ┬    ┬ · · · ·   nur zum   · · · · ┴    · · · · ·    ┴ · · · ·    · · · · 
·    */
            /*   ┴ ┴ ┴ · ┬    ┬ · ┴ ┴ ┴   Teil:     ∙ · ∙ ┴ ∙    ∙ · ∙ · ∙    ∙ ┴ ∙ · ∙    ∙ · ∙ · 
∙    */
            /*   Letztere 16 Faelle scheiden aus, sobald sich die Objekte offen                     
    */
            /*   gegenueberstehen (siehe Fall 3.2).                                                 
    */
            /* 3.2: Die Objekte stehen sich offen gegenueber und somit ist eine                     
    */
            /*      Verbindung mit lediglich 2 Linien moeglich (4+20).                              
    */
            /*      Dieser Fall hat 1. Prioritaet.                                                  
    */
            /*   ∙ · ∙ · ┬   ┬ · ∙ · ∙   Diese 20  ∙ · ∙ ┬ ∙   ∙ ┬ ∙ · ∙   ∙ · ∙ · ∙   ∙ · ∙ · ∙    
    */
            /*   · · · · ·   · · · · ·   Konstel.  · · · ┬ ┬   ┬ ┬ · · ·   · · · · ·   · · · · ·    
    */
            /*   ∙ · ├ · ∙   ∙ · ┤ · ∙   jedoch    ∙ · ├ ┴ ┴   ┴ ┴ ┤ · ∙   ∙ · ├ ┬ ┬   ┬ ┬ ┤ · ∙    
    */
            /*   · · · · ·   · · · · ·   nur zum   · · · ┴ ┴   ┴ ┴ · · ·   · · · · ·   · · · · ·    
    */
            /*   ∙ · ∙ · ┴   ┴ · ∙ · ∙   Teil:     ∙ · ∙ ┴ ∙   ∙ ┴ ∙ · ∙   ∙ · ∙ · ∙   ∙ · ∙ · ∙    
    */
            /* 3.3: Die Linienaustritte zeigen vom anderen Objekt weg bzw. hinter                   
    */
            /*      dessen Ruecken vorbei (52+4).                                                   
    */
            /*   ┴ ┴ ┴ ┴ ∙   ∙ ┴ ┴ ┴ ┴   ∙ · · · ∙   ∙ · ∙ · ∙   Diese 4   ∙ · ∙ · ∙   ∙ · ∙ · ∙    
    */
            /*   ┴ ┴ ┴ ┴ ·   · ┴ ┴ ┴ ┴   ┬ ┬ ┬ · ·   · · ┬ ┬ ┬   Konstel.  · · · ┬ ·   · ┬ · · ·    
    */
            /*   ┴ ┴ ├ · ∙   ∙ · ┤ ┴ ┴   ┬ ┬ ├ · ∙   ∙ · ┤ ┬ ┬   jedoch    ∙ · ├ · ∙   ∙ · ┤ · ∙    
    */
            /*   ┴ ┴ ┴ · ·   · · ┴ ┴ ┴   ┬ ┬ ┬ ┬ ·   · ┬ ┬ ┬ ┬   nur zum   · · · ┴ ·   · ┴ · · ·    
    */
            /*   ∙ · ∙ · ∙   ∙ · ∙ · ∙   ┬ ┬ ┬ ┬ ∙   ∙ ┬ ┬ ┬ ┬   Teil:     ∙ · ∙ · ∙   ∙ · ∙ · ∙    
    */


---%<---snip---%<--- ---%<---snap---%<---


/*
Nach einer einfachen Rechnung koennte es max. 64 unterschiedliche Verlaeufe mit
5 Linien, 32 mit 4 Linien, 16 mit 3, 8 mit 2 Linien und 4 mit 1 Linie geben=124.
Normalisiert auf 1. Austrittswinkel nach rechts bleiben dann noch 31.
Dann noch eine vertikale Spiegelung wegnormalisiert bleiben noch 16
characteristische Verlaufszuege mit 1-5 Linien:
Mit 1 Linie (Typ 'I'):  --
Mit 2 Linien (Typ 'L'): -┘
Mit 3 Linien (Typ 'U'):  -┐  (Typ 'Z'):  ┌-
                                                 -┘             -┘
Mit 4 Linien: 1 ist nicht plausibel, 3 ist=2 (90deg Drehung). Verbleibt 2,4
         ┌-┘  ┌┐  └┐  ┌┐                               ┌┐  ┌-┐
        -┘   -┘   -┘  -┘                              -┘    -┘
Mit 5 Linien: nicht plausibel sind 1,2,4,5. 7 ist identisch mit 3 (Richtungsumkehr)
                          Bleibt also 3,6 und 8.              '4'  'S'  'C'
           ┐    ┌             -┐   ┌-  ┌-┐                  ┌-
         ┌-┘  ┌-┘  ┌-┐   ┌-┐   └┐  └┐ -┘ │ ┌-┐         ┌-┐  └┐  ┌-┐
        -┘   -┘   -┘ ┘  -┘ └-  -┘  -┘  --┘ └ ┘        -┘ ┘  -┘  └ ┘
Insgesamt sind also 9 Grundtypen zu unterscheiden die den 400 Konstellationen
aus Objektposition und Austrittswinkeln zuzuordnen sind.
4 der 9 Grundtypen haben eine 'Mittellinie'. Die Anzahl der zu Objektabstaende
je Objekt variiert von 0-3:
         Mi   O1   O2   Anmerkung
'I':  n   0    0
'L':  n   0    0
'U':  n  0-1  0-1
'Z':  j   0    0
4.1:  j   0    1    = U+1 bzw. 1+U
4.2:  n  0-2  0-2   = Z+1
'4':  j   0    2    = Z+2
'S':  j   1    1    = 1+Z+1
'C':  n  0-3  0-3   = 1+U+1
*/


---%<---snip---%<--- ---%<---snap---%<---

Attachment: pgp2Krpyr3v0Y.pgp
Description: PGP signature


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.