Knowledge

Domain coloring

Source 📝

1167:. Therefore, in functions that have large ranges of magnitude, changes in magnitude can sometimes be hard to differentiate when a very large change is also pictured in the graph. This can be remedied with a discontinuous color function which shows a repeating brightness pattern for the magnitude based on a given equation. This allows smaller changes to be easily seen as well as larger changes that "discontinuously jump" to a higher magnitude. In the graph on the right, these discontinuities occur in circles around the center, and show a dimming of the graph that can then start becoming brighter again. A similar color function has been used for the graph on top of the article. 257: 248: 1105: 20: 98:. By assigning points on the complex plane to different colors and brightness, domain coloring allows for a function from the complex plane to itself — whose graph would normally require four space dimensions — to be easily represented and understood. This provides insight to the fluidity of complex functions and shows natural geometric extensions of 1213:
Discontinuities may be placed where outputs have a certain property to highlight which parts of the graph have that property. For instance, a graph may, instead of showing the color cyan, jump from green to blue. This causes a discontinuity that is easy to spot, and can highlight lines such as where
284:
Representing a four dimensional complex mapping with only two variables is undesirable, as methods like projections can result in a loss of information. However, it is possible to add variables that keep the four-dimensional process without requiring a visualization of four dimensions. In this case,
285:
the two added variables are visual inputs such as color and brightness because they are naturally two variables easily processed and distinguished by the human eye. This assignment is called a "color function". There are many different color functions used. A common practice is to represent the
1091:
Many color graphs have discontinuities, where instead of evenly changing brightness and color, it suddenly changes, even when the function itself is still smooth. This is done for a variety of reasons such as showing more detail or highlighting certain aspects of a function, like
229:
used the method in the late 1980s. Dan Kucerovsky used it in 1990. The technique of using continuous color to map points from domain to codomain or image plane was used in 1999 by George Abdo and Paul Godfrey and colored grids were used in graphics by
488: 1214:
the argument is zero. Discontinuities may also affect large portions of a graph, such as a graph where the color wheel divides the graph into quadrants. In this way, it is easy to show where each quadrant ends up with relations to others.
1052:
Since the HSL color space is not perceptually uniform, one can see streaks of perceived brightness at yellow, cyan, and magenta (even though their absolute values are the same as red, green, and blue) and a halo around
1230:. This issue can possibly be ameliorated by creating alternate versions using color maps that fit within the color space discernible to those with color blindness. For example, for use by those with total 709: 782: 1045:(hue, saturation, lightness) color model. Saturation is always set at the maximum of 100%. Vivid colors of the rainbow are rotating in a continuous way on the complex unit circle, so the sixth 203: 556: 366: 911: 642: 1009: 943: 1149: 1036: 808: 313: 217:
The term "domain coloring" was coined by Frank Farris, possibly around 1998. There were many earlier uses of color to visualize complex functions, typically mapping
1199: 977: 576: 834: 156: 136: 1669: 1263: 644:
such that the inverse of a function is exactly as light as the original function is dark (and the other way around). Possible choices include
226: 1613: 1518: 1608: 1577: 278:(right) using the same color function, showing the three zeros as well as the negative real numbers as pink rays starting at the zeros. 162:
are represented by two variables and therefore two dimensions; this means that representing a complex function (more precisely, a
1290: 650: 1528: 1450:
Poelke, K.; Polthier, K. (September 2012). "Domain Coloring of Complex Functions: An Implementation-Oriented Introduction".
716: 1704: 1363: 1323: 172: 84: 1649: 1346:
Kucerovsky, Dan (October 1990). "An algorithm for the visual representation of a two-dimensional vector field".
1234:, a color map based on blue/grey/yellow may be more readable than the conventional map based on blue/green/red. 505: 271:, as per the simple color function example described in the text (left), and the graph of the complex function 851: 1618: 589: 286: 1388: 1548: 1699: 1267: 375: 982: 837: 483:{\displaystyle {\begin{cases}H&=\arg z+2\pi /3,\\S&=100\%,\\L&=\ell (|z|).\end{cases}}} 1389:"Plotting functions of a complex variable: Table of Conformal Mappings Using Continuous Coloring" 916: 324: 163: 1437: 1111: 1014: 1572: 1159:
Unlike the argument, which has finite range, the magnitude of a complex number can range from
1664: 1656: 1632: 787: 292: 1592: 1177: 948: 561: 344: 8: 813: 583: 111: 1587: 1582: 1475: 1369: 1250: 579: 141: 121: 495: 332: 1524: 1467: 1413: 1359: 1319: 231: 1479: 1373: 1459: 1351: 1279:
Lundmark refers to Farris' coining the term "domain coloring" in this 2004 article.
1093: 218: 205:) requires the visualization of four dimensions. One way to achieve that is with a 167: 87: 72: 1679: 1573:
High-quality, browser-based interactive complex function plotter by Ricky Reusseur
1313: 1231: 1223: 1076: 1042: 206: 1567: 1493: 1348:
Conference Record of the 1990 IEEE Industry Applications Society Annual Meeting
841: 159: 1417: 1170:
Equations that determine the discontinuities may be linear, such as for every
1693: 1108:
A discontinuous color function. In the graph, each discontinuity occurs when
1046: 222: 115: 99: 95: 1355: 256: 118:
can be drawn in two dimensions because there are two represented variables,
1471: 1226:
may have trouble interpreting such graphs when they are made with standard
247: 1623: 1463: 1227: 320: 1641: 1104: 328: 1598: 848:
A widespread choice which does not have this property is the function
499: 1083:, correct this, making the images more accurate and less saturated. 1049:(starting with 1) are: green, cyan, blue, magenta, red, and yellow. 1684: 1636: 1080: 1171: 360: 1661: 1653: 1645: 1628: 1602: 1520:
Creating Symmetry: The Artful Mathematics of Wallpaper Patterns
19: 1386: 1315:
Visual Complex Functions: An Introduction with Phase Portraits
1264:"Visualizing complex analytic functions using domain coloring" 352: 91: 1680:
Fractal Zoomer : Software that utilizes domain coloring
1438:
http://users.mai.liu.se/hanlu09/complex/domain_coloring.html
1392: 476: 1549:"Colour Maps for the Colour Blind, presented at IAMG 2017" 1174:
magnitude, exponential equations such as every magnitude
491: 316: 704:{\displaystyle \ell _{1}(r)={\frac {2}{\pi }}\arctan(r)} 1674: 1657:
routines with user interface and various color schemes
67:, using the structured color function described below. 1180: 1114: 1017: 985: 951: 919: 854: 816: 790: 777:{\displaystyle \ell _{2}(r)={\frac {r^{a}}{r^{a}+1}}} 719: 653: 592: 564: 508: 369: 295: 175: 144: 124: 1288: 1665:routines for 3D-visualization of complex functions 1583:Visualizing complex-valued functions in the plane. 1193: 1143: 1030: 1003: 971: 937: 905: 828: 802: 776: 703: 636: 570: 550: 482: 307: 197: 150: 130: 1648:implementation of domain coloring by E. Petrisor 1609:Open source C and Python domain coloring software 1412: 1251:Visualizing complex-valued functions in the plane 502:. There are a number of choices for the function 1691: 1295:Pixel: The Magazine of Scientific Visualization 1086: 1624:Java domain coloring software (In development) 1523:. Princeton University Press. pp. 36–37. 1449: 198:{\displaystyle f:\mathbb {C} \to \mathbb {C} } 1261: 1311: 315:, (also known as "phase" or "angle") with a 209:, but another method is by domain coloring. 1685:cplot, a domain-coloring package for Python 1637:Python script for GIMP by Michael J. Gruber 16:Technique for visualizing complex functions 1345: 1208: 551:{\displaystyle \ell :[0,\infty )\to [0,1)} 191: 183: 1103: 338: 18: 1452:IEEE Computer Graphics and Applications 1387:George Abdo & Paul Godfrey (1999). 1255: 1692: 1546: 1516: 1494:"CET Perceptually Uniform Colour Maps" 1406: 1291:"A Color Gallery of Complex Functions" 1205:is an integer, or any other equation. 906:{\displaystyle \ell _{3}(r)=1-a^{|r|}} 1542: 1540: 1301:(4). Pixel Communications: 42 et seq. 1075:. More modern color spaces, e.g, the 637:{\displaystyle \ell (1/r)=1-\ell (r)} 23:Domain coloring plot of the function 1380: 363:, and a point at infinity in white: 1099: 13: 1537: 524: 430: 14: 1716: 1578:Color Graphs of Complex Functions 1561: 343:The following example colors the 1517:Farris, Frank A. (2 June 2015). 586:. Another desirable property is 255: 246: 1510: 1486: 1418:"Graphics for complex analysis" 1443: 1430: 1339: 1318:. Springer Basel. p. 29. 1305: 1282: 1243: 1217: 1124: 1116: 897: 889: 871: 865: 736: 730: 698: 692: 670: 664: 631: 625: 610: 596: 545: 533: 530: 527: 515: 467: 463: 455: 451: 187: 1: 1675:Real-Time Zooming Math Engine 1619:Domain Coloring Method on GPU 1237: 1004:{\displaystyle 0\leq r\leq 1} 105: 1588:Gallery of Complex Functions 1568:Samuel Li's function plotter 1289:David A. Rabenhorst (1990). 1087:Discontinuous color changing 7: 1614:Enhanced 3D Domain coloring 1440:Retrieved 13 December 2018. 938:{\displaystyle 0<a<1} 10: 1721: 1705:Numerical function drawing 1605:script for domain coloring 836:, this corresponds to the 212: 1144:{\displaystyle |z|=2^{n}} 1031:{\displaystyle \ell _{1}} 237: 838:stereographic projection 327:by other means, such as 1356:10.1109/IAS.1990.152292 1209:Highlighting properties 1041:This approach uses the 234:that he dates to 1997. 164:complex-valued function 1547:Kovesi, Peter (2017). 1262:Hans Lundmark (2004). 1222:People who experience 1195: 1156: 1145: 1032: 1005: 973: 939: 907: 830: 804: 803:{\displaystyle a>0} 778: 705: 638: 572: 552: 484: 309: 308:{\displaystyle \arg z} 199: 152: 132: 68: 1312:Elias Wegert (2012). 1196: 1194:{\displaystyle 2^{n}} 1146: 1107: 1033: 1006: 974: 972:{\displaystyle a=1/2} 940: 913:(with some parameter 908: 831: 805: 784:(with some parameter 779: 706: 639: 573: 571:{\displaystyle \ell } 553: 485: 339:Simple color function 310: 200: 153: 133: 94:to each point of the 22: 1464:10.1109/MCG.2012.100 1350:. pp. 903–909. 1178: 1112: 1015: 983: 949: 917: 852: 814: 788: 717: 651: 590: 562: 506: 367: 293: 173: 142: 122: 1599:John Davis software 829:{\displaystyle a=2} 83:is a technique for 1670:Color wheel method 1595:by Alessandro Rosa 1191: 1157: 1141: 1028: 1001: 969: 935: 903: 826: 800: 774: 701: 634: 580:strictly monotonic 568: 548: 480: 475: 305: 195: 148: 128: 69: 1530:978-0-691-16173-0 1414:Douglas N. Arnold 1249:Frank A. Farris, 1011:is very close to 772: 684: 151:{\displaystyle y} 131:{\displaystyle x} 88:complex functions 81:color wheel graph 1712: 1700:Complex analysis 1556: 1555: 1553: 1544: 1535: 1534: 1514: 1508: 1507: 1505: 1504: 1490: 1484: 1483: 1447: 1441: 1434: 1428: 1427: 1425: 1424: 1410: 1404: 1403: 1401: 1400: 1391:. Archived from 1384: 1378: 1377: 1343: 1337: 1336: 1334: 1332: 1309: 1303: 1302: 1286: 1280: 1278: 1276: 1275: 1266:. Archived from 1259: 1253: 1247: 1200: 1198: 1197: 1192: 1190: 1189: 1166: 1162: 1150: 1148: 1147: 1142: 1140: 1139: 1127: 1119: 1100:Magnitude growth 1074: 1073: 1071: 1070: 1067: 1064: 1037: 1035: 1034: 1029: 1027: 1026: 1010: 1008: 1007: 1002: 978: 976: 975: 970: 965: 944: 942: 941: 936: 912: 910: 909: 904: 902: 901: 900: 892: 864: 863: 835: 833: 832: 827: 809: 807: 806: 801: 783: 781: 780: 775: 773: 771: 764: 763: 753: 752: 743: 729: 728: 710: 708: 707: 702: 685: 677: 663: 662: 643: 641: 640: 635: 606: 577: 575: 574: 569: 557: 555: 554: 549: 489: 487: 486: 481: 479: 478: 466: 458: 408: 358: 350: 314: 312: 311: 306: 287:complex argument 277: 270: 259: 250: 204: 202: 201: 196: 194: 186: 168:complex variable 157: 155: 154: 149: 137: 135: 134: 129: 73:complex analysis 66: 65: 63: 62: 53: 50: 1720: 1719: 1715: 1714: 1713: 1711: 1710: 1709: 1690: 1689: 1564: 1559: 1551: 1545: 1538: 1531: 1515: 1511: 1502: 1500: 1498:peterkovesi.com 1492: 1491: 1487: 1448: 1444: 1435: 1431: 1422: 1420: 1411: 1407: 1398: 1396: 1385: 1381: 1366: 1344: 1340: 1330: 1328: 1326: 1310: 1306: 1287: 1283: 1273: 1271: 1260: 1256: 1248: 1244: 1240: 1224:color blindness 1220: 1211: 1185: 1181: 1179: 1176: 1175: 1164: 1160: 1135: 1131: 1123: 1115: 1113: 1110: 1109: 1102: 1089: 1077:Lab color space 1068: 1065: 1062: 1061: 1059: 1054: 1022: 1018: 1016: 1013: 1012: 984: 981: 980: 961: 950: 947: 946: 918: 915: 914: 896: 888: 887: 883: 859: 855: 853: 850: 849: 815: 812: 811: 789: 786: 785: 759: 755: 754: 748: 744: 742: 724: 720: 718: 715: 714: 676: 658: 654: 652: 649: 648: 602: 591: 588: 587: 563: 560: 559: 507: 504: 503: 474: 473: 462: 454: 443: 437: 436: 422: 416: 415: 404: 381: 371: 370: 368: 365: 364: 356: 348: 341: 294: 291: 290: 282: 281: 280: 279: 272: 266: 262: 261: 260: 252: 251: 240: 215: 207:Riemann surface 190: 182: 174: 171: 170: 160:complex numbers 143: 140: 139: 123: 120: 119: 108: 90:by assigning a 77:domain coloring 54: 51: 36: 35: 33: 24: 17: 12: 11: 5: 1718: 1708: 1707: 1702: 1688: 1687: 1682: 1677: 1672: 1667: 1659: 1651: 1639: 1634: 1626: 1621: 1616: 1611: 1606: 1596: 1593:Complex Mapper 1590: 1585: 1580: 1575: 1570: 1563: 1562:External links 1560: 1558: 1557: 1536: 1529: 1509: 1485: 1442: 1429: 1405: 1379: 1364: 1338: 1324: 1304: 1281: 1254: 1241: 1239: 1236: 1219: 1216: 1210: 1207: 1188: 1184: 1138: 1134: 1130: 1126: 1122: 1118: 1101: 1098: 1088: 1085: 1047:roots of unity 1025: 1021: 1000: 997: 994: 991: 988: 968: 964: 960: 957: 954: 934: 931: 928: 925: 922: 899: 895: 891: 886: 882: 879: 876: 873: 870: 867: 862: 858: 846: 845: 842:Riemann sphere 825: 822: 819: 799: 796: 793: 770: 767: 762: 758: 751: 747: 741: 738: 735: 732: 727: 723: 712: 700: 697: 694: 691: 688: 683: 680: 675: 672: 669: 666: 661: 657: 633: 630: 627: 624: 621: 618: 615: 612: 609: 605: 601: 598: 595: 567: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 477: 472: 469: 465: 461: 457: 453: 450: 447: 444: 442: 439: 438: 435: 432: 429: 426: 423: 421: 418: 417: 414: 411: 407: 403: 400: 397: 394: 391: 388: 385: 382: 380: 377: 376: 374: 340: 337: 319:following the 304: 301: 298: 276: − 1 264: 263: 254: 253: 245: 244: 243: 242: 241: 239: 236: 214: 211: 193: 189: 185: 181: 178: 147: 127: 107: 104: 100:real functions 15: 9: 6: 4: 3: 2: 1717: 1706: 1703: 1701: 1698: 1697: 1695: 1686: 1683: 1681: 1678: 1676: 1673: 1671: 1668: 1666: 1663: 1660: 1658: 1655: 1652: 1650: 1647: 1643: 1640: 1638: 1635: 1633: 1630: 1627: 1625: 1622: 1620: 1617: 1615: 1612: 1610: 1607: 1604: 1600: 1597: 1594: 1591: 1589: 1586: 1584: 1581: 1579: 1576: 1574: 1571: 1569: 1566: 1565: 1550: 1543: 1541: 1532: 1526: 1522: 1521: 1513: 1499: 1495: 1489: 1481: 1477: 1473: 1469: 1465: 1461: 1457: 1453: 1446: 1439: 1433: 1419: 1415: 1409: 1395:on 2020-03-16 1394: 1390: 1383: 1375: 1371: 1367: 1365:0-87942-553-9 1361: 1357: 1353: 1349: 1342: 1327: 1325:9783034801799 1321: 1317: 1316: 1308: 1300: 1296: 1292: 1285: 1270:on 2006-05-02 1269: 1265: 1258: 1252: 1246: 1242: 1235: 1233: 1229: 1225: 1215: 1206: 1204: 1186: 1182: 1173: 1168: 1154: 1151:for integers 1136: 1132: 1128: 1120: 1106: 1097: 1095: 1084: 1082: 1078: 1057: 1050: 1048: 1044: 1039: 1023: 1019: 998: 995: 992: 989: 986: 966: 962: 958: 955: 952: 932: 929: 926: 923: 920: 893: 884: 880: 877: 874: 868: 860: 856: 843: 839: 823: 820: 817: 797: 794: 791: 768: 765: 760: 756: 749: 745: 739: 733: 725: 721: 713: 695: 689: 686: 681: 678: 673: 667: 659: 655: 647: 646: 645: 628: 622: 619: 616: 613: 607: 603: 599: 593: 585: 581: 565: 542: 539: 536: 521: 518: 512: 509: 501: 497: 493: 470: 459: 448: 445: 440: 433: 427: 424: 419: 412: 409: 405: 401: 398: 395: 392: 389: 386: 383: 378: 372: 362: 354: 346: 336: 334: 330: 326: 322: 318: 302: 299: 296: 288: 275: 269: 258: 249: 235: 233: 228: 224: 220: 210: 208: 179: 176: 169: 165: 161: 145: 125: 117: 116:real function 113: 103: 101: 97: 96:complex plane 93: 89: 86: 82: 78: 74: 61: 57: 48: 44: 40: 31: 27: 21: 1519: 1512: 1501:. Retrieved 1497: 1488: 1458:(5): 90–97. 1455: 1451: 1445: 1432: 1421:. Retrieved 1408: 1397:. Retrieved 1393:the original 1382: 1347: 1341: 1329:. Retrieved 1314: 1307: 1298: 1294: 1284: 1272:. Retrieved 1268:the original 1257: 1245: 1232:deuteranopia 1221: 1212: 1202: 1169: 1158: 1152: 1090: 1055: 1051: 1040: 945:) which for 847: 342: 283: 273: 267: 216: 109: 80: 76: 70: 59: 55: 46: 42: 38: 29: 25: 1218:Limitations 498:, and L is 490:Where H is 321:color wheel 265:HL plot of 232:Doug Arnold 227:Larry Crone 158:. However, 85:visualizing 1694:Categories 1642:Matplotlib 1503:2020-12-22 1436:May 2004. 1423:2008-05-17 1399:2008-05-17 1274:2006-05-25 1238:References 1228:color maps 1094:level sets 584:continuous 578:should be 496:saturation 347:in black, 333:saturation 329:brightness 323:, and the 225:) to hue. 106:Motivation 1631:routines 1331:6 January 1020:ℓ 996:≤ 990:≤ 881:− 857:ℓ 840:onto the 722:ℓ 690:⁡ 682:π 656:ℓ 623:ℓ 620:− 594:ℓ 566:ℓ 531:→ 525:∞ 510:ℓ 500:lightness 449:ℓ 431:% 402:π 390:⁡ 325:magnitude 300:⁡ 188:→ 1480:19237225 1472:24806991 1416:(2008). 1374:34434375 1081:CIECAM02 810:). With 219:argument 1172:integer 1072:⁠ 1060:⁠ 494:, S is 361:magenta 213:History 166:of one 64:⁠ 58:+ 2 + 2 34:⁠ 1662:MATLAB 1654:MATLAB 1646:MayaVi 1629:MATLAB 1603:S-Lang 1527:  1478:  1470:  1372:  1362:  1322:  1201:where 687:arctan 345:origin 238:Method 45:− 2 − 1552:(PDF) 1476:S2CID 1370:S2CID 353:green 223:phase 114:of a 112:graph 92:color 79:or a 41:− 1)( 1644:and 1525:ISBN 1468:PMID 1360:ISBN 1333:2016 1320:ISBN 979:and 930:< 924:< 795:> 582:and 138:and 32:) = 1460:doi 1352:doi 1163:to 1079:or 1043:HSL 711:and 492:hue 428:100 387:arg 359:in 351:in 335:. 331:or 317:hue 297:arg 71:In 1696:: 1601:, 1539:^ 1496:. 1474:. 1466:. 1456:32 1454:. 1368:. 1358:. 1297:. 1293:. 1096:. 1058:= 1038:. 558:. 357:−1 355:, 289:, 110:A 102:. 75:, 1554:. 1533:. 1506:. 1482:. 1462:: 1426:. 1402:. 1376:. 1354:: 1335:. 1299:1 1277:. 1203:n 1187:n 1183:2 1165:∞ 1161:0 1155:. 1153:n 1137:n 1133:2 1129:= 1125:| 1121:z 1117:| 1069:2 1066:/ 1063:1 1056:L 1024:1 999:1 993:r 987:0 967:2 963:/ 959:1 956:= 953:a 933:1 927:a 921:0 898:| 894:r 890:| 885:a 878:1 875:= 872:) 869:r 866:( 861:3 844:. 824:2 821:= 818:a 798:0 792:a 769:1 766:+ 761:a 757:r 750:a 746:r 740:= 737:) 734:r 731:( 726:2 699:) 696:r 693:( 679:2 674:= 671:) 668:r 665:( 660:1 632:) 629:r 626:( 617:1 614:= 611:) 608:r 604:/ 600:1 597:( 546:) 543:1 540:, 537:0 534:[ 528:) 522:, 519:0 516:[ 513:: 471:. 468:) 464:| 460:z 456:| 452:( 446:= 441:L 434:, 425:= 420:S 413:, 410:3 406:/ 399:2 396:+ 393:z 384:= 379:H 373:{ 349:1 303:z 274:z 268:z 221:( 192:C 184:C 180:: 177:f 146:y 126:x 60:i 56:x 52:/ 49:) 47:i 43:x 39:x 37:( 30:x 28:( 26:f

Index


complex analysis
visualizing
complex functions
color
complex plane
real functions
graph
real function
complex numbers
complex-valued function
complex variable
Riemann surface
argument
phase
Larry Crone
Doug Arnold


complex argument
hue
color wheel
magnitude
brightness
saturation
origin
green
magenta
hue
saturation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.