randRangeNonZero(-5, 5)
                    randRangeNonZero(-5, 5)
                    randRange(0, 1)
                    ["x", "y"][COMPONENT]
                    i18n._("orizontal")
                    i18n._("vertical")
                    [HORIZONTAL, VERTICAL][COMPONENT]
                    COMPONENT ? randRange(-5, 5) : AX
                    COMPONENT ? AY : randRange(-5, 5)
                    COMPONENT ? randRange(-5, 5) : -AX
                    COMPONENT ? -AY : randRange(-5, 5)
                    COMPONENT ? randRangeNonZero(-5, 5) : randRangeExclude(-5, 5, [AX])
                    COMPONENT ? randRangeExclude(-5, 5, [AY]) : randRangeNonZero(-5, 5)
                    randRangeNonZero(max(-9, -9 - AX), min(9, 9 - AX))
                    randRangeNonZero(max(-9, -9 - AY), min(9, 9 - AY))
                    randRangeNonZero(max(-9, -9 - BX), min(9, 9 - BX))
                    randRangeNonZero(max(-9, -9 - BY), min(9, 9 - BY))
                    randRangeNonZero(max(-9, -9 - CX), min(9, 9 - CX))
                    randRangeNonZero(max(-9, -9 - CY), min(9, 9 - CY))
                    randRangeNonZero(max(-9, -9 - DX), min(9, 9 - DX))
                    randRangeNonZero(max(-9, -9 - DY), min(9, 9 - DY))
                    COMPONENT ? randRange(-9, -9) : AOX
                    COMPONENT ? AOY : randRange(-9, -9)
                    COMPONENT ? randRangeNonZero(-5, 5) : randRangeExclude(-5, 5, [AX])
                    COMPONENT ? randRangeExclude(-5, 5, [AY]) : randRangeNonZero(-5, 5)
                    [BX, BY, BOX, BOY]
                    shuffle([ANS, [CX, CY, COX, COY], [DX, DY, DOX, DOY], [EX, EY, EOX, EOY]])
                    $.inArray(ANS, SHUF)
                    [
                        ["b", "pink"],
                        ["c", "green"],
                        ["d", "purple"],
                        ["e", "red"]
                    ][INDEX]
                    SHUF[0]
                    SHUF[1]
                    SHUF[2]
                    SHUF[3]
                    1 + 0.8 / sqrt(AX * AX + AY * AY)
                    1 + 0.8 / sqrt(BX * BX + BY * BY)
                    1 + 0.8 / sqrt(CX * CX + CY * CY)
                    1 + 0.8 / sqrt(DX * DX + DY * DY)
                    1 + 0.8 / sqrt(EX * EX + EY * EY)
                
                
                    
                        Care vector are aceași componentă COMPONENT_NAME ca si vectorul \vec a?
                    
                    
                        graphInit({
                            range: 10,
                            scale: 20,
                            tickStep: 1,
                            axisArrows: "<->",
                            axisLabels: ['x', 'y']
                        });
                        style({
                            stroke: BLUE,
                            color: BLUE
                        }, function() {
                            line( [AOX, AOY], [AOX + AX, AOY + AY], { arrows: "->" } );
                            label( [AOX + AF * AX, AOY + AF * AY], "\\vec a" );
                        });
                        style({
                            stroke: PINK,
                            color: PINK
                        }, function() {
                            line( [BOX, BOY], [BOX + BX, BOY + BY], { arrows: "->" } );
                            label( [BOX + BF * BX, BOY + BF * BY], "\\vec b" );
                        });
                        style({
                            stroke: GREEN,
                            color: GREEN
                        }, function() {
                            line( [COX, COY], [COX + CX, COY + CY], { arrows: "->" } );
                            label( [COX + CF * CX, COY + CF * CY], "\\vec c" );
                        });
                        style({
                            stroke: PURPLE,
                            color: PURPLE
                        }, function() {
                            line( [DOX, DOY], [DOX + DX, DOY + DY], { arrows: "->" } );
                            label( [DOX + DF * DX, DOY + DF * DY], "\\vec d" );
                        });
                        style({
                            stroke: RED,
                            color: RED
                        }, function() {
                            line( [EOX, EOY], [EOX + EX, EOY + EY], { arrows: "->" } );
                            label( [EOX + EF * EX, EOY + EF * EY], "\\vec e" );
                        });
                    
                 
                \large\ANSC{\vec ANSL}
                
                    - \large\pink{\vec b}
- \large\green{\vec c}
- \large\purple{\vec d}
- \large\red{\vec e}
                    Componenta COMPONENT_NAME a vectorului ne spune cât de mult se deplasează acesta DIRECTION.
                    
                         
                            style({ stroke: BLACK });
                            line([AOX + AX, AOY], [AOX + AX, AOY + AY], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([AOX, AOY], [AOX + AX, AOY]);
                        
                         
                            style({ stroke: BLACK });
                            line([AOX, AOY + AY], [AOX + AX, AOY + AY], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([AOX, AOY], [AOX, AOY + AY]);
                        
                        Vectorul \vec a începe la COMPONENT_NAME = [AOX, AOY][COMPONENT] și se termină la COMPONENT_NAME = [AOX + AX, AOY + AY][COMPONENT].
                     
                    
                        Așadar el se mișcă [AX, AY][COMPONENT] unități DIRECTION.
                    
                    
                        Așadar el se mișcă o unitate DIRECTION.
                    
                    
                        
                            style({ stroke: BLACK, strokeDasharray: "" });
                            line([ANS[2] + ANS[0], ANS[3]], [ANS[2] + ANS[0], ANS[3] + ANS[1]], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([ANS[2], ANS[3]], [ANS[2] + ANS[0], ANS[3]]);
                        
                         
                            style({ stroke: BLACK, strokeDasharray: "" });
                            line([ANS[2], ANS[3] + ANS[1]], [ANS[2] + ANS[0], ANS[3] + ANS[1]], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([ANS[2], ANS[3]], [ANS[2], ANS[3] + ANS[1]]);
                        
                        
                            Celălalt vector care se mișcă DIRECTION [AX, AY][COMPONENT] unități este
                            \vec ANSL.
                        
                        
                            Celălalt vector care se mișcă DIRECTION o unitate este \vec ANSL.
                        
                     
                 
             
            
                
                    randRangeNonZero(-8, 8)
                    randRangeNonZero(-8, 8)
                    randRangeNonZero(max(-9, -9 - AX), min(9, 9 - AX))
                    randRangeNonZero(max(-9, -9 - AY), min(9, 9 - AY))
                    1 + 0.8 / sqrt(AX * AX + AY * AY)
                    randRange(0, 1)
                    ["x", "y"][COMPONENT]
                    i18n._("orizontal")
                    i18n._("vertical")
                    [HORIZONTAL, VERTICAL][COMPONENT]
                    [AX, AY][COMPONENT]
                
                
                    
                        Ce valoare are componenta COMPONENT_NAME a vectorului \vec a?
                    
                    
                        graphInit({
                            range: 10,
                            scale: 20,
                            tickStep: 1,
                            labels: true,
                            axisArrows: "<->",
                            axisLabels: ['x', 'y']
                        });
                        style({
                            stroke: BLUE,
                            color: BLUE
                        }, function() {
                            line([AOX, AOY], [AOX + AX, AOY + AY], { arrows: "->" });
                            label([AOX + AF * AX, AOY + AF * AY], "\\vec a");
                        });
                    
                 
                ANS
                
                    
                        Componenta COMPONENT_NAME este numărul de unități pe care vectorul îl parcurge DIRECTION.
                    
                    
                        
                            style({ stroke: BLACK });
                            line([AOX + AX, AOY], [AOX + AX, AOY + AY], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([AOX, AOY], [AOX + AX, AOY]);
                        
                        
                            style({ stroke: BLACK });
                            line([AOX, AOY + AY], [AOX + AX, AOY + AY], { arrows: "->" });
                            style({ strokeDasharray: "."});
                            line([AOX, AOY], [AOX, AOY + AY]);
                        
                        
                            Vectorul \vec a începe la COMPONENT_NAME = [AOX, AOY][COMPONENT] și se termină la COMPONENT_NAME = [AOX + AX, AOY + AY][COMPONENT].
                        
                     
                    
                    
                        Așadar componenta COMPONENT_NAME a vectorului \vec a este ANS