![](https://habrastorage.org/storage2/cde/305/ecd/cde305ecd6e70db71f3206a2f7a60739.png)
ãæµæ->枩床ãé¢æ°ã®ã°ã©ãããã€ã¯ãã³ã³ãããŒã©ãŒã«èªã¿èŸŒãããã®ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããå¿
èŠããããŸããïŒã°ã©ããããã€ãã®ãã€ã³ãã«èšå®ããŠããè£éããããšã«ããŸããïŒã ãã®éçšã§ãã°ã©ãã¯éåžžã«éç·åœ¢ã§ããããšãããããŸããïŒ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ã¹ãã¬ããã·ãŒãã®ãã¹ãŠã®èšç®åŒãäœæããæ°åŒã§ãã§ãã¯ããŸããã ããã¯éåžžã«äŸ¿å©ã§ããããšãå€æããŸããã ãããŠãç§ã¯ãããå
Œ
±ã®äœ¿çšã®ããã«åºãããšã«ããŸããã 以äžã®ããŒãžã¯ã»ã¯ã·ã§ã³ããšã«ãªã¹ããããŠããŸãã åããŒãžã§ãå€æŽã§ãããã©ã¡ãŒã¿ãŒã¯ãèæ¯ãé»è²ã®ã»ã«ãšããŠããŒã¯ãããŠããŸãã æ®ãã®ã»ã«ã¯ãã®ãŸãŸã«ããŠããã®ãæé©ã§ãã ãã ãããã¹ãŠã®åŒã¯å®å
šã«ç£èŠã§ããŸãã
ãã¡ã€ã«ã
ããŠã³ããŒãããŠãå¥åº·ç¶æ
ãè©ŠããŠãã ããïŒ ãã¡ã€ã«ã«åé¡ãããå Žå-æžã蟌ã¿ãéä¿¡ããŸãã
æ©èœäŸå
ãã®ãããããã€ãã®äŸåé¢ä¿ããããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/25b/37f/dd7/25b37fdd771aaebd2eb33ed6ac432aaa.png)
ã ããã«ãããŸã
![ç»å](https://habrastorage.org/getpro/habr/post_images/aa2/902/59f/aa290259f2ca8aee797426f3507249d5.png)
-ã°ã©ãã®æ°Žå¹³è»žã
![ç»å](https://habrastorage.org/getpro/habr/post_images/25b/37f/dd7/25b37fdd771aaebd2eb33ed6ac432aaa.png)
-åçŽã ç§ã®å Žå
![ç»å](https://habrastorage.org/getpro/habr/post_images/aa2/902/59f/aa290259f2ca8aee797426f3507249d5.png)
æµæã®å€ã§ãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/25b/37f/dd7/25b37fdd771aaebd2eb33ed6ac432aaa.png)
-枩床ã
ã©ãããŠ
![ç»å](https://habrastorage.org/getpro/habr/post_images/3d7/5db/980/3d75db9800dd420da9df86ebaac7989d.png)
ïŒ ãã£ã±ããããªæãïŒ ããã¯ããã§ãããæãåçŽãªã±ãŒã¹
ã§ã¯åŠæ ¡ã§
ã®ã¿ã§ãã
![](https://habrastorage.org/storage2/2c0/1bc/088/2c01bc088bf2a0aa3cb4329fb406d3e8.jpg)
![ç»å](https://habrastorage.org/getpro/habr/post_images/e61/c83/2dc/e61c832dcc91b3f91cc508551ea32107.png)
å¹³é¢äžã®ç¹ã®åº§æšã§ãã ç°¡åã«ããããã«ã
ãã«ã«ã座æšç³»ã䜿çšããããšã«ããŸãã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;y)
ãŒããåºæºã«ããŠæ°Žå¹³è»žã®åçŽãªãã»ãããèšå®ããŸãã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;x)
ãŒãã«å¯ŸããåçŽè»žã®æ°Žå¹³ãªãã»ãããèšå®ããŸãã
![](https://habrastorage.org/storage2/fdb/212/932/fdb212932dc197c0ef10c7aaa2136b40.jpg)
ãã®éåžžã«åº§æšç³»ãçŽã«æããããã«ãã€ã³ããå
¥ãããšããã¹ãŠãããŸããããŸãã æ¬åœã«-圌ãã¯ã»ã³ã¿ãŒãéžã³ãå®èŠã§ãããããã«çœ®ããããã«ã ããããããããã°ã©ã ã§ã°ã©ããäœæãããšãã埮åŠãªããšãå§ãŸããŸã-ãŒããšã¿ãªãã¹ããã®ã¯äœã§ããïŒ ã+ããšèŠãªããã®ãããã³ã-ããšã¯äœã§ããïŒ ãã®èšäºã®ã°ã©ãã£ãã¯ã¹ãCorelDRAWã§æç»ããŸããäžå¿ã¯å·Šäžããèæ
®ãããŸãïŒå¿
èŠã«å¿ããŠç§»åã§ããŸãïŒã
![](https://habrastorage.org/storage2/612/062/f35/612062f35dc84f6ef4aba7befd9f75bc.jpg)
ãŸããã¹ã±ãžã¥ãŒã«ã¯ã©ãããåäœã§è¡ãããŸããïŒ ã»ã³ãã¡ãŒãã«ã§ïŒ ãªãã§ïŒ 次ã®ã¹ãããã¯ãQtããŒã«ã䜿çšããC ++ã§ã®å®è£
ã§ããããã§ãããã©ã«ãã§ãŒãã«èšå®ãããQWidgetãŠã£ã³ããŠãäœæããŸããããã¯å·Šäžã«ãããŸãã 枬å®åäœã¯ç»é¢ã®ãã¯ã»ã«ã§ãã
ããŠããã®çŸããæšè«ã¯ãã¹ãŠç·åœ¢ã¹ã±ãŒã«ã«æå¹ã§ãããå°å¹³ç·äžã«å¯Ÿæ°ãè¿«ã£ãŠããããšãå¿ããªãã§ãã ããã ããã§æªéã¯äœãèµ·ããããç¥ã£ãŠããŸãïŒ
ããããããã¯ãã€ã³ãã§ãã ãããŠãããçš®ã®ç·ããŸãã¯ããããããããã®ç·ããããŸãã ã©ããªå€æããããŸããïŒ
ã ããããã
æ©èœã®äŸåé¢ä¿ãš
座æšå€æãæåããæ確ã«åé¢ããå¿
èŠããããŸãã
ããã§ã¯ã次ã®ããšã«åæããŸãããã
æ©èœçãªäŸåé¢ä¿ã«ãã£ãŠèšè¿°ãããæœè±¡çãªããã»ã¹ããããŸã
ã ç»é¢ã«è¡šç€ºããããšãã座æšãžã®å€æã䜿çšãããŸã
ã©ãã§
ã ![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;Y=Y(f(t)))
ã 次ã®ã¹ãããã¯ãããããéåžžã«æ確ã«ããããšã§ã
![ç»å](https://habrastorage.org/getpro/habr/post_images/e63/1e0/22a/e631e022a7dd29374736df0cf5c46997.png)
ãããŠ
![ç»å](https://habrastorage.org/getpro/habr/post_images/442/ba1/a70/442ba1a70d0ad84ad38f0077c3fed8b1.png)
ã
ããããä»ã®ãšããã座æšã¯èã«çœ®ããŠãããŸã-é¢æ°ãèšå®ããå¿
èŠããããŸããïŒTKãæãåºããŠãã ããïŒïŒ ãããŠããããã®éåžžã«æœè±¡çãªåº§æšã§å°ããŸã
![ç»å](https://habrastorage.org/getpro/habr/post_images/d89/1ec/389/d891ec3897af257a334e0ceef8b5ba35.png)
ã ãããç§ãã¡ãããããšã§ãã
è£é
ç§ã®å Žåãå€ãã®ãã€ã³ããç¥ãããŠããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/d89/1ec/389/d891ec3897af257a334e0ceef8b5ba35.png)
ïŒ
ãΩ | ãË |
---|
180 | 100 |
6,000 | 0 |
30,000 | -30 |
ããã»ã©æããªãã倧ããªããŒãã«ã¯è€éã§ãããæããã«ç©ºã®å ŽæããããããããŸãã ãããŠã60°ã-40°ã...ã«å¯Ÿå¿ããæµæã¯äœã§ããïŒ äžè¬ã«ãäžè¶³ããŠãããã€ã³ããèšé²ããå¿
èŠããããŸãã ãããŠãããã¯
è£é ã
è¿äŒŒ ã
å€æ¿ã«åœ¹ç«ã¡ãŸãã ãã ããå¿é
ããå¿
èŠã¯ãããŸãããç®ã«ãšã£ãŠã¯è£éã ãã§ååã§ãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/3a8/f84/8bc/3a8f848bc8626499cd2b224074b5b5e6.png)
å€ãã®è£éæ¹æ³ããããŸãããããã§ã¯ãã¹ãŠãæ€èšããŸããã å人çã«ã¯ãæå
ã¯ã©ã°ã©ã³ãžã¥è£éå€é
åŒã奜ãã§ããã èšç®ãšå®è£
ãããã³æ§æã¯éåžžã«ç°¡åã§ãã ããã§ã¯ãäžé£ã®
![ç»å](https://habrastorage.org/getpro/habr/post_images/3de/0fe/dd5/3de0fedd5b7a096d44423b4c69589ada.png)
ãã¥ãŒãã€ã³ã
![ç»å](https://habrastorage.org/getpro/habr/post_images/980/ada/eea/980adaeea1e325dc19fe6b559fa8f4db.gif)
ïŒããã§ãã°ããã®éããã©ãŒã ã®ãã€ã³ãã®ã¿ã¹ã¯ã«æ»ããŸã
![ç»å](https://habrastorage.org/getpro/habr/post_images/bea/0e6/b42/bea0e6b42e87d6a7ee84715f060b987b.png)
-ãããã£ãŠãæ°åŠã§åãå
¥ããããŸãïŒã
å€é
åŒã¯æ¬¡ã®ããã«èšç®ãããŸã
![ç»å](https://habrastorage.org/getpro/habr/post_images/368/822/8ac/3688228ac0d2cbc5c43b9f7975a52bce.gif)
ã©ãã§
![ç»å](https://habrastorage.org/getpro/habr/post_images/b1b/710/646/b1b710646c59d87b79333ddaea81757b.gif)
ã
æ°åŠãæãïŒ ããŒã...ããŠãç§ã¯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ãæ§æã§ããŸããã§ãã-æããã«ç¡å¹ãªæ°åã«æ²ãã£ãŠããŸããã ãããã£ãŠãç§ã¯ããããæŸæ£ããªããã°ãªããŸããã§ãã...
![ç»å](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Bezier_curve.svg/300px-Bezier_curve.svg.png)
Corelã§ã®äœæ¥äžãç§ã¯
ããžã§æ²ç·ã«éåžžã«ç²ŸéããŠããŸãã-ãŸããè¡šããŒã¿ã®éåžžã«äŸ¿å©ã§ã·ã³ãã«ãªãã¬ãŒã³ããŒã·ã§ã³ã ããã°ã©ãã³ã°ã§ã®å®è£
ã¯éåžžã«ç°¡åã§ãã ãã ããããã¯è£éã§ã¯ãªããè¿äŒŒã§ããããã¯ãããã§æ²ç·ãç®çã®åœ¢åŒã«åãããå¿
èŠãããããã§ãã
![ç»å](https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/Lin_interp_w-legend.png/220px-Lin_interp_w-legend.png)
ãã®çµæãèªåã®æ©èœã泚ææ·±ãèŠãŠã
åºåçç·åœ¢è£éïŒäžããããç·ã®éã®çŽç·ïŒãéåžžã«ããŸãããããšã«æ°ä»ããŸããã 颚氎ã§ã¯ãããŸããããç°¡åã«å®è£
ã§ãã䟿å©ã«ã«ã¹ã¿ãã€ãºã§ããŸãã
æ°åŠã®èšèªã§ã¯ãç§ãã¡ã¯ãã€ã³ãã®éã§ã
![ç»å](http://1450827010362761852852)
ãããŠ
![ç»å](http://1450827010362761852852+1)
ãã©ãŒã ã®çŽç·ãæã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;y=y_{i}+\frac{y_{i+1}-y_{i}}{x_{i+1}-x_{i}}(x-x_{i})=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ã¯æ··åã°ã©ãã£ãã¯ã§ãã ã¡ãªã¿ã«ãç§ã®å Žåãæçµçã«åºãŠããã®ã¯æ··åã±ãŒã¹ã§ãããæ°Žå¹³æ¹åã«ã¯å¯Ÿæ°ç®çãåçŽæ¹å-ç·åœ¢ãå¿
èŠã ã£ãããã§ãã
ãããã£ãŠããããã³ã°ã®åé¡ã¯äž¡æ¹ã®è»žã«ã€ããŠåå¥ã«è§£æ±ºããå¿
èŠããããŸãã
ç»é¢ã«è¡šç€ºããããšãã座æšãžã®å€æã䜿çšãããããšãæãåºããŠãã ãã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;(t,f(t))\Rightarrow(X,Y))
ã©ãã§
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;X=X(t))
ã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;Y=Y(f(t)))
ã ä»åŸã®èª²é¡ã¯ãç·åœ¢ããã³å¯Ÿæ°ã®å Žåã«ãããã®é¢æ°ãæ§ç¯ããããšã§ãã
ãããã¯ã©ã®ãããªæ©èœã§ããïŒ å
¥åã§ã¯ãç»é¢äžã®ã³ã³ãã¥ãŒã¿ãŒãµãã«ãŒãã³è¡šç€ºã®æœè±¡åº§æšã§åº§æšãåãåããŸããåºåã¯ç»é¢ã«è¡šç€ºãããŸãïŒãç»é¢ã座æšã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠç°ãªããŸãïŒãèšç®ã«ã¯ã次ã®ããšãç¥ãå¿
èŠããããŸãã
![](https://habrastorage.org/storage2/d70/949/9f5/d709499f59b63a6f15474916f87ba410.jpg)
- æœè±¡åº§æšã®éç㯠ãèå³ã®ããåŒæ°ãšé¢æ°ã®éçå€ã§ãã ãªããŸã
ã
氎平軞ãš
ã
åçŽçšã å€å
žçãªééããããå¿
èŠã¯ãããŸããïŒ
ã
ïŒ äžèšã®äŸã§ã¯ãããã瀺ãããŠããŸãã - ç»é¢åº§æšã®å¶é -ã°ã©ããæç»ãããç»åã®å¢çã åœç¶ãçŸåšã®ç»é¢åº§æšã§ã ã°ã©ãã§
ã
氎平軞ãš
ã
åçŽçš; - ã¹ã¯ãªãŒã³åº§æšã¹ããã -çŸåšã®ãã¯ã»ã«ã¹ããã
ã
ã åçŽãªã±ãŒã¹ã§ã¯ããŠãããã«ãªããŸãã ããããQtã§ã¯ãåçŽæ¹åã®ãŒãã¯ãŠã£ã³ããŠã®äžéšã§ãã ã ãã
ã ãããŠãããããçš®é¡ã®å€æãé©çšããããšãã§ãããã®ã¹ãããã¯æ±ºããŠåäžã§ã¯ãããŸããã
泚æããŠãã ãã-å€æã®åé¡ã¯ããããåçŽè»žã§ãããã©ããã«é¢ä¿ãããŸããïŒ ããïŒã¿ã¹ã¯ïŒã¯ãå
¥åãåºåãããã³åºåãã©ã¡ãŒã¿ãŒã®ã¹ãããã®å¢çå€ã§åäœããŸãã ãããã£ãŠãåé¡ã¯äžè¬åã§ã
ãŸãããã©ã¡ãŒã¿ãå€æããå¿
èŠããããŸã
ãã®éçã«åºã¥ããŠ
ã
åºåãã
ãã®å¶éãèæ
®ã«å
¥ãã
ã
ãããŠã¹ããã ![ç»å](http://1450827010805670627696_{step})
ã è¡šèšã¯ããã§æå³çã«å°å
¥ãããŠããŸãã
![ç»å](http://1450827010308583637374)
ã
![ç»å](http://1450827010805670627696)
ãã€ãã®ä»£ããã«
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;x)
ã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;y)
ãããããªããšæ··ä¹±ãçããããã§ãã 1ã€ã®éèŠãªè¿œå ïŒ
![ç»å](http://1450827010308583637374_{max}>val_{min})
ã
ã¹ã±ãŒã«å€æã®åºæ¬ã¯ã©ã¹
ã¹ã±ãŒã«å®è£
ãç¶æ¿ãããã¹ã±ãŒã«ã®ä»®æ³å€æã¯ã©ã¹ã®å¿
èŠãªæ©èœãå®åŒåããŸãããïŒ
- ç»é¢åº§æšããæœè±¡åº§æšãžããŸãã¯ãã®éãžã®å€æ -è«ççã«ã¯ããã®ããã«è¡ããŸãã
- å€æèšå®ãè«ççã§ãã
- ãããã㣠-çŸåšã®å€æããããã£ïŒæå°/æ倧å€ãç°ãªãå€ã®ã¹ãããïŒ;
- ã°ãªããæ
å ± -ç²ãã°ãªãããšçŽ°ããã°ãªããã®äœçœ®ãã¹ã±ãŒã«ã®äžã®ã©ãã«ã
å®è£
ã¯æ¬¡ã®ããã«ãªããŸãã
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)
é¢æ°ã«ãã£ãŠå®è¡ãããŸãã
ç·åœ¢å€æ
氎平軞ãšåçŽè»žã®å¥ã
ã®ç·åœ¢å€æãèŠãŠã¿ãŸãããã
![](https://habrastorage.org/storage2/262/b1c/416/262b1c4166abf24c1ce56bcde13ca656.jpg)
![](https://habrastorage.org/storage2/9b8/a27/d73/9b8a27d738232a5a83ca97ea6d31dd69.jpg)
ããã€ãã®æ©èœããããŸã-1ã€ã®è¡šçŸã®æ²ç·ã§ãã å¥ã®æ¹æ³ãšããŠããããçãããŠå³ã«ç§»åããå¿
èŠããããŸããïŒç»é¢äžã®ãŠã£ã³ããŠãçž®å°ãããå³ã«ç§»åãããŸããïŒã å¥ã®ãã¥ãŒã§ã¯ãå·Šã«ç§»åããå¿
èŠããããŸããïŒãŠã£ã³ããŠã¯å·Šã«ç§»åããŸããïŒã ããã¯æ°åŠçã«ã©ã®ããã«èšè¿°ãããŠããŸããïŒ ååç°¡åïŒ
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;y=f(k*t+b))
ã æåã®ã±ãŒã¹ã§ã¯ã
![ç»å](http://1450827010635793744853)
第äºã«
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;b<0)
ã
å¥ã®ã±ãŒã¹ã§ã¯ãæ²ç·ã®åçŽæ¹åã®è¡šçŸãçããŠäžã«ç§»åããå¿
èŠããããŸããã ãããŠãäžè¬çã«ã¯è£è¿ããŸãã ãããã®å€æã¯äž¡æ¹ãšã次ã®ããã«èª¬æãããŸã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;y=k*f(t)+b)
ã æåã®å Žå
![ç»å](http://1450827010635793744853)
ã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;b>0)
ã 2çªç®ã®å Žå
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;k=-1)
ã
äž¡æ¹ã®å€æã®æ°åŠçãªèª¬æã¯åãã§ãã
![ç»å](http://1450827010805670627696=k*val+b)
ã ãã®èª¬æã«ã¯ãå€æãå®çŸ©ãã2ã€ã®å®æ°ããããŸãã
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;k)
ãããŠ
![ç»å](http://latex.codecogs.com/png.download?\dpi{120}&space;b)
ã æåã¯åŸæè§åºŠã決å®ãã2çªç®ã¯ãŒãã«å¯Ÿãããªãã»ããã決å®ããŸãã
ãããã®å®æ°ã®èšç®ã¯éåžžã«ç°¡åã§ã-ããã¯ã2ã€ã®æ¹çšåŒã®ã·ã¹ãã ã®è§£æ±ºçã§ãã
ã
éå€æãå®è¡ã§ããããšãéèŠã§ããããšãã°ãããŠã¹ãã€ã³ã¿ãŒã®åº§æšãæœè±¡çãªåº§æšã«å€æããŸãã è€éãªããšããããŸããïŒ
ã
ã¹ããã
![ç»å](http://1450827010725075443228)
ãã®å Žåãèšç®ã«ã¯äœ¿çšãããŸããããC ++å®è£
ã§ãªãã»ãããèšç®ããã®ã«åœ¹ç«ã¡ãŸãã
ããã¯å®éã«ã©ã®ããã«äœ¿çšãããŸããïŒ ã¯ãããã¹ãŠãç°¡åã§ãïŒ æ°Žå¹³å€æïŒ
![ç»å](http://1450827010843275596910)
-察å¿ããã°ã©ãã£ãã¯ç»åã®å¢ç
![ç»å](http://1450827010593268871578)
ïŒéåžžã¯å·ŠåŽïŒ
![ç»å](http://1450827010868326146897)
-
![ç»å](http://1450827010593268871578)
ïŒéåžžã¯æ£ããïŒ
![ç»å](http://1450827010725075443228)
-æ°Žå¹³ç»ååºåã¹ãããã åçŽå€æ-åæ§ã«ããã ãåçŽïŒQtã§ïŒ
![ç»å](http://1450827010843275596910)
ç»åã®äžã®å¢çç·ã«ãªããŸã
![ç»å](http://1450827010868326146897)
-ãããããããŠ
![ç»å](http://1450827010843275596910>scr_{max})
ïŒ
察æ°å€æ
ãããŠä»ãç§ãã¡ã¯ããã«é£ã³èŸŒã¿ãŸãã
ïŒã°ã©ãã«ã¯å¯Ÿæ°ã¯æãããŠããŸããããããã«äŒŒããã®ããããŸããããã¯ãããã§ã®å¯Ÿæ°ãããŸãæ確ã§ã¯ãªããããæå³çã«è¡ãããŸãïŒãã
![ç»å](http://1450827010725075443228)
å
šäœçã«åã
![ç»å](http://1450827010792653104291)
ã©ãã§ãéãã§ãããïŒ ã©ã®æ³åŸã«ãã£ãŠå€åããŸããïŒ ããã§ã-察æ°çã«ïŒ æåã«ãããç¹å®ããæ¹æ³ãåŠã³ãŸããã
![ç»å](http://1450827010792653104291)
ã
åèšãã€ã³ãããããŸã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;num=\left | \frac{scr_{max}-scr_{min}}{scr_{step}} \right |+1)
ïŒäŸïŒ
![ç»å](http://1450827010843275596910=-1)
ã
![ç»å](http://1450827010868326146897=1)
ã
![ç»å](http://1450827010725075443228=1)
; ãã®åŸã3ã€ã®ãã€ã³ãããããŸãïŒã ããã¯ãå
¥åå€ã®ç¯å²ã«å¯Ÿå¿ããŸãã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;diap_{val}=val_{max}-val_{min})
ã 䟡å€
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_{0}=scr_{min})
ã«å¯Ÿå¿
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;val_{0}=val_{min})
ã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_{n}=scr_{max})
ã«å¯Ÿå¿
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;val_{n}=val_{max})
ã æåŸã®ãã€ã³ãã«ã¯ã€ã³ããã¯ã¹ããããŸã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;n=num-1)
ã ããã¯äœã«å¯Ÿå¿ããŸãã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_{i})
ïŒ
ãªãã¢ã¹ã±ãŒã«çš
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_{i}\equiv val_{min}+base*i)
ã©ãã§
![ç»å](http://1450827010644099438049)
å
¥åå€ã®ç¯å²ã«ãã£ãŠæ±ºå®ãããŸãã ããã§ãåãããšãã§ããŸããä¹ç®ã®ä»£ããã«ã®ã¿çŽ¯ä¹ãããŸãïŒ
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_i\equiv val_{min}+base^i)
ïŒãããèŠããŠãã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;0\leqslant i\leqslant n)
ïŒ ãã ãããã¥ã¢ã³ã¹ã1ã€ãããŸãã
![ç»å](http://1450827010362761852852=0)
ç§ãã¡ãšäžç·ã«
![ç»å](http://1450827010644099438049^i\neq 0)
ããããããå¿
èŠããããŸãã ããã¯åçŽã«è§£æ±ºãããŸã-åäœãåŒããŸãïŒ
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_i\equiv val_{min}+base^i-1)
ã ãããŠããŒãã®å Žåããã¹ãŠãåæããŸãã èšç®æ¹æ³
![ç»å](http://1450827010644099438049)
ãã®å ŽåïŒ ããŸããŸãªãªãã·ã§ã³ããããŸãã ç§ã¯ããã次ã®ããã«è¡ãããšã奜ã¿ãŸãã
ç§ãã¡ã¯ãããç¥ã£ãŠããŸã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_n\equiv val_{max})
ã åæã«ãä»ã§ã¯
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_n\equiv val_{min}+base^n-1)
ã æ¹çšåŒãå€æããŸãïŒ
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;val_{max}=val_{min}+base^n-1)
ã ã«é¢ããŠããã解決ããŸã
![ç»å](http://1450827010644099438049)
ïŒ
![ç»å](http://1450827010644099438049^n=val_{max}-val_{min}+1;base=\sqrt[n]{val_{max}-val_{min}+1})
ã çãããã®ãæãåºã
![ç»å](http://1450827010821243338902)
ã«ãŒããã¹ãä¹ã«çœ®ãæãããšãã³ã³ãã¥ãŒã¿ãŒã«åãå
¥ãããããã¥ãŒãåŸãããŸãã
![ç»å](http://1450827010644099438049=(val_{max}-val_{min}+1)^{\tfrac{1}{num-1}})
ïŒãããæãåºããŠãã ãã
![ç»å](http://1450827010308583637374_{max}>val_{min})
ïŒ ãã°ããããåºæ¬å€ãååŸãããŸããïŒ
å®éãç»é¢ã®åº§æšãæœè±¡ã«å€æããã¢ã«ãŽãªãºã ãã€ãŸãéåé¡ããããŸããã çŸåšãçŽæ¥ã¿ã¹ã¯ã¢ãŒãã¯ãæœè±¡åº§æšããç»é¢åº§æšã«å€æããããšã§ãã ã¿ã¹ã¯ã解決ããã®ã¯é£ãããããŸããã å®éãããªãã¯èŠã€ããå¿
èŠããããŸã
![ç»å](http://1450827010362761852852)
ããããŠåœŒã«ãšã£ãŠããã¯ç°¡åã§ã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_i)
ã
èŠã€ããããã«
![ç»å](http://1450827010362761852852)
æ¹çšåŒã解ãå¿
èŠããã
![ç»å](http://1450827010593268871578+base^i-1=val_i)
ã«é¢ããŠ
![ç»å](http://1450827010644099438049^i)
ïŒ
![ç»å](http://1450827010644099438049^i=val_i-val_{min}+1)
ã ããã§ã¯ã察æ°ã®ããããã£ãã
![ç»å](http://1450827010362761852852=\frac{\log (val_i-val_{min}+1)}{\log base})
ã ããã«ãç»é¢åº§æšãåŸæã®ããç·ãšããŠèãããšã
![ç»å](http://latex.codecogs.com/gif.download?\dpi{120}&space;scr_i=\frac{scr_{max}-scr_{min}}{n}*i+scr_{min})
ïŒå®å
šãªçŸããã®ããã«
![ç»å](http://1450827010821243338902)
ã«çœ®ãæãã
![ç»å](http://1450827010821243338902um-1)
ïŒ
åºæ¬çãªæ°åŠãšèããããŠããããã§ãã çºèŠããããšã©ãŒãäžæ£ç¢ºãª-ã³ã¡ã³ããæžããŠãç§ã¯æè¬ããŸãïŒ
æéãçµã€ã«ã€ããŠã次ã®èšäºãæžãããšã«ãªããŸã-C ++èšèªã®QtããŒã«ã䜿çšãããã®æ°åŠã®å®è£
ã