
ãæµæ->枩床ã颿°ã®ã°ã©ãããã€ã¯ãã³ã³ãããŒã©ãŒã«èªã¿èŸŒãããã®ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããå¿
èŠããããŸããïŒã°ã©ããããã€ãã®ãã€ã³ãã«èšå®ããŠããè£éããããšã«ããŸããïŒã ãã®éçšã§ãã°ã©ãã¯éåžžã«éç·åœ¢ã§ããããšãããããŸããïŒ180ãªãŒã -> 100
o ã6,000ãªãŒã -> 0
o ã30,000ãªãŒã -> -30
o ïŒã ã ãããç§ã¯
察æ°ã¹ã±ãŒã«ã®ãããã¯ã«é£ã³èŸŒãå¿
èŠããããŸãã...ãããŠãç§ã¯å¿
èŠãªãã®ãèŠã€ããããªãã£ãã®ã§ãããã«çŸããŸããã ãããŠããã®ãããªåé¡ã®æ°åŠïŒããã³C ++ã§ã®å®è£
ïŒãçè§£ããå¿
èŠããããŸããã çŽ æŽããã-ããã¯ãã®ãããªå¿
èŠãªãããã¯ã®ããã§ãããå¡è£
ãããŠããŸããïŒ ãŸãã倧äžå€«-è³ã¯ããã¿ã倧åŠã®é«çæ°åŠãæãåºããããã°ã©ã ãæžãããŸããã ããã§è©Šç·Žã説æããããšã«ããŸãã-誰ãã圹ã«ç«ã€ãããããŸããã
ãã®èšäºã§ã¯çè«ïŒããã³åºæ¬çãªä»®æ³ã¯ã©ã¹ïŒã«ã€ããŠèª¬æããæ¬¡ã§ã¯Qtã䜿çšããŠç¹å®ã®å®è£
ãåãäžããŸãã
泚æïŒããã¹ãã«ã¯å€ãã®ã°ã©ãã£ãã¯ããããŸãïŒã¿ã¹ã¯ã¯ã©ãããæé·ããŸãã
äžè¬ã«ã
ç§ã¯ã¢ã€ãã«é床å¶åŸ¡ãè¡ãå¿
èŠããããŸã -ãšã³ãžã³æž©åºŠã«å¿ããŠã¢ã€ããªã³ã°æã«ç¹å®ã®é床ãç¶æããªããã°ãªããªããããªè»ã®ãããªãã®ã§ãã 圌女ã¯ã¹ããããŒã¢ãŒã¿ãŒã§ãã³ããŒã調æŽããããšã§ãããããµããŒãããŸãã
äžè¬çã«ãçŸåšã®æž©åºŠãç¥ãå¿
èŠããããŸãã ãµãŒãã¹ã¿ã䜿çšããŠã宿çã«æž¬å®ããããšã«ããŸããã é»å§éäžã枬å®ããŸã-æµæãååŸããŸãã ããã«ãããŒãã«ããïŒãã€ã¯ãã³ã³ãããŒã©ã§ããããïŒãå¿
èŠãªé床ãååŸããŸãã
ãã®ããŒãã«ãèšå®ããå¿
èŠããããŸãïŒãã®ãããããã°ã©ã ã¯Qtã䜿çšããŠäœæãããŸãïŒã ãæµæ=>枩床ããšããç¹ãããã€ããããŸãã åADCã³ãŒãã«é©åãªæž©åºŠãååŸããå¿
èŠããããŸãïŒå€ãã®åžåå€ã«å¯ŸããŠïŒã è»ã«ãã£ãŠç°ãªãããããããã®å€ã¯ç°ãªãå¯èœæ§ããããããç»é¢äžã§ããŒãã«ã確èªããã«ãŒãäžã®ããã€ãã®ãã€ã³ããèšå®ããå¿
èŠããããŸãã
ãã®éçšã§ããã®ã°ã©ãã¯æããã«å¯Ÿæ°ã¹ã±ãŒã«ã«ãªãããšã倿ããŸããã ãã®ããã衚瀺ããå¿
èŠããããŸãã ãããè¡ãæ¹æ³-èªãã§ãã ããã
åé¡ã®å£°æ
å¿
èŠãªãã®ãããã«è©³ãã説æããŸãããã
- 颿°ã®å²ãåœãŠ -ã°ã©ããäœæãããããã€ãã®ãã€ã³ããèšå®ããå¿
èŠããããŸãã äžè¬ã«ã è£éãæãåºããŸãã
- 颿°ã®ãããã -ã¯ããã¯ãã Qwtã«ã€ããŠç¥ã£ãŠããŸã ã ç§ã¯åœŒãããŸãããç¥ããªãã®ãããããŸããããªããªãã圌ã«ã¯æ¬¡ã®å¯èœæ§ãèŠã€ãããªãã£ãããã§ãã
- ã€ã³ã¿ã©ã¯ãã£ããªã¿ã¹ã¯å®çŸ© -ã¹ã±ãŒã«ã®çŸåšã®ç»é¢åº§æšå
ã§ã颿°ãæ§ç¯ããããã€ã³ããç»é¢äžã§ç§»åããå®éã®å€ã«å€æããå¿
èŠããããŸãã
- ç·åœ¢/察æ°ã¹ã±ãŒã« -å€ã¯ç§ãæžãããã®ãšåããªã®ã§ãã¹ã±ãŒã«ã倿Žã§ããããã«ããªããã°ãªããŸããã§ããã ãããŠãäž¡æ¹ãšãåæã«ã
ããã«TKããããŸã...ãŸããäœããç§ã¯ãããããŸããã§ããïŒ ç§ãããªããå©ããããŠãã ããã
ã¯ããæœããŸã§
-CodeCogsã®Equation Editorã«æè¬ããŸãïŒ åœŒãã®å©ããåããŠãMicrosoft Equation Editorã䜿çšããã«ãã¹ãŠã®æ°åŒãäœæããããšã¯æåã§ãããã®åŸãããã«æ¿å
¥ããŠã°ã©ãã£ãã¯ã¹ã«ãšã¯ã¹ããŒãããå¿
èŠããããŸãã ãšããã§ã
ãã·ã¢èªã®ç·šéè
ãããŸãã äžè¬çã«ãç§ã¯ãå§ãããŸãïŒ
ããŠãæ°åŒã®ä»£ããã«ç©ºã®åè§ã衚瀺ãããå Žåãããã¯æ¹çšåŒãšãã£ã¿ãŒã®ãããããšããã§ã...
æ·»ä»ã®Excelãã¡ã€ã«
ãã®èšäºãæžãããšããExcelã¹ãã¬ããã·ãŒãã®ãã¹ãŠã®èšç®åŒãäœæããæ°åŒã§ãã§ãã¯ããŸããã ããã¯éåžžã«äŸ¿å©ã§ããããšã倿ããŸããã ãããŠãç§ã¯ãããå
Œ
±ã®äœ¿çšã®ããã«åºãããšã«ããŸããã 以äžã®ããŒãžã¯ã»ã¯ã·ã§ã³ããšã«ãªã¹ããããŠããŸãã åããŒãžã§ã倿Žã§ãããã©ã¡ãŒã¿ãŒã¯ãèæ¯ãé»è²ã®ã»ã«ãšããŠããŒã¯ãããŠããŸãã æ®ãã®ã»ã«ã¯ãã®ãŸãŸã«ããŠããã®ãæé©ã§ãã ãã ãããã¹ãŠã®åŒã¯å®å
šã«ç£èŠã§ããŸãã
ãã¡ã€ã«ã
ããŠã³ããŒãããŠãå¥åº·ç¶æ
ã詊ããŠãã ããïŒ ãã¡ã€ã«ã«åé¡ãããå Žå-æžã蟌ã¿ãéä¿¡ããŸãã
æ©èœäŸå
ãã®ãããããã€ãã®äŸåé¢ä¿ããããŸãã

ã ããã«ãããŸã

-ã°ã©ãã®æ°Žå¹³è»žã

-åçŽã ç§ã®å Žå

æµæã®å€ã§ãã

-枩床ã
ã©ãããŠ

ïŒ ãã£ã±ããããªæãïŒ ããã¯ããã§ãããæãåçŽãªã±ãŒã¹
ã§ã¯åŠæ ¡ã§
ã®ã¿ã§ãã


å¹³é¢äžã®ç¹ã®åº§æšã§ãã ç°¡åã«ããããã«ã
ãã«ã«ã座æšç³»ã䜿çšããããšã«ããŸãã

ãŒããåºæºã«ããŠæ°Žå¹³è»žã®åçŽãªãã»ãããèšå®ããŸãã

ãŒãã«å¯ŸããåçŽè»žã®æ°Žå¹³ãªãã»ãããèšå®ããŸãã

ãã®éåžžã«åº§æšç³»ãçŽã«æããããã«ãã€ã³ããå
¥ãããšããã¹ãŠãããŸããããŸãã æ¬åœã«-圌ãã¯ã»ã³ã¿ãŒãéžã³ãå®èŠã§ãããããã«çœ®ããããã«ã ããããããããã°ã©ã ã§ã°ã©ããäœæãããšãã埮åŠãªããšãå§ãŸããŸã-ãŒããšã¿ãªãã¹ããã®ã¯äœã§ããïŒ ã+ããšèŠãªããã®ãããã³ã-ããšã¯äœã§ããïŒ ãã®èšäºã®ã°ã©ãã£ãã¯ã¹ãCorelDRAWã§æç»ããŸããäžå¿ã¯å·Šäžããèæ
®ãããŸãïŒå¿
èŠã«å¿ããŠç§»åã§ããŸãïŒã

ãŸããã¹ã±ãžã¥ãŒã«ã¯ã©ãããåäœã§è¡ãããŸããïŒ ã»ã³ãã¡ãŒãã«ã§ïŒ ãªãã§ïŒ 次ã®ã¹ãããã¯ãQtããŒã«ã䜿çšããC ++ã§ã®å®è£
ã§ããããã§ãããã©ã«ãã§ãŒãã«èšå®ãããQWidgetãŠã£ã³ããŠãäœæããŸããããã¯å·Šäžã«ãããŸãã æž¬å®åäœã¯ç»é¢ã®ãã¯ã»ã«ã§ãã
ããŠããã®çŸããæšè«ã¯ãã¹ãŠç·åœ¢ã¹ã±ãŒã«ã«æå¹ã§ãããå°å¹³ç·äžã«å¯Ÿæ°ãè¿«ã£ãŠããããšãå¿ããªãã§ãã ããã ããã§æªéã¯äœãèµ·ããããç¥ã£ãŠããŸãïŒ
ããããããã¯ãã€ã³ãã§ãã ãããŠãããçš®ã®ç·ããŸãã¯ããããããããã®ç·ããããŸãã ã©ããªå€æããããŸããïŒ
ã ããããã
æ©èœã®äŸåé¢ä¿ãš
座æšå€æãæåããæç¢ºã«åé¢ããå¿
èŠããããŸãã
ããã§ã¯ã次ã®ããšã«åæããŸãããã
æ©èœçãªäŸåé¢ä¿ã«ãã£ãŠèšè¿°ãããæœè±¡çãªããã»ã¹ããããŸã
ã ç»é¢ã«è¡šç€ºããããšãã座æšãžã®å€æã䜿çšãããŸã
ã©ãã§
ã ))
ã æ¬¡ã®ã¹ãããã¯ãããããéåžžã«æç¢ºã«ããããšã§ã

ãããŠ

ã
ããããä»ã®ãšããã座æšã¯èã«çœ®ããŠãããŸã-颿°ãèšå®ããå¿
èŠããããŸããïŒTKãæãåºããŠãã ããïŒïŒ ãããŠããããã®éåžžã«æœè±¡çãªåº§æšã§å°ããŸã

ã ãããç§ãã¡ãããããšã§ãã
è£é
ç§ã®å Žåãå€ãã®ãã€ã³ããç¥ãããŠããŸãã

ïŒ
ãΩ | ãË |
|---|
| 180 | 100 |
| 6,000 | 0 |
| 30,000 | -30 |
ããã»ã©æããªãã倧ããªããŒãã«ã¯è€éã§ãããæããã«ç©ºã®å ŽæããããããããŸãã ãããŠã60°ã-40°ã...ã«å¯Ÿå¿ããæµæã¯äœã§ããïŒ äžè¬ã«ãäžè¶³ããŠãããã€ã³ããèšé²ããå¿
èŠããããŸãã ãããŠãããã¯
è£é ã
è¿äŒŒ ã
倿¿ã«åœ¹ç«ã¡ãŸãã ãã ããå¿é
ããå¿
èŠã¯ãããŸãããç®ã«ãšã£ãŠã¯è£éã ãã§ååã§ãã

å€ãã®è£éæ¹æ³ããããŸãããããã§ã¯ãã¹ãŠãæ€èšããŸããã å人çã«ã¯ãæå
ã¯ã©ã°ã©ã³ãžã¥è£éå€é
åŒã奜ãã§ããã èšç®ãšå®è£
ãããã³æ§æã¯éåžžã«ç°¡åã§ãã ããã§ã¯ãäžé£ã®

ãã¥ãŒãã€ã³ã

ïŒããã§ãã°ããã®éããã©ãŒã ã®ãã€ã³ãã®ã¿ã¹ã¯ã«æ»ããŸã

-ãããã£ãŠãæ°åŠã§åãå
¥ããããŸãïŒã
å€é
åŒã¯æ¬¡ã®ããã«èšç®ãããŸã

ã©ãã§

ã
æ°åŠãæãïŒ ããŒã...ããŠãç§ã¯C ++ã§æžããŸãïŒ
typedef qreal Real; Real Lagranj (Real X) { static const int n = 3; static Real y[n] = {100, 0, -30}; static Real x[n] = {180, 6000, 30000}; Real L, l; int i, j; L = 0; for (i = 0; i < n; ++i) { l = 1; for (j = 0; j < n; ++j) if (i != j) l *= (X - x[j]) / (x[i] - x[j]); L += y[i] * l; } return L; } int main (int argc, char *argv[]) { Real y; y = Lagranj (180); y = Lagranj (500); y = Lagranj (1000); y = Lagranj (6000); y = Lagranj (10000); y = Lagranj (30000); y = Lagranj (0); y = Lagranj (100000); }
ã芧ã®ãšããããã¹ãŠãéåžžã«ç°¡åã§ãïŒå€é
åŒãç°¡åã«ãªãå¯èœæ§ããããŸãïŒã
ã©ã°ã©ã³ãžã¥å€é
åŒã®ãã1ã€ã®å€§ããªå©ç¹ã¯ãExcelããŒãã«ã§ç°¡åã«ã¢ãã«åã§ããããšã§ãã
ãããããããã®å€é
åŒã¯ä»ã®å€é
åŒãšåæ§ã«ã°ã©ãã«æ¯åã瀺ãããããã¹ãŠãå°ãæ²ãããªããŸããã ã€ãŸããçŽç·-äžå®ã®å€ãäžããããšã¯ã§ããŸããã ç§ã®å Žåã¯ãMUSTãæ§æã§ããŸããã§ãã-æããã«ç¡å¹ãªæ°åã«æ²ãã£ãŠããŸããã ãããã£ãŠãç§ã¯ããããæŸæ£ããªããã°ãªããŸããã§ãã...

Corelã§ã®äœæ¥äžãç§ã¯
ããžã§æ²ç·ã«éåžžã«ç²ŸéããŠããŸãã-ãŸãã衚ããŒã¿ã®éåžžã«äŸ¿å©ã§ã·ã³ãã«ãªãã¬ãŒã³ããŒã·ã§ã³ã ããã°ã©ãã³ã°ã§ã®å®è£
ã¯éåžžã«ç°¡åã§ãã ãã ããããã¯è£éã§ã¯ãªããè¿äŒŒã§ããããã¯ãããã§æ²ç·ãç®çã®åœ¢åŒã«åãããå¿
èŠãããããã§ãã

ãã®çµæãèªåã®æ©èœãæ³šææ·±ãèŠãŠã
åºåçç·åœ¢è£éïŒäžããããç·ã®éã®çŽç·ïŒãéåžžã«ããŸãããããšã«æ°ä»ããŸããã 颚氎ã§ã¯ãããŸããããç°¡åã«å®è£
ã§ãã䟿å©ã«ã«ã¹ã¿ãã€ãºã§ããŸãã
æ°åŠã®èšèªã§ã¯ãç§ãã¡ã¯ãã€ã³ãã®éã§ã

ãããŠ

ãã©ãŒã ã®çŽç·ãæã
=k_{i}*x+b_{i})
ã
ç¹°ãè¿ããŸãããC ++ã§ã¯ã次ã®ããã«ãªããŸãã
typedef qreal Real; Real Linear (Real X) { static const int n = 3; static Real y[n] = {100, 0, -30}; static Real x[n] = {180, 6000, 30000}; static Real k[n] = { (y[1] - y[0]) / (x[1] - x[0]), (y[2] - y[1]) / (x[2] - x[1]), (y[3] - y[2]) / (x[3] - x[2])}; static Real b[n] = { y[0] - k[0] * x[0], y[1] - k[1] * x[1], y[2] - k[2] * x[2]}; int i; // . ? if (X <= x[0]) return y[0]; else if (X >= x[n-1]) return y[n-1]; // . ? for (i = 0; i < n-1; ++i) if (X == x[i]) return y[i]; // . ? for (i = 0; i < n-1; ++i) if (X >= x[i] && X <= x[i + 1]) return k[i] * X + b[i]; return 0; // - !!! } int main (int argc, char *argv[]) { Real y; y = Linear (180); y = Linear (500); y = Linear (1000); y = Linear (6000); y = Linear (10000); y = Linear (30000); y = Linear (0); y = Linear (100000); }
é©åœçãªãã®ããããŸãããïŒ
ã©ã°ã©ã³ãžã¥å€é
åŒãšç·åœ¢è£éã®éã«ã¯1ã€ã®å€§ããªéãããããŸããæåã®ãã®ã¯ãã€ã³ãã®å€åŽã«å€ãæç€ºçã«èšå®ã§ããŸãã-ãããã¯èšç®ããã2çªç®ã¯ãã®åé¡ãå¶åŸ¡ã§ããŸãã ããããç§ãç·åœ¢ããŒãžã§ã³ã«çŠç¹ãåãããçç±ã§ããããŸãã ããã«ãç§ãç®æããŠãã察æ°ã¹ã±ãŒã«ã§ã¯ãç·åœ¢ã»ã°ã¡ã³ããããé©åãªãªãã·ã§ã³ãæäŸããŸãã
ãã ããè£éæ¹æ³ã«ã€ããŠã¯æ°ã«ããŸããã ããŸããŸãªã¡ãœããã®å®è£
ãç¶æ¿ããåºæ¬ã¯ã©ã¹ãäœæããŠã¿ãŸããã
$ïŒ* @ïŒ åæ¥µã
颿°ãæå®/èšç®ããããã®åºæ¬ã¯ã©ã¹
ãã®ã¯ã©ã¹ã¯äœãã§ããŸããïŒ ãã®ãããªã¯ã©ã¹ã¯æ¬¡ã®ããã«ãã¹ãã ãšç§ã«ã¯æããŸãïŒ
- åŒæ°ã«å¿ããŠé¢æ°ã®å€ãäžãã -å®éãéããçãããã«;
- è£éç¹ã®å€åã«åå¿ïŒç§»åããã³åã«ãŠã³ãïŒãã -ãã座æšã§æŒã/é¢ããšããäºå®ãå
¥åã«éããããã®çµæããã©ã¡ãŒã¿ãŒãåèšç®ãããŸãã
- ã·ã³ã°ã«ã¯ãªãã¯ãšããã«ã¯ãªãã¯ãåºå¥ããããã« -ç§ã®å Žåãã·ã³ã°ã«ã¯ãªãã¯ã¯ãã€ã³ãã®åãã瀺ããŸãã doubleã¯æ°ãããã€ã³ããäœæããŸãã
- è£éç¹ãç§»åããå Žåãšããªãå Žåã®äž¡æ¹ã§æç»ããŸã -è£éæ¹æ³ãç°ãªããšè£éç¹ã®çŽæçãªå€ãç°ãªããããæŽŸçã¯ã©ã¹ã¯ããããåºåããå¿
èŠããããŸãïŒããšãã°ãè£éã§ã¯ãç¹ã¯ã°ã©ãã®äžéšã§ã;è¿äŒŒã§ã¯ãç¹ã¯å¿
ç¶çã«ã°ã©ãäžã«ãããŸã;ããžã§æ²ç·ã§ã¯ãããã€ãã®ç¹ãã°ã©ãäžã«ãããããŒãã圢ç¶ãèšå®ããŸãïŒ;
- çŸåšã®ç§»åç¹ã®åº§æšãäžãã -ããã¯ããã®ç¹ã®åº§æšã®ããã¹ãã衚瀺ããããã«å¿
èŠã§ãã
- ããšãã°ãã颿°ã¯å®çŸ©ãããŠããŸããïŒãããè£éã«äœ¿çšããããã€ã³ãã®æ°ããããã€ã³ãã®åº§æšãååŸããããªã©ã®ãµãŒãã¹æ
å ±ãæäŸããŸã ããããã®ããŒã¿ã«ãããçŸåšã®èšå®ãä¿åã§ããŸãã
- èšå® -ãã§ããã ãå€ãã®ãã€ã³ããé
åžããããã€ã³ãã®åº§æšãèšå®ã-ããã«ãããä¿åããèšå®ã埩å
ã§ããŸãã
ãŸã èãããããŸããïŒ ãããããªããã³ã¡ã³ããæžããŠã远å ããŠãã ããïŒ
ãã®ãããªã¯ã©ã¹ã倿ããŸãïŒ
class FunctorBase { protected: virtual QPointF &get_point (const int Pos) = 0; // virtual QPointF get_point (const int Pos) const = 0; // public: // . virtual void MouseClicked (const QPointF &Pt) = 0; // Pt virtual void MouseDblClicked (const QPointF &Pt) = 0; // Pt virtual void MouseReleased (void) = 0; // virtual void MouseMove (const QPointF &Pt) = 0; // ( ), Pt virtual void DrawPoints (QPainter &p, const ScaleBase &X, const ScaleBase &Y, const int ptRadius, QPen &pnCircle, QBrush &brCircle) = 0; // , virtual void DrawCurPoint (QPainter &p, const ScaleBase &X, const ScaleBase &Y, const int ptRadius, QPen &pnCircle, QBrush &brCircle) = 0; // ( , ) // . virtual qreal f (const qreal t) const = 0; // virtual QPointF *point (void) const = 0; // ; - NULL virtual bool is_specified (void) const = 0; // virtual int num_points (void) const = 0; // QPointF point (const int Num) const; // // . virtual bool set_points (const int Num) = 0; // ; QPointF &point (const int Num); // void set_point (const int Num, const QPointF &Pt); // // . qreal operator() (const qreal t) const { return f(t); } // operator bool (void) const { return is_specified (); } // QPointF &operator[] (const int Num) { return point (Num); } // QPointF operator[] (const int Num) const { return point (Num); } // }; // class FunctorBase inline QPointF &FunctorBase::point (const int Num) { Q_ASSERT_X (Num < num_points (), "receiving points", (QString ("incorrect point index %1 for array size %2 is used"). arg (Num). arg (num_points())).toAscii().constData()); return get_point (Num); } inline QPointF FunctorBase::point (const int Num) const { Q_ASSERT_X (Num < num_points (), "receiving points", (QString ("incorrect point index %1 for array size %2 is used"). arg (Num). arg (num_points())).toAscii().constData()); return get_point (Num); } void FunctorBase::set_point (const int Num, const QPointF &Pt) { point (Num) = Pt; }
ïŒç§ã®ã¹ã¿ã€ã«ãšæ§é ã«äžæºãæã£ãŠãã人ã®ããã«-客芳çã«è¯ãæäŸïŒïŒïŒã³ãŒãã«ãšã©ãŒãèŠã€ããæ¹ãž-ããããšãïŒïŒããã§ã¯ãã¹ãŠãæããã ãšæããŸãã
座æšã®å Žåããã€ã³ãã¯
QPointFã®åœ¢åŒã§è¡šãã
ãŸã ïŒqrealãqrealã®åœ¢åŒã®æ°å€ã®ãã¢ããDoubleã¯ARMãé€ããã¹ãŠã®ãã©ãããã©ãŒã ã§äœ¿çšãããŸãã-Qt
4.8ã§èšè¿°ãããŠããŸãïŒã
ããŠã¹ãã¿ã³ã®
MouseClicked ã
MouseClicked ã
MouseDblClicked ã
MouseReleased ãããã³
MouseMove颿°ã§å®è£
ãããŸãã ç¹å®ã®å®è£
ã§ã¯ã察å¿ããåå¿ããããšæ³å®ãããŠããŸãã
ãã€ã³ããæç»ããã«ã¯ã
DrawCurPointã¡ãœãããš
DrawCurPointã¡ãœããã䜿çšãããŸãã ããããé€ããã¹ãŠã®ã¡ãœããã§æœè±¡åº§æšã䜿çšãããå Žåãããã§ã¯æãç»é¢æåã®åº§æšãå¿
èŠã§ãã ãããã£ãŠã
ScaleBaseã¯ã©ã¹ã®2ã€ã®ãªããžã§ã¯ãã倿ã®ããã«ããã«æž¡ãããŸãã ãã®ã¯ã©ã¹ãä»®æ³ã§ãã 圌ã®ç¥å
ã¯ãæœè±¡çãªåº§æšããçŸåšã®ç»é¢ãžã®å€æãå®è£
ããŠããŸãã ãã®ã¯ã©ã¹èªäœã«ã€ããŠã¯ã以äžã§èª¬æããŸãã
颿°ã®çŸåšã®å€ã¯ã
f (const qreal)ã¡ãœãããšãªãŒããŒããŒããããæŒç®å颿°
operator() (const qreal)ã«ãã£ãŠè¿ãããŸãã
æ§é ãèšå®ããã«ã¯ã
set_points (Num)颿°ã䜿çšããŸã-ãã€ã³ãæ°ã
point (Num) ã
set_point (Num) ã
get_point (Num)ãèšå®ããç¹å®ã®ãã€ã³ãã®åº§æšãèšå®ããŸãã
num_points () constãã€ã³ãã®æ°ãè¿ããŸã
num_points () const point (Num) const ã
get_point (Num) constã¯ãã€ã³ãã®åº§æšãè¿ããŸãã
is_specified () constã¯ã颿°ã®æ§é ãæå®ãããŠããå Žåã«
trueè¿ã
true ã
次ã®èšäºã§ã¯ããã®ã¯ã©ã¹ãå®è£
ããããã®ãªãã·ã§ã³ãããã€ãäœæããŸãã
åçŽ/æ°Žå¹³ã¹ã±ãŒã«ã®å€ææ©èœ
ç·åœ¢ã¹ã±ãŒã«ãšå¯Ÿæ°ã¹ã±ãŒã«ããããŸãã 1ã€ã®åœ¢åŒã§åçŽã¹ã±ãŒã«ãäœæããå¥ã®åœ¢åŒã§æ°Žå¹³ã¹ã±ãŒã«ãäœæã§ããå Žåããã£ãŒãã«ã¯4ã€ã®ãªãã·ã§ã³ããããŸãã
ãªãã·ã§ã³1-äž¡æ¹ã®ã¹ã±ãŒã«ã¯ç·åœ¢ã§ãã ãªãã·ã§ã³2-äž¡æ¹ãšã察æ°ã ãªãã·ã§ã³3ãš4ã¯æ··åã°ã©ãã£ãã¯ã§ãã ã¡ãªã¿ã«ãç§ã®å Žåãæçµçã«åºãŠããã®ã¯æ··åã±ãŒã¹ã§ãããæ°Žå¹³æ¹åã«ã¯å¯Ÿæ°ç®çãåçŽæ¹å-ç·åœ¢ãå¿
èŠã ã£ãããã§ãã
ãããã£ãŠããããã³ã°ã®åé¡ã¯äž¡æ¹ã®è»žã«ã€ããŠåå¥ã«è§£æ±ºããå¿
èŠããããŸãã
ç»é¢ã«è¡šç€ºããããšãã座æšãžã®å€æã䜿çšãããããšãæãåºããŠãã ãã
)\Rightarrow(X,Y))
ã©ãã§
)
ã
))
ã ä»åŸã®èª²é¡ã¯ãç·åœ¢ããã³å¯Ÿæ°ã®å Žåã«ãããã®é¢æ°ãæ§ç¯ããããšã§ãã
ãããã¯ã©ã®ãããªæ©èœã§ããïŒ å
¥åã§ã¯ãç»é¢äžã®ã³ã³ãã¥ãŒã¿ãŒãµãã«ãŒãã³è¡šç€ºã®æœè±¡åº§æšã§åº§æšãåãåããŸããåºåã¯ç»é¢ã«è¡šç€ºãããŸãïŒãç»é¢ã座æšã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠç°ãªããŸãïŒãèšç®ã«ã¯ã次ã®ããšãç¥ãå¿
èŠããããŸãã

- æœè±¡åº§æšã®éç㯠ãèå³ã®ããåŒæ°ãšé¢æ°ã®éçå€ã§ãã ãªããŸã
ã
氎平軞ãš
ã
åçŽçšã å€å
žçãªééããããå¿
èŠã¯ãããŸããïŒ
ã
ïŒ äžèšã®äŸã§ã¯ãããã瀺ãããŠããŸãã - ç»é¢åº§æšã®å¶é -ã°ã©ããæç»ãããç»åã®å¢çã åœç¶ãçŸåšã®ç»é¢åº§æšã§ã ã°ã©ãã§
ã
氎平軞ãš
ã
åçŽçš; - ã¹ã¯ãªãŒã³åº§æšã¹ããã -çŸåšã®ãã¯ã»ã«ã¹ããã
ã
ã åçŽãªã±ãŒã¹ã§ã¯ããŠãããã«ãªããŸãã ããããQtã§ã¯ãåçŽæ¹åã®ãŒãã¯ãŠã£ã³ããŠã®äžéšã§ãã ã ãã
ã ãããŠãããããçš®é¡ã®å€æãé©çšããããšãã§ãããã®ã¹ãããã¯æ±ºããŠåäžã§ã¯ãããŸããã
泚æããŠãã ãã-倿ã®åé¡ã¯ããããåçŽè»žã§ãããã©ããã«é¢ä¿ãããŸããïŒ ããïŒã¿ã¹ã¯ïŒã¯ãå
¥åãåºåãããã³åºåãã©ã¡ãŒã¿ãŒã®ã¹ãããã®å¢çå€ã§åäœããŸãã ãããã£ãŠãåé¡ã¯äžè¬åã§ã
ãŸãããã©ã¡ãŒã¿ã倿ããå¿
èŠããããŸã
ãã®éçã«åºã¥ããŠ
ã
åºåãã
ãã®å¶éãèæ
®ã«å
¥ãã
ã
ãããŠã¹ããã 
ã 衚èšã¯ããã§æå³çã«å°å
¥ãããŠããŸãã

ã

ãã€ãã®ä»£ããã«

ã

ãããããªããšæ··ä¹±ãçããããã§ãã 1ã€ã®éèŠãªè¿œå ïŒ

ã
ã¹ã±ãŒã«å€æã®åºæ¬ã¯ã©ã¹
ã¹ã±ãŒã«å®è£
ãç¶æ¿ãããã¹ã±ãŒã«ã®ä»®æ³å€æã¯ã©ã¹ã®å¿
èŠãªæ©èœãå®åŒåããŸãããïŒ
- ç»é¢åº§æšããæœè±¡åº§æšãžããŸãã¯ãã®éãžã®å€æ -è«ççã«ã¯ããã®ããã«è¡ããŸãã
- 倿èšå®ãè«ççã§ãã
- ãããã㣠-çŸåšã®å€æããããã£ïŒæå°/æå€§å€ãç°ãªãå€ã®ã¹ãããïŒ;
- ã°ãªããæ
å ± -ç²ãã°ãªãããšçްããã°ãªããã®äœçœ®ãã¹ã±ãŒã«ã®äžã®ã©ãã«ã
å®è£
ã¯æ¬¡ã®ããã«ãªããŸãã
class ScaleBase { public:
ã¹ã±ãŒã«èª¿æŽã¯ã
set_... (Val)颿°ã«ãã£ãŠå®è¡ã
set_... (Val) ã å¿
èŠãªå€ã®åèšç®ã¯ãåã颿°ã§å®è¡ããå¿
èŠããããŸãã ãŠã£ã³ããŠã®
Resized (Size)ã
Resized (Size)ã¡ãœããã
Resized (Size)ãŸãã
çç£æ§ãé«ããããã«ãç»é¢äžã®ç¹ãšå
ã®æœè±¡çãªåº§æšã®å€ã®å¯Ÿå¿ãäžåºŠèšç®ã§ããŸãã ãã®é
åã¯ã
scr_values () constã¡ãœããã«ãã£ãŠè¿ãããŸãã ããã«ã倧å°ã®ã°ãªãããäœæããããã«é
åãèšç®ãããŸãïŒé¢æ°
scr_maj_grid ()ããã³
scr_min_grid ()ã¯ããããããããè¿ããŸãïŒã é
åã®é·ãã¯ãããã®è¡ã®æ°ã«å¯Ÿå¿ããå€ã¯ç»é¢äžã®ã¹ã±ãŒã«ã®å
é ããã®ãªãã»ããïŒã€ãŸããæåã®é
åã®ã€ã³ããã¯ã¹ïŒã«å¯Ÿå¿ããŸãã 2ã€ã®é
åãäºåã«èšç®ãããŸã-ã¹ã±ãŒã«äžã®çœ²åã®ããã¹ãïŒ
scr_text_str ()颿°ïŒããã³éå§ã«å¯Ÿãããããã®çœ²åã®å€äœïŒ
scr_text_pos ()颿°ïŒã
æåŸã«ãæœè±¡ããã¹ã¯ãªãŒã³åº§æšãžã®çŽæ¥å€æã¯
scr (Val)颿°ã«ãã£ãŠå®è¡ãããéã¯val
(Scr)颿°ã«ãã£ãŠå®è¡ãããŸãã
ç·åœ¢å€æ
氎平軞ãšåçŽè»žã®å¥ã
ã®ç·åœ¢å€æãèŠãŠã¿ãŸãããã


ããã€ãã®æ©èœããããŸã-1ã€ã®è¡šçŸã®æ²ç·ã§ãã å¥ã®æ¹æ³ãšããŠããããçãããŠå³ã«ç§»åããå¿
èŠããããŸããïŒç»é¢äžã®ãŠã£ã³ããŠãçž®å°ãããå³ã«ç§»åãããŸããïŒã å¥ã®ãã¥ãŒã§ã¯ãå·Šã«ç§»åããå¿
èŠããããŸããïŒãŠã£ã³ããŠã¯å·Šã«ç§»åããŸããïŒã ããã¯æ°åŠçã«ã©ã®ããã«èšè¿°ãããŠããŸããïŒ ååç°¡åïŒ
)
ã æåã®ã±ãŒã¹ã§ã¯ã

第äºã«

ã
å¥ã®ã±ãŒã¹ã§ã¯ãæ²ç·ã®åçŽæ¹åã®è¡šçŸãçããŠäžã«ç§»åããå¿
èŠããããŸããã ãããŠãäžè¬çã«ã¯è£è¿ããŸãã ãããã®å€æã¯äž¡æ¹ãšã次ã®ããã«èª¬æãããŸã
+b)
ã æåã®å Žå

ã

ã 2çªç®ã®å Žå

ã
äž¡æ¹ã®å€æã®æ°åŠçãªèª¬æã¯åãã§ãã

ã ãã®èª¬æã«ã¯ã倿ãå®çŸ©ãã2ã€ã®å®æ°ããããŸãã

ãããŠ

ã æåã¯åŸæè§åºŠã決å®ãã2çªç®ã¯ãŒãã«å¯Ÿãããªãã»ãããæ±ºå®ããŸãã
ãããã®å®æ°ã®èšç®ã¯éåžžã«ç°¡åã§ã-ããã¯ã2ã€ã®æ¹çšåŒã®ã·ã¹ãã ã®è§£æ±ºçã§ãã
ã
é倿ãå®è¡ã§ããããšãéèŠã§ããããšãã°ãããŠã¹ãã€ã³ã¿ãŒã®åº§æšãæœè±¡çãªåº§æšã«å€æããŸãã è€éãªããšããããŸããïŒ
ã
ã¹ããã

ãã®å Žåãèšç®ã«ã¯äœ¿çšãããŸããããC ++å®è£
ã§ãªãã»ãããèšç®ããã®ã«åœ¹ç«ã¡ãŸãã
ããã¯å®éã«ã©ã®ããã«äœ¿çšãããŸããïŒ ã¯ãããã¹ãŠãç°¡åã§ãïŒ æ°Žå¹³å€æïŒ

-察å¿ããã°ã©ãã£ãã¯ç»åã®å¢ç

ïŒéåžžã¯å·ŠåŽïŒ

-

ïŒéåžžã¯æ£ããïŒ

-æ°Žå¹³ç»ååºåã¹ãããã åçŽå€æ-åæ§ã«ããã ãåçŽïŒQtã§ïŒ

ç»åã®äžã®å¢çç·ã«ãªããŸã

-ãããããããŠ

ïŒ
察æ°å€æ
ãããŠä»ãç§ãã¡ã¯ããã«é£ã³èŸŒã¿ãŸãã
ïŒã°ã©ãã«ã¯å¯Ÿæ°ã¯æãããŠããŸããããããã«äŒŒããã®ããããŸããããã¯ãããã§ã®å¯Ÿæ°ãããŸãæç¢ºã§ã¯ãªããããæå³çã«è¡ãããŸãïŒãã

å
šäœçã«åã

ã©ãã§ãéãã§ãããïŒ ã©ã®æ³åŸã«ãã£ãŠå€åããŸããïŒ ããã§ã-察æ°çã«ïŒ æåã«ãããç¹å®ããæ¹æ³ãåŠã³ãŸããã

ã
åèšãã€ã³ãããããŸã

ïŒäŸïŒ

ã

ã

; ãã®åŸã3ã€ã®ãã€ã³ãããããŸãïŒã ããã¯ãå
¥åå€ã®ç¯å²ã«å¯Ÿå¿ããŸãã

ã 䟡å€

ã«å¯Ÿå¿

ã

ã«å¯Ÿå¿

ã æåŸã®ãã€ã³ãã«ã¯ã€ã³ããã¯ã¹ããããŸã

ã ããã¯äœã«å¯Ÿå¿ããŸãã

ïŒ
ãªãã¢ã¹ã±ãŒã«çš

ã©ãã§

å
¥åå€ã®ç¯å²ã«ãã£ãŠæ±ºå®ãããŸãã ããã§ãåãããšãã§ããŸããä¹ç®ã®ä»£ããã«ã®ã¿çޝä¹ãããŸãïŒ

ïŒãããèŠããŠãã

ïŒ ãã ãããã¥ã¢ã³ã¹ã1ã€ãããŸãã

ç§ãã¡ãšäžç·ã«

ããããããå¿
èŠããããŸãã ããã¯åçŽã«è§£æ±ºãããŸã-åäœãåŒããŸãïŒ

ã ãããŠããŒãã®å Žåããã¹ãŠãåæããŸãã èšç®æ¹æ³

ãã®å ŽåïŒ ããŸããŸãªãªãã·ã§ã³ããããŸãã ç§ã¯ãããæ¬¡ã®ããã«è¡ãããšã奜ã¿ãŸãã
ç§ãã¡ã¯ãããç¥ã£ãŠããŸã

ã åæã«ãä»ã§ã¯

ã æ¹çšåŒã倿ããŸãïŒ

ã ã«é¢ããŠããã解決ããŸã

ïŒ

ã çãããã®ãæãåºã

ã«ãŒããã¹ãä¹ã«çœ®ãæãããšãã³ã³ãã¥ãŒã¿ãŒã«åãå
¥ãããããã¥ãŒãåŸãããŸãã
^{\tfrac{1}{num-1}})
ïŒãããæãåºããŠãã ãã

ïŒ ãã°ããããåºæ¬å€ãååŸãããŸããïŒ
å®éãç»é¢ã®åº§æšãæœè±¡ã«å€æããã¢ã«ãŽãªãºã ãã€ãŸãéåé¡ããããŸããã çŸåšãçŽæ¥ã¿ã¹ã¯ã¢ãŒãã¯ãæœè±¡åº§æšããç»é¢åº§æšã«å€æããããšã§ãã ã¿ã¹ã¯ã解決ããã®ã¯é£ãããããŸããã å®éãããªãã¯èŠã€ããå¿
èŠããããŸã

ããããŠåœŒã«ãšã£ãŠããã¯ç°¡åã§ã

ã
èŠã€ããããã«

æ¹çšåŒãè§£ãå¿
èŠããã

ã«é¢ããŠ

ïŒ

ã ããã§ã¯ã察æ°ã®ããããã£ãã
}{\log base})
ã ããã«ãç»é¢åº§æšãåŸæã®ããç·ãšããŠèãããšã

ïŒå®å
šãªçŸããã®ããã«

ã«çœ®ãæãã

ïŒ
åºæ¬çãªæ°åŠãšèããããŠããããã§ãã çºèŠããããšã©ãŒãäžæ£ç¢ºãª-ã³ã¡ã³ããæžããŠãç§ã¯æè¬ããŸãïŒ
æéãçµã€ã«ã€ããŠã次ã®èšäºãæžãããšã«ãªããŸã-C ++èšèªã®QtããŒã«ã䜿çšãããã®æ°åŠã®å®è£
ã