[{"data":1,"prerenderedAt":1991},["ShallowReactive",2],{"docs:\u002Freference\u002Fvector":3},{"id":4,"title":5,"body":6,"description":1982,"extension":1983,"meta":1984,"navigation":1986,"path":1987,"seo":1988,"stem":1989,"__hash__":1990},"docs\u002Freference\u002Fvector.md","Vector",{"type":7,"value":8,"toc":1975},"minimark",[9,13,20,29,57,62,1001,1006,1010,1039,1042,1130,1134,1231,1348,1352,1453,1463,1469,1607,1611,1617,1871,1874,1965,1971],[10,11,5],"h1",{"id":12},"vector",[14,15,16,19],"p",{},[17,18,5],"code",{}," is pyDreamplet's small 2D coordinate type. It is used by geometry\nhelpers, bounding boxes, positions, and creative layout functions.",[14,21,22,24,25,28],{},[17,23,5],{}," is exported from top-level ",[17,26,27],{},"pydreamplet",".",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-python shiki shiki-themes material-theme-lighter github-light-high-contrast github-dark","import pydreamplet as dp\n","python","",[17,37,38],{"__ignoreMap":35},[39,40,43,47,51,54],"span",{"class":41,"line":42},"line",1,[39,44,46],{"class":45},"sED7I","import",[39,48,50],{"class":49},"soTeR"," pydreamplet ",[39,52,53],{"class":45},"as",[39,55,56],{"class":49}," dp\n",[58,59,61],"h2",{"id":60},"visual-example","Visual Example",[30,63,65],{"className":32,"code":64,"language":34,"meta":35,"style":35},"import pydreamplet as dp\n\norigin = dp.Vector(56, 124)\ndirection = dp.Vector(108, -72)\ntip = origin + direction\nunit = direction.normalize()\nnormal = dp.Vector(-unit.y, unit.x)\narrow_base = tip - unit * 12\n\nsvg = dp.SVG(260, 170)\nsvg.append(\n    dp.Line(origin.x, origin.y, tip.x, origin.y, stroke=\"#64748b\", stroke_width=1, stroke_dasharray=\"4 5\", opacity=0.75),\n    dp.Line(origin.x, origin.y, tip.x, tip.y, stroke=\"#14b8a6\", stroke_width=3, stroke_linecap=\"round\"),\n    dp.Path(\n        dp.linear_path(\n            [tip.xy, (arrow_base + normal * 5).xy, (arrow_base - normal * 5).xy],\n            closed=True,\n        ),\n        fill=\"#14b8a6\",\n    ),\n    dp.Circle(cx=origin.x, cy=origin.y, r=4, fill=\"#14b8a6\"),\n    dp.Circle(cx=tip.x, cy=tip.y, r=4, fill=\"#14b8a6\"),\n    dp.Text(\"origin\", x=28, y=143, font_size=12, fill=\"currentColor\"),\n    dp.Text(\"tip\", x=172, y=48, font_size=12, fill=\"currentColor\"),\n    dp.Text(f\"length {direction.magnitude:.1f}\", x=154, y=106, font_size=12, fill=\"currentColor\"),\n    dp.Text(f\"unit {unit.x:.2f}, {unit.y:.2f}\", x=154, y=124, font_size=12, fill=\"currentColor\"),\n)\n",[17,66,67,77,84,119,148,165,184,224,246,251,278,292,393,472,484,497,554,569,575,591,597,658,713,776,833,911,996],{"__ignoreMap":35},[39,68,69,71,73,75],{"class":41,"line":42},[39,70,46],{"class":45},[39,72,50],{"class":49},[39,74,53],{"class":45},[39,76,56],{"class":49},[39,78,80],{"class":41,"line":79},2,[39,81,83],{"emptyLinePlaceholder":82},true,"\n",[39,85,87,90,94,97,100,103,106,110,113,116],{"class":41,"line":86},3,[39,88,89],{"class":49},"origin ",[39,91,93],{"class":92},"sWKEy","=",[39,95,96],{"class":49}," dp",[39,98,28],{"class":99},"sVsmf",[39,101,5],{"class":102},"sAK04",[39,104,105],{"class":99},"(",[39,107,109],{"class":108},"sNpir","56",[39,111,112],{"class":99},",",[39,114,115],{"class":108}," 124",[39,117,118],{"class":99},")\n",[39,120,122,125,127,129,131,133,135,138,140,143,146],{"class":41,"line":121},4,[39,123,124],{"class":49},"direction ",[39,126,93],{"class":92},[39,128,96],{"class":49},[39,130,28],{"class":99},[39,132,5],{"class":102},[39,134,105],{"class":99},[39,136,137],{"class":108},"108",[39,139,112],{"class":99},[39,141,142],{"class":92}," -",[39,144,145],{"class":108},"72",[39,147,118],{"class":99},[39,149,151,154,156,159,162],{"class":41,"line":150},5,[39,152,153],{"class":49},"tip ",[39,155,93],{"class":92},[39,157,158],{"class":49}," origin ",[39,160,161],{"class":92},"+",[39,163,164],{"class":49}," direction\n",[39,166,168,171,173,176,178,181],{"class":41,"line":167},6,[39,169,170],{"class":49},"unit ",[39,172,93],{"class":92},[39,174,175],{"class":49}," direction",[39,177,28],{"class":99},[39,179,180],{"class":102},"normalize",[39,182,183],{"class":99},"()\n",[39,185,187,190,192,194,196,198,200,203,206,208,212,214,217,219,222],{"class":41,"line":186},7,[39,188,189],{"class":49},"normal ",[39,191,93],{"class":92},[39,193,96],{"class":49},[39,195,28],{"class":99},[39,197,5],{"class":102},[39,199,105],{"class":99},[39,201,202],{"class":92},"-",[39,204,205],{"class":102},"unit",[39,207,28],{"class":99},[39,209,211],{"class":210},"sm80-","y",[39,213,112],{"class":99},[39,215,216],{"class":102}," unit",[39,218,28],{"class":99},[39,220,221],{"class":210},"x",[39,223,118],{"class":99},[39,225,227,230,232,235,237,240,243],{"class":41,"line":226},8,[39,228,229],{"class":49},"arrow_base ",[39,231,93],{"class":92},[39,233,234],{"class":49}," tip ",[39,236,202],{"class":92},[39,238,239],{"class":49}," unit ",[39,241,242],{"class":92},"*",[39,244,245],{"class":108}," 12\n",[39,247,249],{"class":41,"line":248},9,[39,250,83],{"emptyLinePlaceholder":82},[39,252,254,257,259,261,263,266,268,271,273,276],{"class":41,"line":253},10,[39,255,256],{"class":49},"svg ",[39,258,93],{"class":92},[39,260,96],{"class":49},[39,262,28],{"class":99},[39,264,265],{"class":102},"SVG",[39,267,105],{"class":99},[39,269,270],{"class":108},"260",[39,272,112],{"class":99},[39,274,275],{"class":108}," 170",[39,277,118],{"class":99},[39,279,281,284,286,289],{"class":41,"line":280},11,[39,282,283],{"class":49},"svg",[39,285,28],{"class":99},[39,287,288],{"class":102},"append",[39,290,291],{"class":99},"(\n",[39,293,295,298,300,303,305,308,310,312,314,317,319,321,323,326,328,330,332,334,336,338,340,344,346,350,354,356,358,361,363,366,368,371,373,375,378,380,382,385,387,390],{"class":41,"line":294},12,[39,296,297],{"class":102},"    dp",[39,299,28],{"class":99},[39,301,302],{"class":102},"Line",[39,304,105],{"class":99},[39,306,307],{"class":102},"origin",[39,309,28],{"class":99},[39,311,221],{"class":210},[39,313,112],{"class":99},[39,315,316],{"class":102}," origin",[39,318,28],{"class":99},[39,320,211],{"class":210},[39,322,112],{"class":99},[39,324,325],{"class":102}," tip",[39,327,28],{"class":99},[39,329,221],{"class":210},[39,331,112],{"class":99},[39,333,316],{"class":102},[39,335,28],{"class":99},[39,337,211],{"class":210},[39,339,112],{"class":99},[39,341,343],{"class":342},"sYEV4"," stroke",[39,345,93],{"class":92},[39,347,349],{"class":348},"sqo_7","\"",[39,351,353],{"class":352},"s_jvP","#64748b",[39,355,349],{"class":348},[39,357,112],{"class":99},[39,359,360],{"class":342}," stroke_width",[39,362,93],{"class":92},[39,364,365],{"class":108},"1",[39,367,112],{"class":99},[39,369,370],{"class":342}," stroke_dasharray",[39,372,93],{"class":92},[39,374,349],{"class":348},[39,376,377],{"class":352},"4 5",[39,379,349],{"class":348},[39,381,112],{"class":99},[39,383,384],{"class":342}," opacity",[39,386,93],{"class":92},[39,388,389],{"class":108},"0.75",[39,391,392],{"class":99},"),\n",[39,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,445,447,449,451,453,456,458,461,463,465,468,470],{"class":41,"line":395},13,[39,397,297],{"class":102},[39,399,28],{"class":99},[39,401,302],{"class":102},[39,403,105],{"class":99},[39,405,307],{"class":102},[39,407,28],{"class":99},[39,409,221],{"class":210},[39,411,112],{"class":99},[39,413,316],{"class":102},[39,415,28],{"class":99},[39,417,211],{"class":210},[39,419,112],{"class":99},[39,421,325],{"class":102},[39,423,28],{"class":99},[39,425,221],{"class":210},[39,427,112],{"class":99},[39,429,325],{"class":102},[39,431,28],{"class":99},[39,433,211],{"class":210},[39,435,112],{"class":99},[39,437,343],{"class":342},[39,439,93],{"class":92},[39,441,349],{"class":348},[39,443,444],{"class":352},"#14b8a6",[39,446,349],{"class":348},[39,448,112],{"class":99},[39,450,360],{"class":342},[39,452,93],{"class":92},[39,454,455],{"class":108},"3",[39,457,112],{"class":99},[39,459,460],{"class":342}," stroke_linecap",[39,462,93],{"class":92},[39,464,349],{"class":348},[39,466,467],{"class":352},"round",[39,469,349],{"class":348},[39,471,392],{"class":99},[39,473,475,477,479,482],{"class":41,"line":474},14,[39,476,297],{"class":102},[39,478,28],{"class":99},[39,480,481],{"class":102},"Path",[39,483,291],{"class":99},[39,485,487,490,492,495],{"class":41,"line":486},15,[39,488,489],{"class":102},"        dp",[39,491,28],{"class":99},[39,493,494],{"class":102},"linear_path",[39,496,291],{"class":99},[39,498,500,503,506,508,511,513,516,518,520,523,525,528,531,533,535,537,539,541,543,545,547,549,551],{"class":41,"line":499},16,[39,501,502],{"class":99},"            [",[39,504,505],{"class":102},"tip",[39,507,28],{"class":99},[39,509,510],{"class":210},"xy",[39,512,112],{"class":99},[39,514,515],{"class":99}," (",[39,517,229],{"class":102},[39,519,161],{"class":92},[39,521,522],{"class":102}," normal ",[39,524,242],{"class":92},[39,526,527],{"class":108}," 5",[39,529,530],{"class":99},").",[39,532,510],{"class":210},[39,534,112],{"class":99},[39,536,515],{"class":99},[39,538,229],{"class":102},[39,540,202],{"class":92},[39,542,522],{"class":102},[39,544,242],{"class":92},[39,546,527],{"class":108},[39,548,530],{"class":99},[39,550,510],{"class":210},[39,552,553],{"class":99},"],\n",[39,555,557,560,562,566],{"class":41,"line":556},17,[39,558,559],{"class":342},"            closed",[39,561,93],{"class":92},[39,563,565],{"class":564},"sTy78","True",[39,567,568],{"class":99},",\n",[39,570,572],{"class":41,"line":571},18,[39,573,574],{"class":99},"        ),\n",[39,576,578,581,583,585,587,589],{"class":41,"line":577},19,[39,579,580],{"class":342},"        fill",[39,582,93],{"class":92},[39,584,349],{"class":348},[39,586,444],{"class":352},[39,588,349],{"class":348},[39,590,568],{"class":99},[39,592,594],{"class":41,"line":593},20,[39,595,596],{"class":99},"    ),\n",[39,598,600,602,604,607,609,612,614,616,618,620,622,625,627,629,631,633,635,638,640,643,645,648,650,652,654,656],{"class":41,"line":599},21,[39,601,297],{"class":102},[39,603,28],{"class":99},[39,605,606],{"class":102},"Circle",[39,608,105],{"class":99},[39,610,611],{"class":342},"cx",[39,613,93],{"class":92},[39,615,307],{"class":102},[39,617,28],{"class":99},[39,619,221],{"class":210},[39,621,112],{"class":99},[39,623,624],{"class":342}," cy",[39,626,93],{"class":92},[39,628,307],{"class":102},[39,630,28],{"class":99},[39,632,211],{"class":210},[39,634,112],{"class":99},[39,636,637],{"class":342}," r",[39,639,93],{"class":92},[39,641,642],{"class":108},"4",[39,644,112],{"class":99},[39,646,647],{"class":342}," fill",[39,649,93],{"class":92},[39,651,349],{"class":348},[39,653,444],{"class":352},[39,655,349],{"class":348},[39,657,392],{"class":99},[39,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711],{"class":41,"line":660},22,[39,662,297],{"class":102},[39,664,28],{"class":99},[39,666,606],{"class":102},[39,668,105],{"class":99},[39,670,611],{"class":342},[39,672,93],{"class":92},[39,674,505],{"class":102},[39,676,28],{"class":99},[39,678,221],{"class":210},[39,680,112],{"class":99},[39,682,624],{"class":342},[39,684,93],{"class":92},[39,686,505],{"class":102},[39,688,28],{"class":99},[39,690,211],{"class":210},[39,692,112],{"class":99},[39,694,637],{"class":342},[39,696,93],{"class":92},[39,698,642],{"class":108},[39,700,112],{"class":99},[39,702,647],{"class":342},[39,704,93],{"class":92},[39,706,349],{"class":348},[39,708,444],{"class":352},[39,710,349],{"class":348},[39,712,392],{"class":99},[39,714,716,718,720,723,725,727,729,731,733,736,738,741,743,746,748,751,753,756,758,761,763,765,767,769,772,774],{"class":41,"line":715},23,[39,717,297],{"class":102},[39,719,28],{"class":99},[39,721,722],{"class":102},"Text",[39,724,105],{"class":99},[39,726,349],{"class":348},[39,728,307],{"class":352},[39,730,349],{"class":348},[39,732,112],{"class":99},[39,734,735],{"class":342}," x",[39,737,93],{"class":92},[39,739,740],{"class":108},"28",[39,742,112],{"class":99},[39,744,745],{"class":342}," y",[39,747,93],{"class":92},[39,749,750],{"class":108},"143",[39,752,112],{"class":99},[39,754,755],{"class":342}," font_size",[39,757,93],{"class":92},[39,759,760],{"class":108},"12",[39,762,112],{"class":99},[39,764,647],{"class":342},[39,766,93],{"class":92},[39,768,349],{"class":348},[39,770,771],{"class":352},"currentColor",[39,773,349],{"class":348},[39,775,392],{"class":99},[39,777,779,781,783,785,787,789,791,793,795,797,799,802,804,806,808,811,813,815,817,819,821,823,825,827,829,831],{"class":41,"line":778},24,[39,780,297],{"class":102},[39,782,28],{"class":99},[39,784,722],{"class":102},[39,786,105],{"class":99},[39,788,349],{"class":348},[39,790,505],{"class":352},[39,792,349],{"class":348},[39,794,112],{"class":99},[39,796,735],{"class":342},[39,798,93],{"class":92},[39,800,801],{"class":108},"172",[39,803,112],{"class":99},[39,805,745],{"class":342},[39,807,93],{"class":92},[39,809,810],{"class":108},"48",[39,812,112],{"class":99},[39,814,755],{"class":342},[39,816,93],{"class":92},[39,818,760],{"class":108},[39,820,112],{"class":99},[39,822,647],{"class":342},[39,824,93],{"class":92},[39,826,349],{"class":348},[39,828,771],{"class":352},[39,830,349],{"class":348},[39,832,392],{"class":99},[39,834,836,838,840,842,844,848,851,855,858,860,863,866,869,871,873,875,877,880,882,884,886,889,891,893,895,897,899,901,903,905,907,909],{"class":41,"line":835},25,[39,837,297],{"class":102},[39,839,28],{"class":99},[39,841,722],{"class":102},[39,843,105],{"class":99},[39,845,847],{"class":846},"sfdCM","f",[39,849,850],{"class":352},"\"length ",[39,852,854],{"class":853},"smmm7","{",[39,856,857],{"class":102},"direction",[39,859,28],{"class":99},[39,861,862],{"class":210},"magnitude",[39,864,865],{"class":846},":.1f",[39,867,868],{"class":853},"}",[39,870,349],{"class":352},[39,872,112],{"class":99},[39,874,735],{"class":342},[39,876,93],{"class":92},[39,878,879],{"class":108},"154",[39,881,112],{"class":99},[39,883,745],{"class":342},[39,885,93],{"class":92},[39,887,888],{"class":108},"106",[39,890,112],{"class":99},[39,892,755],{"class":342},[39,894,93],{"class":92},[39,896,760],{"class":108},[39,898,112],{"class":99},[39,900,647],{"class":342},[39,902,93],{"class":92},[39,904,349],{"class":348},[39,906,771],{"class":352},[39,908,349],{"class":348},[39,910,392],{"class":99},[39,912,914,916,918,920,922,924,927,929,931,933,935,938,940,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,974,976,978,980,982,984,986,988,990,992,994],{"class":41,"line":913},26,[39,915,297],{"class":102},[39,917,28],{"class":99},[39,919,722],{"class":102},[39,921,105],{"class":99},[39,923,847],{"class":846},[39,925,926],{"class":352},"\"unit ",[39,928,854],{"class":853},[39,930,205],{"class":102},[39,932,28],{"class":99},[39,934,221],{"class":210},[39,936,937],{"class":846},":.2f",[39,939,868],{"class":853},[39,941,942],{"class":352},", ",[39,944,854],{"class":853},[39,946,205],{"class":102},[39,948,28],{"class":99},[39,950,211],{"class":210},[39,952,937],{"class":846},[39,954,868],{"class":853},[39,956,349],{"class":352},[39,958,112],{"class":99},[39,960,735],{"class":342},[39,962,93],{"class":92},[39,964,879],{"class":108},[39,966,112],{"class":99},[39,968,745],{"class":342},[39,970,93],{"class":92},[39,972,973],{"class":108},"124",[39,975,112],{"class":99},[39,977,755],{"class":342},[39,979,93],{"class":92},[39,981,760],{"class":108},[39,983,112],{"class":99},[39,985,647],{"class":342},[39,987,93],{"class":92},[39,989,349],{"class":348},[39,991,771],{"class":352},[39,993,349],{"class":348},[39,995,392],{"class":99},[39,997,999],{"class":41,"line":998},27,[39,1000,118],{"class":99},[1002,1003],"svg-preview",{"alt":1004,"src":1005},"A vector from an origin point to a tip with length and normalized direction labels.","\u002Fshowcase\u002Fref_vector.svg",[58,1007,1009],{"id":1008},"constructor","Constructor",[30,1011,1013],{"className":32,"code":1012,"language":34,"meta":35,"style":35},"Vector(x: Real, y: Real)\n",[17,1014,1015],{"__ignoreMap":35},[39,1016,1017,1019,1021,1023,1026,1029,1031,1033,1035,1037],{"class":41,"line":42},[39,1018,5],{"class":102},[39,1020,105],{"class":99},[39,1022,221],{"class":102},[39,1024,1025],{"class":99},":",[39,1027,1028],{"class":102}," Real",[39,1030,112],{"class":99},[39,1032,745],{"class":102},[39,1034,1025],{"class":99},[39,1036,1028],{"class":102},[39,1038,118],{"class":99},[14,1040,1041],{},"Coordinates are stored as floats.",[30,1043,1045],{"className":32,"code":1044,"language":34,"meta":35,"style":35},"v = dp.Vector(3, 4)\n\nassert v.x == 3\nassert v.y == 4\nassert v.xy == (3, 4)\n",[17,1046,1047,1071,1075,1093,1108],{"__ignoreMap":35},[39,1048,1049,1052,1054,1056,1058,1060,1062,1064,1066,1069],{"class":41,"line":42},[39,1050,1051],{"class":49},"v ",[39,1053,93],{"class":92},[39,1055,96],{"class":49},[39,1057,28],{"class":99},[39,1059,5],{"class":102},[39,1061,105],{"class":99},[39,1063,455],{"class":108},[39,1065,112],{"class":99},[39,1067,1068],{"class":108}," 4",[39,1070,118],{"class":99},[39,1072,1073],{"class":41,"line":79},[39,1074,83],{"emptyLinePlaceholder":82},[39,1076,1077,1080,1083,1085,1087,1090],{"class":41,"line":86},[39,1078,1079],{"class":45},"assert",[39,1081,1082],{"class":49}," v",[39,1084,28],{"class":99},[39,1086,221],{"class":210},[39,1088,1089],{"class":92}," ==",[39,1091,1092],{"class":108}," 3\n",[39,1094,1095,1097,1099,1101,1103,1105],{"class":41,"line":121},[39,1096,1079],{"class":45},[39,1098,1082],{"class":49},[39,1100,28],{"class":99},[39,1102,211],{"class":210},[39,1104,1089],{"class":92},[39,1106,1107],{"class":108}," 4\n",[39,1109,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128],{"class":41,"line":150},[39,1111,1079],{"class":45},[39,1113,1082],{"class":49},[39,1115,28],{"class":99},[39,1117,510],{"class":210},[39,1119,1089],{"class":92},[39,1121,515],{"class":99},[39,1123,455],{"class":108},[39,1125,112],{"class":99},[39,1127,1068],{"class":108},[39,1129,118],{"class":99},[58,1131,1133],{"id":1132},"properties","Properties",[1135,1136,1137,1153],"table",{},[1138,1139,1140],"thead",{},[1141,1142,1143,1147,1150],"tr",{},[1144,1145,1146],"th",{},"Property",[1144,1148,1149],{},"Type",[1144,1151,1152],{},"Notes",[1154,1155,1156,1171,1184,1201,1218],"tbody",{},[1141,1157,1158,1163,1168],{},[1159,1160,1161],"td",{},[17,1162,221],{},[1159,1164,1165],{},[17,1166,1167],{},"float",[1159,1169,1170],{},"Get or set the x coordinate.",[1141,1172,1173,1177,1181],{},[1159,1174,1175],{},[17,1176,211],{},[1159,1178,1179],{},[17,1180,1167],{},[1159,1182,1183],{},"Get or set the y coordinate.",[1141,1185,1186,1190,1195],{},[1159,1187,1188],{},[17,1189,510],{},[1159,1191,1192],{},[17,1193,1194],{},"tuple[float, float]",[1159,1196,1197,1198,28],{},"Read-only tuple of ",[17,1199,1200],{},"(x, y)",[1141,1202,1203,1207,1211],{},[1159,1204,1205],{},[17,1206,857],{},[1159,1208,1209],{},[17,1210,1167],{},[1159,1212,1213,1214,1217],{},"Angle in degrees from ",[17,1215,1216],{},"atan2(y, x)",". Setting it preserves magnitude.",[1141,1219,1220,1224,1228],{},[1159,1221,1222],{},[17,1223,862],{},[1159,1225,1226],{},[17,1227,1167],{},[1159,1229,1230],{},"Vector length. Setting it preserves direction.",[30,1232,1234],{"className":32,"code":1233,"language":34,"meta":35,"style":35},"v = dp.Vector(3, 4)\n\nassert v.magnitude == 5\n\nv.direction = 0\nassert round(v.x, 6) == 5\nassert round(v.y, 6) == 0\n",[17,1235,1236,1258,1262,1277,1281,1296,1324],{"__ignoreMap":35},[39,1237,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256],{"class":41,"line":42},[39,1239,1051],{"class":49},[39,1241,93],{"class":92},[39,1243,96],{"class":49},[39,1245,28],{"class":99},[39,1247,5],{"class":102},[39,1249,105],{"class":99},[39,1251,455],{"class":108},[39,1253,112],{"class":99},[39,1255,1068],{"class":108},[39,1257,118],{"class":99},[39,1259,1260],{"class":41,"line":79},[39,1261,83],{"emptyLinePlaceholder":82},[39,1263,1264,1266,1268,1270,1272,1274],{"class":41,"line":86},[39,1265,1079],{"class":45},[39,1267,1082],{"class":49},[39,1269,28],{"class":99},[39,1271,862],{"class":210},[39,1273,1089],{"class":92},[39,1275,1276],{"class":108}," 5\n",[39,1278,1279],{"class":41,"line":121},[39,1280,83],{"emptyLinePlaceholder":82},[39,1282,1283,1286,1288,1290,1293],{"class":41,"line":150},[39,1284,1285],{"class":49},"v",[39,1287,28],{"class":99},[39,1289,857],{"class":210},[39,1291,1292],{"class":92}," =",[39,1294,1295],{"class":108}," 0\n",[39,1297,1298,1300,1304,1306,1308,1310,1312,1314,1317,1320,1322],{"class":41,"line":167},[39,1299,1079],{"class":45},[39,1301,1303],{"class":1302},"sBTIf"," round",[39,1305,105],{"class":99},[39,1307,1285],{"class":102},[39,1309,28],{"class":99},[39,1311,221],{"class":210},[39,1313,112],{"class":99},[39,1315,1316],{"class":108}," 6",[39,1318,1319],{"class":99},")",[39,1321,1089],{"class":92},[39,1323,1276],{"class":108},[39,1325,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346],{"class":41,"line":186},[39,1327,1079],{"class":45},[39,1329,1303],{"class":1302},[39,1331,105],{"class":99},[39,1333,1285],{"class":102},[39,1335,28],{"class":99},[39,1337,211],{"class":210},[39,1339,112],{"class":99},[39,1341,1316],{"class":108},[39,1343,1319],{"class":99},[39,1345,1089],{"class":92},[39,1347,1295],{"class":108},[58,1349,1351],{"id":1350},"methods","Methods",[30,1353,1355],{"className":32,"code":1354,"language":34,"meta":35,"style":35},"set(x: Real, y: Real) -> None\ncopy() -> Vector\ndot(other: Vector) -> float\nnormalize() -> Vector\nlimit(limit_scalar: Real) -> None\n",[17,1356,1357,1388,1401,1423,1433],{"__ignoreMap":35},[39,1358,1359,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1385],{"class":41,"line":42},[39,1360,1362],{"class":1361},"s-tzF","set",[39,1364,105],{"class":99},[39,1366,221],{"class":102},[39,1368,1025],{"class":99},[39,1370,1028],{"class":102},[39,1372,112],{"class":99},[39,1374,745],{"class":102},[39,1376,1025],{"class":99},[39,1378,1028],{"class":102},[39,1380,1319],{"class":99},[39,1382,1384],{"class":1383},"str-j"," ->",[39,1386,1387],{"class":564}," None\n",[39,1389,1390,1393,1396,1398],{"class":41,"line":79},[39,1391,1392],{"class":102},"copy",[39,1394,1395],{"class":99},"()",[39,1397,1384],{"class":1383},[39,1399,1400],{"class":49}," Vector\n",[39,1402,1403,1406,1408,1411,1413,1416,1418,1420],{"class":41,"line":86},[39,1404,1405],{"class":102},"dot",[39,1407,105],{"class":99},[39,1409,1410],{"class":102},"other",[39,1412,1025],{"class":99},[39,1414,1415],{"class":102}," Vector",[39,1417,1319],{"class":99},[39,1419,1384],{"class":1383},[39,1421,1422],{"class":1361}," float\n",[39,1424,1425,1427,1429,1431],{"class":41,"line":121},[39,1426,180],{"class":102},[39,1428,1395],{"class":99},[39,1430,1384],{"class":1383},[39,1432,1400],{"class":49},[39,1434,1435,1438,1440,1443,1445,1447,1449,1451],{"class":41,"line":150},[39,1436,1437],{"class":102},"limit",[39,1439,105],{"class":99},[39,1441,1442],{"class":102},"limit_scalar",[39,1444,1025],{"class":99},[39,1446,1028],{"class":102},[39,1448,1319],{"class":99},[39,1450,1384],{"class":1383},[39,1452,1387],{"class":564},[14,1454,1455,1458,1459,1462],{},[17,1456,1457],{},"normalize()"," returns a new vector and does not modify the original. It raises\n",[17,1460,1461],{},"ValueError"," for a zero vector.",[14,1464,1465,1468],{},[17,1466,1467],{},"limit()"," mutates the vector only when its current magnitude is larger than the\nlimit.",[30,1470,1472],{"className":32,"code":1471,"language":34,"meta":35,"style":35},"v = dp.Vector(3, 4)\nunit = v.normalize()\n\nassert round(unit.magnitude, 6) == 1\nassert v == dp.Vector(3, 4)\n\nv.limit(3)\nassert round(v.magnitude, 6) == 3\n",[17,1473,1474,1496,1510,1514,1539,1565,1569,1583],{"__ignoreMap":35},[39,1475,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494],{"class":41,"line":42},[39,1477,1051],{"class":49},[39,1479,93],{"class":92},[39,1481,96],{"class":49},[39,1483,28],{"class":99},[39,1485,5],{"class":102},[39,1487,105],{"class":99},[39,1489,455],{"class":108},[39,1491,112],{"class":99},[39,1493,1068],{"class":108},[39,1495,118],{"class":99},[39,1497,1498,1500,1502,1504,1506,1508],{"class":41,"line":79},[39,1499,170],{"class":49},[39,1501,93],{"class":92},[39,1503,1082],{"class":49},[39,1505,28],{"class":99},[39,1507,180],{"class":102},[39,1509,183],{"class":99},[39,1511,1512],{"class":41,"line":86},[39,1513,83],{"emptyLinePlaceholder":82},[39,1515,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536],{"class":41,"line":121},[39,1517,1079],{"class":45},[39,1519,1303],{"class":1302},[39,1521,105],{"class":99},[39,1523,205],{"class":102},[39,1525,28],{"class":99},[39,1527,862],{"class":210},[39,1529,112],{"class":99},[39,1531,1316],{"class":108},[39,1533,1319],{"class":99},[39,1535,1089],{"class":92},[39,1537,1538],{"class":108}," 1\n",[39,1540,1541,1543,1546,1549,1551,1553,1555,1557,1559,1561,1563],{"class":41,"line":150},[39,1542,1079],{"class":45},[39,1544,1545],{"class":49}," v ",[39,1547,1548],{"class":92},"==",[39,1550,96],{"class":49},[39,1552,28],{"class":99},[39,1554,5],{"class":102},[39,1556,105],{"class":99},[39,1558,455],{"class":108},[39,1560,112],{"class":99},[39,1562,1068],{"class":108},[39,1564,118],{"class":99},[39,1566,1567],{"class":41,"line":167},[39,1568,83],{"emptyLinePlaceholder":82},[39,1570,1571,1573,1575,1577,1579,1581],{"class":41,"line":186},[39,1572,1285],{"class":49},[39,1574,28],{"class":99},[39,1576,1437],{"class":102},[39,1578,105],{"class":99},[39,1580,455],{"class":108},[39,1582,118],{"class":99},[39,1584,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605],{"class":41,"line":226},[39,1586,1079],{"class":45},[39,1588,1303],{"class":1302},[39,1590,105],{"class":99},[39,1592,1285],{"class":102},[39,1594,28],{"class":99},[39,1596,862],{"class":210},[39,1598,112],{"class":99},[39,1600,1316],{"class":108},[39,1602,1319],{"class":99},[39,1604,1089],{"class":92},[39,1606,1092],{"class":108},[58,1608,1610],{"id":1609},"operators","Operators",[14,1612,1613,1614,1616],{},"Vector addition and subtraction require another ",[17,1615,5],{},". Scalar multiplication\nand division accept real numbers.",[30,1618,1620],{"className":32,"code":1619,"language":34,"meta":35,"style":35},"assert dp.Vector(3, 4) + dp.Vector(1, 2) == dp.Vector(4, 6)\nassert dp.Vector(3, 4) - dp.Vector(1, 2) == dp.Vector(2, 2)\nassert dp.Vector(3, 4) * 2 == dp.Vector(6, 8)\nassert 3 * dp.Vector(3, 4) == dp.Vector(9, 12)\nassert dp.Vector(3, 4) \u002F 2 == dp.Vector(1.5, 2)\n",[17,1621,1622,1680,1737,1782,1827],{"__ignoreMap":35},[39,1623,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1645,1647,1649,1651,1653,1655,1657,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678],{"class":41,"line":42},[39,1625,1079],{"class":45},[39,1627,96],{"class":49},[39,1629,28],{"class":99},[39,1631,5],{"class":102},[39,1633,105],{"class":99},[39,1635,455],{"class":108},[39,1637,112],{"class":99},[39,1639,1068],{"class":108},[39,1641,1319],{"class":99},[39,1643,1644],{"class":92}," +",[39,1646,96],{"class":49},[39,1648,28],{"class":99},[39,1650,5],{"class":102},[39,1652,105],{"class":99},[39,1654,365],{"class":108},[39,1656,112],{"class":99},[39,1658,1659],{"class":108}," 2",[39,1661,1319],{"class":99},[39,1663,1089],{"class":92},[39,1665,96],{"class":49},[39,1667,28],{"class":99},[39,1669,5],{"class":102},[39,1671,105],{"class":99},[39,1673,642],{"class":108},[39,1675,112],{"class":99},[39,1677,1316],{"class":108},[39,1679,118],{"class":99},[39,1681,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1731,1733,1735],{"class":41,"line":79},[39,1683,1079],{"class":45},[39,1685,96],{"class":49},[39,1687,28],{"class":99},[39,1689,5],{"class":102},[39,1691,105],{"class":99},[39,1693,455],{"class":108},[39,1695,112],{"class":99},[39,1697,1068],{"class":108},[39,1699,1319],{"class":99},[39,1701,142],{"class":92},[39,1703,96],{"class":49},[39,1705,28],{"class":99},[39,1707,5],{"class":102},[39,1709,105],{"class":99},[39,1711,365],{"class":108},[39,1713,112],{"class":99},[39,1715,1659],{"class":108},[39,1717,1319],{"class":99},[39,1719,1089],{"class":92},[39,1721,96],{"class":49},[39,1723,28],{"class":99},[39,1725,5],{"class":102},[39,1727,105],{"class":99},[39,1729,1730],{"class":108},"2",[39,1732,112],{"class":99},[39,1734,1659],{"class":108},[39,1736,118],{"class":99},[39,1738,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1760,1762,1764,1766,1768,1770,1772,1775,1777,1780],{"class":41,"line":86},[39,1740,1079],{"class":45},[39,1742,96],{"class":49},[39,1744,28],{"class":99},[39,1746,5],{"class":102},[39,1748,105],{"class":99},[39,1750,455],{"class":108},[39,1752,112],{"class":99},[39,1754,1068],{"class":108},[39,1756,1319],{"class":99},[39,1758,1759],{"class":92}," *",[39,1761,1659],{"class":108},[39,1763,1089],{"class":92},[39,1765,96],{"class":49},[39,1767,28],{"class":99},[39,1769,5],{"class":102},[39,1771,105],{"class":99},[39,1773,1774],{"class":108},"6",[39,1776,112],{"class":99},[39,1778,1779],{"class":108}," 8",[39,1781,118],{"class":99},[39,1783,1784,1786,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1820,1822,1825],{"class":41,"line":121},[39,1785,1079],{"class":45},[39,1787,1788],{"class":108}," 3",[39,1790,1759],{"class":92},[39,1792,96],{"class":49},[39,1794,28],{"class":99},[39,1796,5],{"class":102},[39,1798,105],{"class":99},[39,1800,455],{"class":108},[39,1802,112],{"class":99},[39,1804,1068],{"class":108},[39,1806,1319],{"class":99},[39,1808,1089],{"class":92},[39,1810,96],{"class":49},[39,1812,28],{"class":99},[39,1814,5],{"class":102},[39,1816,105],{"class":99},[39,1818,1819],{"class":108},"9",[39,1821,112],{"class":99},[39,1823,1824],{"class":108}," 12",[39,1826,118],{"class":99},[39,1828,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1850,1852,1854,1856,1858,1860,1862,1865,1867,1869],{"class":41,"line":150},[39,1830,1079],{"class":45},[39,1832,96],{"class":49},[39,1834,28],{"class":99},[39,1836,5],{"class":102},[39,1838,105],{"class":99},[39,1840,455],{"class":108},[39,1842,112],{"class":99},[39,1844,1068],{"class":108},[39,1846,1319],{"class":99},[39,1848,1849],{"class":92}," \u002F",[39,1851,1659],{"class":108},[39,1853,1089],{"class":92},[39,1855,96],{"class":49},[39,1857,28],{"class":99},[39,1859,5],{"class":102},[39,1861,105],{"class":99},[39,1863,1864],{"class":108},"1.5",[39,1866,112],{"class":99},[39,1868,1659],{"class":108},[39,1870,118],{"class":99},[14,1872,1873],{},"In-place variants mutate the original vector:",[30,1875,1877],{"className":32,"code":1876,"language":34,"meta":35,"style":35},"v = dp.Vector(3, 4)\nv += dp.Vector(1, 1)\nv *= 2\n\nassert v == dp.Vector(8, 10)\n",[17,1878,1879,1901,1925,1935,1939],{"__ignoreMap":35},[39,1880,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899],{"class":41,"line":42},[39,1882,1051],{"class":49},[39,1884,93],{"class":92},[39,1886,96],{"class":49},[39,1888,28],{"class":99},[39,1890,5],{"class":102},[39,1892,105],{"class":99},[39,1894,455],{"class":108},[39,1896,112],{"class":99},[39,1898,1068],{"class":108},[39,1900,118],{"class":99},[39,1902,1903,1905,1908,1910,1912,1914,1916,1918,1920,1923],{"class":41,"line":79},[39,1904,1051],{"class":49},[39,1906,1907],{"class":92},"+=",[39,1909,96],{"class":49},[39,1911,28],{"class":99},[39,1913,5],{"class":102},[39,1915,105],{"class":99},[39,1917,365],{"class":108},[39,1919,112],{"class":99},[39,1921,1922],{"class":108}," 1",[39,1924,118],{"class":99},[39,1926,1927,1929,1932],{"class":41,"line":86},[39,1928,1051],{"class":49},[39,1930,1931],{"class":92},"*=",[39,1933,1934],{"class":108}," 2\n",[39,1936,1937],{"class":41,"line":121},[39,1938,83],{"emptyLinePlaceholder":82},[39,1940,1941,1943,1945,1947,1949,1951,1953,1955,1958,1960,1963],{"class":41,"line":150},[39,1942,1079],{"class":45},[39,1944,1545],{"class":49},[39,1946,1548],{"class":92},[39,1948,96],{"class":49},[39,1950,28],{"class":99},[39,1952,5],{"class":102},[39,1954,105],{"class":99},[39,1956,1957],{"class":108},"8",[39,1959,112],{"class":99},[39,1961,1962],{"class":108}," 10",[39,1964,118],{"class":99},[14,1966,1967,1968,28],{},"Unsupported vector addition and subtraction raise ",[17,1969,1970],{},"TypeError",[1972,1973,1974],"style",{},"html pre.shiki code .sED7I, html code.shiki .sED7I{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#A0111F;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .soTeR, html code.shiki .soTeR{--shiki-light:#90A4AE;--shiki-default:#0E1116;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sWKEy, html code.shiki .sWKEy{--shiki-light:#39ADB5;--shiki-default:#A0111F;--shiki-dark:#F97583}html pre.shiki code .sVsmf, html code.shiki .sVsmf{--shiki-light:#39ADB5;--shiki-default:#0E1116;--shiki-dark:#E1E4E8}html pre.shiki code .sAK04, html code.shiki .sAK04{--shiki-light:#6182B8;--shiki-default:#0E1116;--shiki-dark:#E1E4E8}html pre.shiki code .sNpir, html code.shiki .sNpir{--shiki-light:#F76D47;--shiki-default:#023B95;--shiki-dark:#79B8FF}html pre.shiki code .sm80-, html code.shiki .sm80-{--shiki-light:#E53935;--shiki-default:#0E1116;--shiki-dark:#E1E4E8}html pre.shiki code .sYEV4, html code.shiki .sYEV4{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#702C00;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sqo_7, html code.shiki .sqo_7{--shiki-light:#39ADB5;--shiki-default:#032563;--shiki-dark:#9ECBFF}html pre.shiki code .s_jvP, html code.shiki .s_jvP{--shiki-light:#91B859;--shiki-default:#032563;--shiki-dark:#9ECBFF}html pre.shiki code .sTy78, html code.shiki .sTy78{--shiki-light:#39ADB5;--shiki-default:#023B95;--shiki-dark:#79B8FF}html pre.shiki code .sfdCM, html code.shiki .sfdCM{--shiki-light:#9C3EDA;--shiki-default:#A0111F;--shiki-dark:#F97583}html pre.shiki code .smmm7, html code.shiki .smmm7{--shiki-light:#F76D47;--shiki-default:#A0111F;--shiki-dark:#79B8FF}html pre.shiki code .sBTIf, html code.shiki .sBTIf{--shiki-light:#6182B8;--shiki-default:#023B95;--shiki-dark:#79B8FF}html pre.shiki code .s-tzF, html code.shiki .s-tzF{--shiki-light:#E2931D;--shiki-default:#023B95;--shiki-dark:#79B8FF}html pre.shiki code .str-j, html code.shiki .str-j{--shiki-light:#90A4AE;--shiki-light-font-style:inherit;--shiki-default:#6E011A;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}",{"title":35,"searchDepth":86,"depth":86,"links":1976},[1977,1978,1979,1980,1981],{"id":60,"depth":79,"text":61},{"id":1008,"depth":79,"text":1009},{"id":1132,"depth":79,"text":1133},{"id":1350,"depth":79,"text":1351},{"id":1609,"depth":79,"text":1610},"Reference for the 2D Vector type exported from pydreamplet.","md",{"category":1985},"reference",{"title":5},"\u002Freference\u002Fvector",{"title":5,"description":1982},"reference\u002Fvector","X3bZNTCnT3mXT0Ll9sHntN1LjICA7xOZiQm8SKv_kAk",1780692544480]