void drawLines(int center, int Size, int Color, int Catalog){ translate(hexSideLength * sqrt(3)/2,0); // float Start = (center - Size) * hexSideLength * sqrt(3); // //translate(Diff,0); // float lineLength = Size * 2 * hexSideLength * sqrt(3); // stroke(colorIdx[Color][0],colorIdx[Color][1],colorIdx[Color][2]); // strokeWeight(2); // line(Start, textHeight, Start, textHeight+15); // line(Start+lineLength, textHeight, Start+lineLength, textHeight+15); // Labeling textFont(font1); // vertical labels textAlign(CENTER,CENTER); float textPosX = (center-0.5)* hexSideLength * sqrt(3); fill(colorIdx[Color][0],colorIdx[Color][1],colorIdx[Color][2]); textSize(15); text(DeweyNumbers[Catalog], textPosX, textHeight+10); fill(255); } void drawTitle(){ textFont(font3); textAlign(LEFT,CENTER); fill(0); text("CULTURE CELLULAR", 30, 520); textFont(font1); text("2D FREQUENCY MAPPING", 30, 540); fill(150); textFont(font2); textAlign(CENTER, CENTER); text("QIAN LIU | MAT 259 | INFORMATION VISUALIZATION", width - 180, height - 20); fill(255); } void drawSideText(){ pushMatrix(); fill(colorIdx[1][0],colorIdx[1][1],colorIdx[1][2], 180); translate(SideHexagonW, SideHexagonH); hexagon(hexSideLength); fill(colorIdx[2][0],colorIdx[2][1],colorIdx[2][2], 180); translate(0, 25); hexagon(hexSideLength); fill(colorIdx[4][0],colorIdx[4][1],colorIdx[4][2], 180); translate(0, 25); hexagon(hexSideLength); fill(colorIdx[7][0],colorIdx[7][1],colorIdx[7][2], 180); translate(0, 25); hexagon(hexSideLength); popMatrix(); textAlign(LEFT,CENTER); textFont(font2); fill(50); text("ONE DAY OF 20" + Year[yearIdx], SideTextW - 18, SideTextH - 25 ); text("ECONOMICS", SideTextW, SideTextH); text("TECHNOLOGY", SideTextW, SideTextH+25); text("FAMILY LIVING", SideTextW, SideTextH+50); text("ARTS", SideTextW, SideTextH+75); } void showTotalNum(){ textAlign(LEFT,CENTER); fill(50); float total = TransCat[0] + TransCat[1] + TransCat[2] + TransCat[3]; float percent0 = TransCat[0]/total * 100; float percent1 = TransCat[1]/total * 100; float percent2 = TransCat[2]/total * 100; float percent3 = TransCat[3]/total * 100; String p0 = nf(percent0, 2,1); String p1 = nf(percent1, 2,1); String p2 = nf(percent2, 2,1); String p3 = nf(percent3, 2,1); textFont(font2); text(TransCat[0], SideTextW+100, SideTextH); text(p0 + "%", SideTextW+140, SideTextH); text(TransCat[1], SideTextW+100, SideTextH+25); text(p1 + "%", SideTextW+140, SideTextH+25); text(TransCat[2], SideTextW+100, SideTextH+50); text(p2 + "%", SideTextW+140, SideTextH+50); text(TransCat[3], SideTextW+100, SideTextH+75); text(p3 + "%", SideTextW+140, SideTextH+75); } void CatalogDetail(){ if(Econ){ fill(colorIdx[1][0],colorIdx[1][1],colorIdx[1][2]); textAlign(LEFT,CENTER); textFont(font4); text("330 ECONOMICS", SideDetailW, SideDetailH ); text(CataDetail[0][0], SideNumW, SideDetailH ); text("331 LABOR ECONOMICS", SideDetailW, SideDetailH+20 ); text(CataDetail[0][1], SideNumW, SideDetailH+20 ); text("332 FINANCIAL ECONOMICS", SideDetailW, SideDetailH+40 ); text(CataDetail[0][2], SideNumW, SideDetailH+40 ); text("333 LAND ECONOMICS", SideDetailW, SideDetailH+60 ); text(CataDetail[0][3], SideNumW, SideDetailH+60 ); text("334 COOPERATIVES", SideDetailW, SideDetailH+80 ); text(CataDetail[0][4], SideNumW, SideDetailH+80 ); text("335 SOCIALISM & RELATED SYSTEMS", SideDetailW, SideDetailH+100 ); text(CataDetail[0][5], SideNumW, SideDetailH+100 ); text("336 PUBLIC FINANCE", SideDetailW, SideDetailH+120 ); text(CataDetail[0][6], SideNumW, SideDetailH+120 ); text("337 INTERNATIONAL ECONOMICS", SideDetailW, SideDetailH+140 ); text(CataDetail[0][7], SideNumW, SideDetailH+140 ); text("338 PRODRUCRION", SideDetailW, SideDetailH+160 ); text(CataDetail[0][8], SideNumW, SideDetailH+160 ); text("339 MACROECONOMICS & RELATED TOPICS", SideDetailW, SideDetailH+180 ); text(CataDetail[0][9], SideNumW, SideDetailH+180 ); } else if(Tech){ fill(colorIdx[2][0],colorIdx[2][1],colorIdx[2][2]); textAlign(LEFT,CENTER); textFont(font4); text("610 MEDICAL SCIENCES; MEDICINE", SideDetailW, SideDetailH ); text(CataDetail[1][0], SideNumW, SideDetailH ); text("611 HUMAN ANATOMY", SideDetailW, SideDetailH+20 ); text(CataDetail[1][1], SideNumW, SideDetailH+20 ); text("612 HUMAN PHYSIOLOGY", SideDetailW, SideDetailH+40 ); text(CataDetail[1][2], SideNumW, SideDetailH+40 ); text("613 PROMOTION OF HEALTH", SideDetailW, SideDetailH+60 ); text(CataDetail[1][3], SideNumW, SideDetailH+60 ); text("614 INCIDENCE & PREVENTION OF DISEASE", SideDetailW, SideDetailH+80 ); text(CataDetail[1][4], SideNumW, SideDetailH+80 ); text("615 PHARMACOLOGY & THERAPEUTICS", SideDetailW, SideDetailH+100 ); text(CataDetail[1][5], SideNumW, SideDetailH+100 ); text("616 DISEASES", SideDetailW, SideDetailH+120 ); text(CataDetail[1][6], SideNumW, SideDetailH+120 ); text("617 SURGERY", SideDetailW, SideDetailH+140 ); text(CataDetail[1][7], SideNumW, SideDetailH+140 ); text("618 GYNAECOLOGY & OTHER", SideDetailW, SideDetailH+160 ); text(CataDetail[1][8], SideNumW, SideDetailH+160 ); text("619 EXPERIMENTAL MEDICINE", SideDetailW, SideDetailH+180 ); text(CataDetail[1][9], SideNumW, SideDetailH+180 ); } else if(Fami){ fill(colorIdx[4][0],colorIdx[4][1],colorIdx[4][2]); textAlign(LEFT,CENTER); textFont(font4); text("640 HOME ECONOMICS & FAMILY LIVING", SideDetailW, SideDetailH ); text(CataDetail[2][0], SideNumW, SideDetailH ); text("641 FOOD & DRINK", SideDetailW, SideDetailH+20 ); text(CataDetail[2][1], SideNumW, SideDetailH+20 ); text("642 MEALS & TABLE SERVICE", SideDetailW, SideDetailH+40 ); text(CataDetail[2][2], SideNumW, SideDetailH+40 ); text("643 HOUSING & HOUSEHOLD EQUIPMENT", SideDetailW, SideDetailH+60 ); text(CataDetail[2][3], SideNumW, SideDetailH+60 ); text("644 HOUSEHOLD UTILITIES", SideDetailW, SideDetailH+80 ); text(CataDetail[2][4], SideNumW, SideDetailH+80 ); text("645 HOUSEHOLD FURNISHINGS", SideDetailW, SideDetailH+100 ); text(CataDetail[2][5], SideNumW, SideDetailH+100 ); text("646 SEWING, CLOTHERING, PERSONAL LIVING", SideDetailW, SideDetailH+120 ); text(CataDetail[2][6], SideNumW, SideDetailH+120 ); text("647 MANAGEMENT OF PUBLIC HOUSEHOLDS", SideDetailW, SideDetailH+140 ); text(CataDetail[2][7], SideNumW, SideDetailH+140 ); text("648 HOUSEKEEPING", SideDetailW, SideDetailH+160 ); text(CataDetail[2][8], SideNumW, SideDetailH+160 ); text("649 CHILD REARING & HOME CARE OF SICK", SideDetailW, SideDetailH+180 ); text(CataDetail[2][9], SideNumW, SideDetailH+180 ); } else if(Arts){ fill(colorIdx[7][0],colorIdx[7][1],colorIdx[7][2]); textAlign(LEFT,CENTER); textFont(font4); text("790 RECREATIONAL & PERFORMING ARTS", SideDetailW, SideDetailH ); text(CataDetail[3][0], SideNumW, SideDetailH ); text("791 PUBLIC PERFORMANCES", SideDetailW, SideDetailH+20 ); text(CataDetail[3][1], SideNumW, SideDetailH+20 ); text("792 STAGE PRESENTATIONS", SideDetailW, SideDetailH+40 ); text(CataDetail[3][2], SideNumW, SideDetailH+40 ); text("793 INDOOR GAMES & AMUSEMENTS", SideDetailW, SideDetailH+60 ); text(CataDetail[3][3], SideNumW, SideDetailH+60 ); text("794 INDOOR GAMES OF SKILL", SideDetailW, SideDetailH+80 ); text(CataDetail[3][4], SideNumW, SideDetailH+80 ); text("795 GAMES OF CHANCE", SideDetailW, SideDetailH+100 ); text(CataDetail[3][5], SideNumW, SideDetailH+100 ); text("796 ATHLETIC & OUTDOOR SPORTS & GAMES", SideDetailW, SideDetailH+120 ); text(CataDetail[3][6], SideNumW, SideDetailH+120 ); text("797 AQUATIC & AIR SPORTS", SideDetailW, SideDetailH+140 ); text(CataDetail[3][7], SideNumW, SideDetailH+140 ); text("798 EQUESTRIAN SPORTS & ANIMAL RACING", SideDetailW, SideDetailH+160 ); text(CataDetail[3][8], SideNumW, SideDetailH+160 ); text("799 FISHING, HUNTING, SHOOTING", SideDetailW, SideDetailH+180 ); text(CataDetail[3][9], SideNumW, SideDetailH+180 ); } // textAlign(LEFT,CENTER); // text(TransCat[0], SideTextW+100, SideTextH); // text(p0 + "%", SideTextW+140, SideTextH); // text(TransCat[1], SideTextW+100, SideTextH+25); // text(p1 + "%", SideTextW+140, SideTextH+25); // text(TransCat[2], SideTextW+100, SideTextH+50); // text(p2 + "%", SideTextW+140, SideTextH+50); // text(TransCat[3], SideTextW+100, SideTextH+75); // text(p3 + "%", SideTextW+140, SideTextH+75); }