ããã§ããªããžã§ã¯ãã®äœæãè²ä»ãããã¯ã¹ãã£ã®é©ç𿹿³ãããããŸãããããããã¯éçãªããžã§ã¯ãã§ããããããŸã éå±ã§ãã åãã¬ãŒã ã®é ç¹ã®åº§æšã倿Žããããšã§ããããç§»åãããããšããããšãã§ããŸãããããã¯ããªãé¢åã§ãããã»ããµã®èšç®ãå¿
èŠã§ãã ãªããžã§ã¯ãã®å€æãå®è¡ããã¯ããã«äŸ¿å©ãªæ¹æ³ããããŸã-ããã¯è¡åã䜿çšããŠããŸãã ããããããã¯ã«ã³ããŒãšäººå·¥ããžã¿ã«ã®äžçã«ã€ããŠè©±ãããšãæå³ãããã®ã§ã¯ãããŸããã
è¡åã¯éåžžã«åŒ·åãªæ°åŠçæ§é ã§ãããæåã¯æãããŸãããæ
£ãããšããã«éåžžã«äŸ¿å©ã«ãªããŸãã è¡åã«ã€ããŠè°è«ãããšãã¯ãæ°åŠãããå°ãæ·±ãããå¿
èŠããããŸãã ãŸããããæ°åŠçãªåŸåã®ããèªè
ã®ããã«ããã®ãããã¯ã«é¢ãã远å ãªãœãŒã¹ãžã®ãªã³ã¯ãæ®ããŸãã
倿ãå®å
šã«çè§£ããã«ã¯ããŸããã¯ãã«ãåŠçããå¿
èŠããããŸãã ãã®ç« ã®äž»ãªã¿ã¹ã¯ã¯ãåŸã§å¿
èŠã«ãªãåºæ¬çãªæ°åŠçç¥èãæäŸããããšã§ãã
ãã¯ãã«
æãåçŽãªå®çŸ©ã§ã¯ããã¯ãã«ã¯æ¹åã«ãããŸããã ãã¯ãã«ã«ã¯æ¹åãšå€§ãã ïŒã¢ãžã¥ã©ã¹ãŸãã¯é·ããšãåŒã°ããïŒããããŸãã å®ã®å°å³äžã®æ¹åãšããŠãã¯ãã«ãæ³åã§ããŸãããå·Šã«10æ©ãä»åºŠã¯åã«3æ©ãå³ã«5æ©ãã ãã®äŸã§ã¯ããå·Šããæ¹åã§ãããã10ã¹ããããããã¯ãã«ã®é·ãã§ãã ãã®å®ã®å°å³äžã®æç€ºã¯ã3ã€ã®ãã¯ãã«ã§æ§æãããŠããŸãã ãã¯ãã«ã¯ä»»æã®æ¬¡å
ãæã€ããšãã§ããŸããã2æåããã³4æåã®ãã¯ãã«ãæããã䜿çšãããŸãã ãã¯ãã«ã2æåã®å Žåãå¹³é¢ïŒãŸãã¯2Dãã£ãŒãïŒäžã®æ¹åã衚ãããã¯ãã«ã3æåã®å Žåã3次å
äžçã®æ¹åã衚ããŸãã
以äžã«3ã€ã®ãã¯ãã«ããããããããã2Dãã£ãŒãäžã®ç¢å°ãšããŠïŒxãyïŒã®åœ¢åŒã§è¡šãããŠããŸãã ïŒ3DãããïŒ2Dã§ãã¯ãã«ã衚çŸããæ¹ãçŽæçã§ããããã2Dãã¯ãã«ã¯3Dãã¯ãã«ãšèããããšãã§ããŸãããZ座æšã¯ãŒãã§ãã ãã¯ãã«ãæ¹åã衚ãéãããã¯ãã«ã®äœçœ®ã¯ãã®å€ã倿ŽããŸããã ã°ã©ãã§ã¯ããã¯ãã«vãšwã¯åãã§ãããäœçœ®ã¯ç°ãªããŸãã

æ°åŠè
ããã¯ãã«ãèšè¿°ãããšãã圌ãã¯äžéšã«å°ããªããã·ã¥ãä»ããå°æåã䜿çšããããšã奜ã¿ãŸãã äŸïŒ

ãã¯ãã«ã¯å€ãã®å Žåæ¹åãèšè¿°ãããããããããäœçœ®ãšããŠæ³åããã®ã¯é£ããå ŽåããããŸãã éåžžããã¯ãã«ã次ã®ããã«èŠèŠåããŸããäžå¿ãïŒ0ã0ã0ïŒã«èšå®ãããã€ã³ãã«ãã£ãŠèšè¿°ãããæ¹åã瀺ããŸãã ãããã£ãŠã äœçœ®ãã¯ãã«ãååŸãããŸãïŒå¥ã®ãã€ã³ããäžå¿ãšããŠãããã®ãã¯ãã«ããã®ãã€ã³ããã空éå
ã®ãã€ã³ããæããŠããããšèšãããšãã§ããŸãïŒã äœçœ®ãã¯ãã«ïŒ3ã5 ïŒã¯ãã°ã©ãäžã®ç¹ïŒ3ã5ïŒãããŒã¹ïŒ0ã0 ïŒã§æããŸãã ãã¯ãã«ã䜿çšããŠã2次å
ããã³3次å
ã®ç©ºéã§æ¹åãšäœçœ®ã®äž¡æ¹ãèšè¿°ããããšãã§ããŸãã
ãã¯ãã«ã«å¯ŸããŠããã€ãã®æ°åŠæŒç®ãå®è¡ããããšãã§ããŸãã
ã¹ã«ã©ãŒãã¯ãã«æŒç®
ã¹ã«ã©ãŒã¯åäžã®æ°å€ã§ãïŒãã¯ãã«ãåŒãç¶ã䜿çšããå Žåã¯1æåã®ãã¯ãã«ïŒã ã¹ã«ã©ãŒã«ãããã¯ãã«ã®å ç®/æžç®/ä¹ç®ãŸãã¯é€ç®äžã«ãåçŽã«ãã¯ãã«ã®åèŠçŽ ããã®ã¹ã«ã©ãŒã§å ç®/æžç®/ä¹ç®ãŸãã¯é€ç®ããŸãã äŸïŒ

å ç®ã®ä»£ããã«ãæžç®ãä¹ç®ããŸãã¯é€ç®ããããŸãã
éãã¯ãã«
ãã¯ãã«ã®éïŒåŠå®ïŒã¯ãå
ã®æ¹åãšã¯éã®æ¹åã®ãã¯ãã«ã®åãåãã§ãã åæ±ãæããã¯ãã«ã®éãã¯ãã«ã¯ãå西ãæããã¯ãã«ã«ãªããŸãã ãã¯ãã«ãå転ããã«ã¯ãåã«ãã¯ãã«ã«-1ãæããŸãã äŸïŒ

å ç®ãšæžç®
2ã€ã®ãã¯ãã«ã®å ç®ã¯ã ã³ã³ããŒãã³ãããšã«è¡ãããŸã ã äŸïŒ

èŠèŠçã«ã¯ããã¯ãã«v =ïŒ4,2ïŒãšk =ïŒ1,2ïŒã®åèšã¯æ¬¡ã®ããã«ãªããŸãã

éåžžã®å ç®ããã³æžç®ãšåæ§ã«ããã¯ãã«ã®æžç®ãå ç®ã§ãããéã®2çªç®ã®ãã¯ãã«ã§ã¯ïŒ

äºãã«ãã¯ãã«ãæžç®ãããšããªãã©ã³ãã®äœçœ®ã®å·®ã§ãããã¯ãã«ãçæãããŸãã

é·ã
ãã¯ãã«ã®é·ãïŒã¢ãžã¥ãŒã«ïŒãååŸããã«ã¯ã ãã¿ãŽã©ã¹ã®å®çã䜿çšããŸããããã¯ãåŠæ ¡ã§èŠããŠãããããããŸããã æåãäžè§åœ¢ã®èŸºãšããŠè¡šãããå Žåããã¯ãã«ã¯äžè§åœ¢ã圢æããŸãã

蟺ã®é·ãïŒxãyïŒãããã£ãŠããŠãæèŸºã®é·ããç¥ãããã®ã§ããããæ¬¡ã®ããã«è¡ããŸãã

ã©ã|| v || ãã¯ãã«vã®é·ãã§ãã ãã®ãããªåŒã¯ã z ^ 2ã远å ããããšã§3Dã§ç°¡åã«æ¡åŒµã§ããŸãã é·ãã®èšç®äŸïŒ

èšç®å€ïŒ4.47
åäœãã¯ãã«ãšåŒã°ããç¹å¥ãªçš®é¡ã®ãã¯ãã«ããããŸãã ãã®ãããªãã¯ãã«ã®ç¹åŸŽã¯ãé·ããåžžã«1ã§ããããšã§ãããã®ãã¯ãã«ããã®é·ãã§å²ãããšã«ãããä»»æã®ãã¯ãã«ããŠãããã«å€æã§ããŸãã

ãã®ãããªãã¯ãã«ã¯ã normalizedãšåŒã°ããŸãã åäžã®ãã¯ãã«ã¯ãæåã®äžã«å°ããªå±æ ¹ã§ç€ºãããŸãã ãŸãããã®ãããªãã¯ãã«ã®æ¹åã®ã¿ãèæ
®ããå¿
èŠãããããããããã䜿çšããæ¹ãç°¡åã§ãã
ãã¯ãã«ãšãã¯ãã«ã®ä¹ç®
2ã€ã®ãã¯ãã«ã®ä¹ç®ã¯ããªãå¥åŠã§ãã éåžžã®ä¹ç®ââã¯èŠèŠçãªæå³ãæããªããããé©çšã§ããŸããããä¹ç®äžã«éžæã§ãã2ã€ã®ç¹å®ã®ã¢ãããŒãããããŸãïŒæåã¯ç¹ãšããŠè¡šãããã¹ã«ã©ãŒç©ã§ããã2çªç®ã¯ã¯ãã¹ãšããŠè¡šããããã¯ãã«ç©ã§ãã
ã¹ã«ã©ãŒç©
2ã€ã®ãã¯ãã«ã®ã¹ã«ã©ãŒç©ã¯ããããã®ãã¯ãã«ã®é·ããšããããã®éã®è§åºŠã®ã³ãµã€ã³ãæããã¹ã«ã©ãŒç©ã«çžåœããŸãã ãã®æãæ··ä¹±ããŠããå Žåã¯ãåŒãèŠãŠãã ããïŒ

ãã¯ãã«éã®è§åºŠã¯thetaãšããŠèšè¿°ãããŸãã ãªããããé¢çœãã®ã§ããããïŒ ããŠããã¯ãã«vãškãåäœãã¯ãã«ã§ãããšæ³åããŠãã ããã ãããã£ãŠãåŒã¯æ¬¡ã®ããã«ãªããŸãã

çŸåšãã¹ã«ã©ãŒç©ã¯2ã€ã®ãã¯ãã«éã®è§åºŠã®ã¿ã決å®ããŸãã cos颿°ã¯90床ã®è§åºŠã§0ãè§åºŠ0ã§1ã«ãªãããšãèŠããŠãããããããŸãããããã«ããããã¯ãã«ãäºãã«çŽäº€ããŠããããå¹³è¡ã§ããããç°¡åã«ç¢ºèªã§ããŸãïŒçŽäº€æ§ãšã¯ããã¯ãã«ãé·æ¹åœ¢ã§ããããšãæå³ããŸãïŒã sinãŸãã¯cosineã«ã€ããŠè©³ããç¥ãããå Žåã¯ãåºæ¬çãªäžè§æ³ã«é¢ããKhan Academyã®ãããªããå§ãããŸãã
ãŸãã2ã€ã®éåäœãã¯ãã«éã®è§åºŠãèšç®ããããšãã§ããŸããããã®ããã«ã¯ãçµæããããã®ãã¯ãã«ã®é·ãã§å²ã£ãŠã cosã®ã¿ãä¿æããå¿
èŠããããŸãã
ããã§ã¯ãã¹ã«ã©ãŒç©ãã©ã®ããã«æ°ããŸããïŒ ã¹ã«ã©ãŒç©ã¯ããã¯ãã«ã®æåã®ä¹ç®ãšããã«ç¶ãçµæã®å ç®ã§ãã äŸïŒ

ãã¯ãã«éã®è§åºŠãèšç®ããã«ã¯ããã®å ŽåãäœåŒŠé¢æ°ïŒcos ^ -1ïŒãå転ããå¿
èŠããããŸã-143.1床ã§ãã ãããã£ãŠãããã2ã€ã®ãã¯ãã«éã®è§åºŠã广çã«èšç®ããŸããã ã¹ã«ã©ãŒäœæ¥ã¯ãå
ãæ±ããšãã«éåžžã«äŸ¿å©ã§ãã
ãã¯ã¿ãŒã¢ãŒãã¯ãŒã¯
ãã¯ãã«ç©ã¯3次å
空éã§ã®ã¿å¯èœã§ããã2ã€ã®éå¹³è¡ãã¯ãã«ãå
¥åãšããŠåãåããå
¥åã«çŽäº€ãããã¯ãã«ãè¿ããŸãã å
¥åãã¯ãã«ãäºãã«çŽäº€ããŠããå Žåããã¯ãã«ç©ã¯3ã€ã®çŽäº€ãã¯ãã«ãäœæããŸãã æ¬¡ã«ãããããªã圹ç«ã€ã®ããããããŸãã æ¬¡ã®å³ã¯ã3次å
空éã§ã®å€èгã瀺ããŠããŸãã

ä»ã®æäœãšã¯ç°ãªãããã¯ãã«ç©ã¯ç·åœ¢ä»£æ°ã«æ·±ãå
¥ã蟌ãŸãªããã°çŽèгçã§ã¯ãªããããåŒãèŠããŠãããæ¹ãããã§ãããã 以äžã¯ã2ã€ã®çŽäº€ãã¯ãã«AãšBã®éã®ãã¯ãã«ç©ã§ãã

ã芧ã®ãšããããã®åŒã¯ããŸãæå³ããããŸããã ãããã«ããããããã®ãã¹ãŠã®ã¹ãããã®åŸãå
¥åã«çŽäº€ãããã¯ãã«ãåãåããŸãã
è¡å
ããŠããã¯ãã«ã«é¢ããã»ãšãã©ãã¹ãŠã説æããåŸããããªãã¯ã¹ã詳ãã調ã¹ãŸãã è¡åã¯éåžžãæ°åãæåãããã³/ãŸãã¯åŒã®ã»ãããããªãåè§åœ¢ã§ãã 2x3ãããªãã¯ã¹ã®äŸã次ã«ç€ºããŸãã

ãããªãã¯ã¹èŠçŽ ã¯ïŒiãjïŒã䜿çšããŠã¢ã¯ã»ã¹ãããŸããiã¯è¡ã§ãjã¯åã§ãã ããããäžèšã®ãããªãã¯ã¹ã2x3ïŒ3å2è¡ïŒãšåŒã°ããçç±ã§ãã ãã®ãããªã·ã¹ãã ã¯ã2Dã°ã©ãïŒxãyïŒã§äœ¿çšãããã·ã¹ãã ã®éã§ãã äžèšã®ãããªãã¯ã¹ããå€4ãååŸããã«ã¯ãã€ã³ããã¯ã¹ïŒ 2ã1 ïŒ ïŒ2è¡ç®ã1åç®ïŒãæå®ããå¿
èŠããããŸãã
å®éãè¡åã¯æ°åŒã®åè§åœ¢ã®é
åã«ãããŸããã ãŸããæ°åŠããããã£ã®éåžžã«åªããã»ãããããããã¯ãã«ã®ããã«ãå ç®ãæžç®ãä¹ç®ãªã©ã®ããã€ãã®æäœããããŸãã
å ç®ãšæžç®
ã¹ã«ã©ãŒã«ããè¡åã®è¿œå ã¯ã次ã®ããã«å®è¡ãããŸãã

ã¹ã«ã©ãŒã¯ãåçŽã«ãããªãã¯ã¹ã®ãã¹ãŠã®èŠçŽ ã«è¿œå ãããŸãã åŒãç®ãããšããåãããšãèµ·ãããŸãïŒ

2ã€ã®ãããªãã¯ã¹éã®å ç®ãšæžç®ã¯ãèŠçŽ ããšã«å®è¡ãããŸãã ãããã£ãŠãå ç®ããã³æžç®æŒç®ã¯ãåããµã€ãºã®è¡åã«ã®ã¿é©çšã§ããŸãã äŸïŒ

åãããšãæžç®ã®ã¿ïŒ

ã¹ã«ã©ãŒè¡åä¹ç®
å ç®ãšæžç®ã«å ããŠãåè¡åèŠçŽ ã«ã¹ã«ã©ãŒãä¹ç®ããããšã«ãããè¡åã«ã¹ã«ã©ãŒãä¹ç®ãããŸãã äŸïŒ

è¡åä¹ç®
è¡åä¹ç®ã¯ããã»ã©é£ãããããŸããããããã»ã©åçŽã§ããããŸããã ä¹ç®ã«ã¯ããã€ãã®å¶éããããŸãã
- ä¹ç®ã§ããã®ã¯ãæåã®åã®åæ°ã2çªç®ã®è¡åã®è¡æ°ãšäžèŽããè¡åã®ã¿ã§ãã
- è¡åã®ä¹ç®ã¯å¯æã§ã¯ãããŸããã A * BïŒ= B * A
2ã€ã®2x2è¡åãä¹ç®ããäŸã次ã«ç€ºããŸãã

ããŠãå€åããªãã¯ããã§äœãèµ·ãã£ãŠããã®ãçè§£ããããšããŠããŸããïŒ è¡åã®ä¹ç®ã¯ãéåžžã®ä¹ç®ââãšãå·Šã®è¡åã®è¡ãšå³ã®è¡åã®åã䜿çšããå ç®ã®çµã¿åããã§ãã æ¬¡ã®å³ã¯ãå°ãæç¢ºã«ããå¿
èŠããããŸãã

æåã«ãå·Šã®ãããªãã¯ã¹ã®äžçªäžã®è¡ãšå³ã®ãããªãã¯ã¹ã®å·Šã®åãååŸããŸãã ç§ãã¡ãéžæããè¡ãšåã¯ãçµæã®ãããªãã¯ã¹ã®ã©ã®èŠçŽ ãèšç®ããããæ±ºå®ããŸãã å·Šã®è¡åã®æåã®è¡ãååŸããå Žåãçµæã®è¡åã®äžçªäžã®è¡ãæäœããæ¬¡ã«å³ã®è¡åã®åãéžæããŸããããã«ãããçµæã®è¡åã®ã©ã®åãæäœããããæ±ºãŸããŸãã å³äžã®èŠçŽ ãèšç®ããã«ã¯ãå·Šè¡åã®äžçªäžã®è¡ãšå³è¡åã®å³ã®åãéžæããå¿
èŠããããŸãã
çµæã®å€ãèšç®ããã«ã¯ãéåžžã®ä¹ç®ââã䜿çšããŠè¡ãšåã®èŠçŽ ãä¹ç®ããŸãã ãã®åŸãä¹ç®çµæãåèšãããçµæãåŸãããŸãã ãããæåã®å¶éã®åå ã§ãã
çµæã¯ãµã€ãºïŒnãmïŒã®è¡åã§ããããã§ãnã¯å·Šã®è¡åã®è¡æ°ãmã¯å³ã®è¡åã®åæ°ã§ãã
åé¡ãããå Žå-å¿é
ããªãã§ãã ããã æã§èšç®ãç¶ããå°é£ãçãããšãã«ãã®ã¬ãã¹ã³ã«æ»ããŸãã ãŸããªãè¡åã®ä¹ç®ããªãŒãããã³ã«ãªããŸãã
1ã€ã®å€§ããªäŸã§ãè¡åä¹ç®ã®åé¡ãéããŸãããã è²ã¯ãã¢ã«ãŽãªãºã ã衚ãããã«äœ¿çšãããŸãã ãã¬ãŒãã³ã°ã®ããã«ãèªåã§çµæãèšç®ããŠãããäŸã®çµæãšæ¯èŒããŠã¿ãŠãã ããã

ã芧ã®ãšãããè¡åã®ä¹ç®ã¯ãå€ãã®ãã¹ãç¯ãå¯èœæ§ã®ããããªãåä»ãªããã»ã¹ã§ãã ãããŠããããã®åé¡ã¯ãµã€ãºã倧ãããªãã«ã€ããŠå€§ãããªããŸãã ããã§ãè¡åã®æ°åŠçç¹æ§ããã£ãšå¿
èŠãªå Žåã¯ã ã«ãŒã³ã¢ã«ãããŒã®ãããªããå§ãããŸãã
ãã¯ãã«ã«ããè¡åä¹ç®
éå»ã®ã¬ãã¹ã³ã§ã¯ãã§ã«ãã¯ã¿ãŒã䜿çšããŸããã ãããã䜿çšããŠãäœçœ®ãè²ãããã³ãã¯ã¹ãã£åº§æšã衚ããŸããã ããŠããŠãµã®ã®ç©Žãå°ãæ·±ãèŠãŠã¿ãŸãããããã¯ãã«ã¯å®éã«ã¯åãªãNx1è¡åã§ããã Nã¯ãã¯ãã«æåã®æ°ã§ãã å°ãèããŠã¿ãã°ãããã¯çã«ããªã£ãŠããŸãã è¡åãšåæ§ã«ããã¯ãã«ã¯æ°å€ã®é
åã§ãããåã¯1ã€ã ãã§ãã ãããŠããã®æ
å ±ã¯ã©ã®ããã«åœ¹ç«ã¡ãŸããïŒ ãããªãã¯ã¹MxNãããå Žåããããªãã¯ã¹ã®åæ°ã¯ãã¯ãã«ã®è¡æ°ã«çãããããNx1ãã¯ãã«ã§ä¹ç®ã§ããŸãã
ãããããªãè¡åã«ãã¯ãã«ãæããããšãã§ããã®ã§ããããïŒ ãããªãã¯ã¹ã«ãã¯ãã«ãä¹ç®ããŠä¿®æ£ãã¯ãã«ãååŸããããšã«ãããéåžžã«å€ãã®ç°ãªã3D / 2D倿ãå®è¡ã§ããŸãã äžèšã®ããã¹ããå®å
šã«çè§£ããŠãããã©ãããŸã ããããªãå Žåã¯ã次ã®äŸãã芧ãã ããã
åäœè¡å
OpenGLã¯éåžžãã»ãšãã©ã®ãã¯ãã«ã«4ã€ã®æåãããããã 4x4倿è¡åã§åäœããŸãã è°è«ã§ããæãåçŽãªå€æè¡åã¯ã åäœè¡åã§ãã åäœè¡åã¯ããŒãã§æºããããNxNè¡åã§ããã察è§ç·äžã«1ããããŸãã ã芧ã®ãšããããã®è¡åã¯ãã¯ãã«ããŸã£ãã倿ŽããŸããã

ãã¯ãã«ã¯æã€ããã«èŠããŸãã ããã¯ãä¹ç®ã®èŠåããæããã«ãªããŸããæåã®çµæã®èŠçŽ ã¯ããããªãã¯ã¹ã®æåã®è¡ã®åèŠçŽ ã«ãã¯ãã«ã®åèŠçŽ ãä¹ç®ãããã®ã§ãã æååã®åèŠçŽ ã¯æåã®èŠçŽ ãé€ããŠ0ã§ããããã1 * 1 + 0 * 2 + 0 * 3 + 0 * 4 = 1ã«ãªããŸããããã¯ããã¯ãã«ã®æ®ãã®3èŠçŽ ã«ãé©çšãããŸãã
ããªãã¯ãäœã倿ããªã倿ãããªãã¯ã¹ããªãå¿
èŠãªã®ã§ããããïŒ æçè¡åã¯ãå€ãã®å Žåãä»ã®å€æè¡åãçæããããã®åºçºç¹ã§ãããç·åœ¢ä»£æ°ãæãäžããå Žåãå®çã蚌æããç·åœ¢æ¹çšåŒãè§£ãããã®éåžžã«äŸ¿å©ãªè¡åã§ããããŸãã
ã¹ã±ãŒãªã³ã°è¡å
ãã¯ãã«ãã¹ã±ãŒãªã³ã°ããå Žåãç¢å°ã®é·ããã¹ã±ãŒãªã³ã°ã®éã ãå¢ãããæ¹åãç¶æããŸãã 2次å
ãŸãã¯3次å
ã§äœæ¥ããŠããéã2ã€ã3ã€ã®éã®ãã¯ãã«ã«ãã£ãŠã¹ã±ãŒãªã³ã°ã決å®ã§ããŸããåãã¯ãã«ã¯ã軞ïŒxãyãŸãã¯zïŒã® 1ã€ãã¹ã±ãŒãªã³ã°ããŸãã
ãã¯ãã«v =ïŒ3,2ïŒãã¹ã±ãŒãªã³ã°ããŠã¿ãŸãããã ãã¯ãã«ãxè»žã«æ²¿ã£ãŠ0.5ã¹ã±ãŒãªã³ã°ããŸããããã«ããããã¯ãã«ã2åçããªããŸãã yè»žã«æ²¿ã£ãŠ2ã§ãã¯ãã«ãã¹ã±ãŒãªã³ã°ãããšãé«ãã2åã«ãªããŸãã ãã¯ãã«ãïŒ0.5ã2ïŒã§ã¹ã±ãŒãªã³ã°ããå Žåã®å€èгãèŠãŠã¿ãŸãããã çµæããã©ãŒã sã«æžã蟌ã¿ãŸãã

OpenGLã¯å€ãã®å Žå3D空éã§æ©èœããããã2Dã®å Žåã¯Z座æšã1ã®ãŸãŸã«ããŠããããšãã§ããŸããå軞ã®ã¹ã±ãŒãªã³ã°å€ã¯ç°ãªããããå®è¡ããã¹ã±ãŒãªã³ã°æäœã¯ç°çš®ã§ãã ã¹ã±ãŒãªã³ã°å€ãåãå Žåããã®ãããªå€æã¯å質ãšåŒã°ããŸãã
ã¹ã±ãŒã«ã¢ãããã倿ãããªãã¯ã¹ãäœæããŸãããã 察è§èŠçŽ ã«ãã¯ãã«ã®å¯Ÿå¿ããèŠçŽ ãä¹ç®ãããããšã¯ãåäœè¡åã§æ¢ã«ç¢ºèªããŸããã åäœè¡åã®åäœãããªãã«ã«çœ®ãæãããšã©ããªããŸããïŒ ãã®å Žåããã¯ãã«ã®ãã¹ãŠã®èŠçŽ ã«ãã®å€ãæããŸãã ãããã£ãŠãã¹ã±ãŒãªã³ã°å€ãïŒS1ãS2ãS3ïŒãšããŠè¡šãå Žåãä»»æã®ãã¯ãã«ïŒxãyãzïŒã®ã¹ã±ãŒãªã³ã°è¡åãæ±ºå®ã§ããŸãã

ãã¯ãã«ã®4çªç®ã®èŠçŽ ã¯1ã§ããããšã«æ³šæããŠãã ããããã®ã³ã³ããŒãã³ãã¯wã§ç€ºãããä»ã®ã¿ã¹ã¯ã«äœ¿çšãããŸãã
ã·ããè¡å
ã·ããã¯ã1ã€ã®ãã¯ãã«ãå¥ã®ãã¯ãã«ã«è¿œå ããŠãç°ãªãäœçœ®ã®æ°ãããã¯ãã«ãååŸããããã»ã¹ã§ããã€ãŸãã ã·ãããã¯ãã«ã«åºã¥ãããã¯ãã«ã®ã·ããã§ãã ãã¯ãã«ã®è¿œå ã«ã€ããŠã¯ãã§ã«èª¬æããŠãããããããã¯æ°ãããã®ã§ã¯ãããŸããã
4x4ãããªãã¯ã¹ã®ã¹ã±ãŒãªã³ã°ãããªãã¯ã¹ãšåæ§ã«ãã·ããã«å¿
èŠãªæäœãå®è¡ããããã®ããã€ãã®äœçœ®ããããŸã-ãããã¯4çªç®ã®åã®äžäœ3ã€ã®èŠçŽ ã§ãã ããæãã¯ãã«ãïŒTxãTyãTzïŒãšããŠè¡šãå Žåãããæè¡åãæ¬¡ã®ããã«å®çŸ©ã§ããŸãã

ããã¯ããã¹ãŠã®ãã¯ãã«å€ã«ãã¯ãã«ã®wã³ã³ããŒãã³ããä¹ç®ãããåæå€ã«è¿œå ããããããæ©èœããŸãã ããã¯ã3x3ãããªãã¯ã¹ã䜿çšããŠã¯äžå¯èœã§ãã
忬¡åº§æš
ãã¯ãã«wã®æåã¯åæ¬¡åº§æš ãšãåŒã°ããŸãã 忬¡åº§æšãã3Dãã¯ãã«ãååŸããã«ã¯ã x座æšã y座æšãããã³z座æšãwã§é€ç®ããŸãã ã»ãšãã©ã®å Žåã wã¯1.0ã§ãããããããã¯éåžžã¯æ°ä»ããŸããã å皮座æšã®äœ¿çšã«ã¯ããã€ãã®å©ç¹ããããŸãïŒ3Dãã¯ãã«ã®ã·ãããå®è¡ã§ãïŒ wã³ã³ããŒãã³ãããªããšããã¯äžå¯èœã§ãïŒã次ã®ç« ã§ã¯wã®å€ã䜿çšããŠ3Dããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ãäœæããŸãã
ãŸãã忬¡åº§æšã0ã®å Žåãæåwã0ã«çãããã¯ãã«ã¯ã·ããã§ããªãããããã¯ãã«ã¯æ¹åãã¯ãã«ãšèŠãªãããŸãã
ã·ãããããªãã¯ã¹ã䜿çšãããšã3æ¹åïŒxãyãzïŒã®ãã¹ãŠã«ãªããžã§ã¯ããç§»åã§ããããããã®ãããªãã¯ã¹ã¯ã¿ã¹ã¯ã«éåžžã«åœ¹ç«ã¡ãŸãã
å転è¡å
æåŸã®2ã3ã®å€æã¯éåžžã«çè§£ããããã2DãŸãã¯3D空éã§è¡šçŸã§ããŸãããå転ã«ã¯ããå°ã泚æãå¿
èŠã§ãã ãããã®è¡åãã©ã®ããã«åœ¢æãããããæ£ç¢ºã«ç¥ãããå Žåã¯ã ç·åœ¢ä»£æ°ã«é¢ããã«ãŒã³ã¢ã«ãããŒã®ãããªããå§ãããŸãã
ãŸãããã¯ãã«ã®å転ãäœã§ããããå®çŸ©ããŸãããã 2Dããã³3Dã®å転ã¯ã è§åºŠã«ãã£ãŠæ±ºãŸããŸãã è§åºŠã¯ãè§åºŠãŸãã¯ã©ãžã¢ã³ã§è¡šçŸã§ããŸããå®å
šãªå転ã¯ããããã360床ãŸãã¯2Piã§ãã åŠäœã¯ç§ã«ãšã£ãŠããè«ççã§ãããããåŠäœãæ±ãããšã奜ã¿ãŸãã
ã»ãšãã©ã®åè»¢é¢æ°ã¯ã©ãžã¢ã³åäœã®è§åºŠãå¿
èŠãšããŸãããããã·ã¹ãã ããå¥ã®ã·ã¹ãã ã«å€æããå©ç¹ã¯éåžžã«ç°¡åã§ãã
床=ã©ãžã¢ã³*ïŒ180.0f / PIïŒ
ã©ãžã¢ã³=床*ïŒPI / 180.0fïŒ
PIã¯çŽ3.14159265359ã§ã
ååå転-360/2 = 180床ã®å転ãå¿
èŠã§ãã 1/5ãå³ã«å転ããã«ã¯ã360/5 = 72床å³ã«å転ããå¿
èŠããããŸãã 以äžã¯ãéåžžã®2Dãã¯ãã«ã®äŸã§ã ãvã¯kã®å³ã«72床å転ããŸãã

3Dã§ã®å転ã¯ãè§åºŠãš å転軞ã«ãã£ãŠèšè¿°ãããŸãã è§åºŠã¯ããã®è»žãäžå¿ã«ãã¯ãã«ãã©ãã ãå転ããããæ±ºå®ããŸãã ããšãã°ã3Dã¯ãŒã«ãã§2Dãã¯ãã«ãå転ãããå Žåãå転軞-Zãèšå®ããŸãã
äžè§æ³ã䜿çšããŠããã¯ãã«ãç¹å®ã®è§åºŠã§å転ãããã®ã«å€æã§ããŸãã ããã¯éåžžã sin颿°ãšcos颿°ã®å·§åŠãªçµã¿åããã§è¡ãããŸãã 倿è¡åãã©ã®ããã«çæããããã«ã€ããŠã®è°è«ã¯ãã¬ãã¹ã³ã®ç¯å²ãè¶
ããŠããŸãã
å転è¡åã¯3D空éã®å軞ã«å¯ŸããŠå®çŸ©ãããè§åºŠã¯thetaãšããŠè¡šç€ºãããŸãã
X軞ã®åšãã®å転è¡åïŒ

Y軞ã®åšãã®å転è¡åïŒ

Z軞ã®åšãã®å転è¡åïŒ

å転è¡åã䜿çšããŠã3ã€ã®è»žã®ããããã«æ²¿ã£ãŠãã¯ãã«ãå転ã§ããŸãã ããšãã°ãæåã«X軞ã§å転ãããæ¬¡ã«Y軞ã§å転ããããªã©ãããããçµã¿åããããšããžã³ãã«ããã¯åé¡ãšåŒã°ããåé¡ãããã«çºçããŸãã 詳现ã¯èª¬æããŸããããç¹å®ã®è»žã®å転ãçµã¿åãããã®ã§ã¯ãªããç¹å®ã®è»žã®å転ïŒããšãã°ïŒ0.662ã0.2ã0.722ïŒ ïŒããã¯åäœãã¯ãã«ã§ããããšã«æ³šæïŒã䜿çšããããšããå§ãããŸãã ãã®ãããªå€æã®ãããªãã¯ã¹ãååšããæ¬¡ã®ããã«ãªããŸããããã§ãïŒRxãRyãRzïŒã¯å転軞ã§ãã

ãã®ãããªãããªãã¯ã¹ã®çæã«é¢ããæ°åŠçãªè°è«ã¯ããã®ã¬ãã¹ã³ã®ç¯å²å€ã§ãã ãã®ãããªãããªãã¯ã¹ã§ããããã³ãžããã¯ã®åé¡ãå®å
šã«è§£æ±ºããããã§ã¯ãªãããšãèŠããŠãããŠãã ããïŒå
¥æããã®ã¯ç°¡åã§ã¯ãããŸããïŒã ãã®åé¡ãå®å
šã«è§£æ±ºããã«ã¯ãåå
æ°ã䜿çšããŠå転ãåŠçããå¿
èŠããããŸããåå
æ°ã¯ãå®å
šã§ããã ãã§ãªããèšç®ã®ç¹ã§ãã¯ããã«äœ¿ããããã§ãã åå
æ°ã®è°è«ã¯åŸã®ã¬ãã¹ã³ã®ããã«çä¿ãããŠãããããããŸããã
ãããªãã¯ã¹ã®çµã¿åãã
倿ã«ãããªãã¯ã¹ã䜿çšããæå€§éã®æçšæ§ãå®çŸããã«ã¯ã倿ãããªãã¯ã¹ã1ã€ã®ãããªãã¯ã¹ã«çµåããå¿
èŠããããŸãã ããã€ãã®å€æãå«ã倿ãããªãã¯ã¹ãçæã§ãããã©ãããèŠãŠã¿ãŸãããã ããšãã°ããã¯ãã«ïŒxãyãzïŒããããããã2åã«ã¹ã±ãŒãªã³ã°ããŠïŒ1ã2ã3ïŒã ãã·ããããããšããŸãã ãããè¡ãã«ã¯ãã¹ã±ãŒãªã³ã°è¡åãšå€äœè¡åãå¿
èŠã§ãã ãã®çµæã次ã®ãããªçµæãåŸãããŸãã

è¡åã®ä¹ç®äžã«ãæåã«ã·ããããŠããã¹ã±ãŒãªã³ã°ããããšã«æ³šæããŠãã ããã è¡åã®ä¹ç®ã¯å¯æã§ã¯ãããŸãããã€ãŸããä¹ç®ã®é åºãéèŠã§ãã è¡åã®ä¹ç®ã§ã¯ãå³ã®è¡åã«ãã¯ãã«ãä¹ç®ããããããä¹ç®ãå³ããå·Šã«èªãå¿
èŠããããŸãã è¡åã®çµåäžã«ãã¹ã±ãŒãªã³ã°ãéå§ããæ¬¡ã«å転ããæåŸã«ã·ããããããšããå§ãããŸããããããªããšãäºãã«åŠå®ããå¯èœæ§ããããŸãã ããšãã°ãæåã«ã·ãããå®è¡ããŠããã¹ã±ãŒãªã³ã°ãå®è¡ãããšãã·ãããããªãã¯ã¹ãã¹ã±ãŒãªã³ã°ãããŸãã
ãã®çµæã倿ãããªãã¯ã¹ã¯æ¬¡ã®ããã«é©çšãããŸãã

ããŠããã¯ãã«ã¯2åã«ã¹ã±ãŒãªã³ã°ããã ïŒ1ã2ã3ïŒã ãã·ãããããŸãã
å®éã«
çè«å
šäœã«ã€ããŠè°è«ããåŸããããå®è·µã«ç§»ããŸãã OpenGLã«ã¯ãããªãã¯ã¹ãŸãã¯ãã¯ãã«å€æã®ãµããŒããçµã¿èŸŒãŸããŠããªããããç¬èªã®æ°åŠã¯ã©ã¹ãšé¢æ°ã䜿çšããå¿
èŠããããŸãã ãããã®ã¬ãã¹ã³ã§ã¯ã埮åŠãªæ°åŠç詳现ããæœè±¡åããæ¢è£œã®æ°åŠçã©ã€ãã©ãªã䜿çšããŸãã 幞ããªããšã«ãGLMãšåŒã°ããOpenGLæ°åŠã©ã€ãã©ãªã®äžã«ã䜿ããããéå©ãªãã®ãæ¢ã«ãããŸãã
GLM
GLMã¯ãOpen GL M athematicsã®é åèªã§ãã ãã®ã©ã€ãã©ãªã¯ããããŒã§ããã€ãŸããå¿
èŠãªããããŒãã¡ã€ã«ãå«ããã ãã§ååã§ãã ãªã³ã¯ãã³ã³ãã€ã«ãæ°ã«ããå¿
èŠã¯ãããŸããã GLMã¯ã å
¬åŒWebãµã€ãããããŠã³ããŒãã§ããŸãã ããããŒãã¡ã€ã«ãå«ãã«ãŒããã£ã¬ã¯ããªãincludeãã©ã«ããŒã«ã³ããŒãããšãèµ·åã§ããŸãã
ã»ãšãã©ã®GLMæ©èœã¯ã3ã€ã®ããããŒãã¡ã€ã«ã«ãããŸãã
#include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp>
倿ã«ç¥èãé©çšããŠããã¯ãã«ïŒ 1ã0ã0 ïŒã ïŒ 1ã1ã0 ïŒã ãã·ããã§ãããã©ãããèŠãŠã¿ãŸãããïŒ glm :: vec4ãã1.0ã«çãã忬¡åº§æšãæå®ããããšã«æ³šæããŠãã ããïŒïŒ
glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f); glm::mat4 trans; trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f)); vec = trans * vec; std::cout << vec.x << vec.y << vec.z << std::endl;
æåã«ãGLMçµã¿èŸŒã¿ãã¯ãã«ã¯ã©ã¹ã䜿çšããŠã vecãšãããã¯ãã«ãäœæããŸããã æ¬¡ã«ã4x4åäœè¡åã§ããmat4ãå®çŸ©ããŸãã æ¬¡ã«ãåäœè¡åãã·ãããã¯ãã«ãšå
±ã«glm :: translate颿°ã«æž¡ãããšã«ããã倿è¡åãäœæããŸãã
次ã«ããã¯ãã«ã«å€æè¡åãæããŠçµæãåºåããŸãã ã·ããè¡åãã©ã®ããã«æ©èœãããããŸã èŠããŠããå Žåãçµæã®ãã¯ãã«ã¯ïŒ1 + 1ã0 + 1ã0 + 0ïŒã§ããå¿
èŠãããããšãçè§£ããŸããããã¯ïŒ2ã1ã0ïŒã§ãã äžèšã®ã³ãŒãã¯210ãåºåããŸããããã¯ãã·ãããããªãã¯ã¹ããžã§ããå®è¡ããããšãæå³ããŸãã
ãã£ãšé¢çœãããšãããŠã¹ã±ãŒã«ã詊ã¿ãŠãããæåŸã®ã¬ãã¹ã³ã®ãªããžã§ã¯ããå転ãããŸãããã æåã«ãã³ã³ãããåæèšåãã«90床å転ããŸãã æ¬¡ã«ã2åã«çž®å°ããããã«0.5ã§ã¹ã±ãŒãªã³ã°ããŸãã ãã®ããã®å€æãããªãã¯ã¹ãäœæããŸãããã
glm::mat4 trans; trans = glm::rotate(trans, 90.0f, glm::vec3(0.0, 0.0, 1.0)); trans = glm::scale(trans, glm::vec3(0.5, 0.5, 0.5));
æåã«ãå軞ã§ã³ã³ããã0.5ãã€çž®å°ããã³ã³ãããZ座æšã§90床å転ããŸãã ãã¯ã¹ãã£ãå転ããŠããããšã«æ³šæããŠãã ããã ãããªãã¯ã¹ãåGLM颿°ã«æž¡ããããGLMã¯èªåçã«ãããªãã¯ã¹ãä¹ç®ãã倿ãããªãã¯ã¹ãçæããŸãã
GLMã®äžéšã®ããŒãžã§ã³ã¯ãè§åºŠã§ã¯ãªãã©ãžã¢ã³åäœã®è§åºŠãåãå
¥ããŸãã ãã®ãããªããŒãžã§ã³ãããå Žåã¯ã glm :: radiansïŒ90.0fïŒã䜿çšããŠåºŠãã©ãžã¢ã³ã«å€æããŸãã
次ã®å€§ããªåé¡ã¯ã倿ãããªãã¯ã¹ãã·ã§ãŒããŒã«è»¢éããæ¹æ³ã§ãã GLSLã®ã¿ã€ãã¯mat4ã§ãããšå
ã«è¿°ã¹ãŸããã ãããã£ãŠã mat4ãäžæ§ãªå€æ°ãšããŠäœ¿çšããäœçœ®ãã¯ãã«ã«ãã®è¡åãæããããšã¯æ®ããŸãã
#version 330 core layout (location = 0) in vec3 position; layout (location = 1) in vec3 color; layout (location = 2) in vec2 texCoord; out vec3 ourColor; out vec2 TexCoord; uniform mat4 transform; void main() { gl_Position = transform * vec4(position, 1.0f); ourColor = color; TexCoord = vec2(texCoord.x, 1.0 - texCoord.y); }
GLSLã«ã¯ããã¯ã¿ãŒãšåãæäœãæäŸããmat2ããã³mat3ã¿ã€ãããããŸãã ãã®èšäºã«èšèŒãããŠãããã¹ãŠã®æäœã¯ããããªãã¯ã¹ã¿ã€ãã§å©çšã§ããŸãã
gl_Positionã«æž¡ãåã«ããŠããã©ãŒã ã远å ããäœçœ®ãã¯ãã«ã«å€æè¡åãä¹ç®ããŸãã ã ã³ã³ããã¯2åå°ãããªãã90床å転ããŸãã ãããããŸã 倿ãããªãã¯ã¹ãã·ã§ãŒããŒã«æž¡ãå¿
èŠããããŸããïŒ
GLuint transformLoc = glGetUniformLocation(ourShader.Program, "transform"); glUniformMatrix4fv(transformLoc, 1, GL_FALSE, glm::value_ptr(trans));
ãŸãã倿°ã®åäžãªäœçœ®ãååŸãã Matrix4fvåŸçœ®èšå·ä»ãã®glUniform颿°ã䜿çšããŠå€æ°ã«è¡åããŒã¿ãéä¿¡ããŸãã æåã®åŒæ°ã¯å€æ°ã®äœçœ®ã§ãªããã°ãªããŸããã 2çªç®ã®åŒæ°ã¯ãOpenGLã«éä¿¡ãããããªãã¯ã¹ã®æ°ããã®å Žåã¯1ãæç€ºããŸãã3çªç®ã®åŒæ°ã¯ããããªãã¯ã¹ã転眮ãããã©ãããæå®ããŸãã OpenGLéçºè
ã¯ãååªå
é åºãšåŒã°ããå
éšãããªãã¯ã¹åœ¢åŒããã䜿çšããŸããããã¯ãGLMã§ããã©ã«ãã§äœ¿çšãããããããããªãã¯ã¹ã転眮ããå¿
èŠã¯ãããŸãããGL_FALSEã®ãŸãŸã«ããŠããããšãã§ããŸãã å®éãæåŸã®ãã©ã¡ãŒã¿ãŒã¯ããŒã¿ã§ãããGLMã¯OpenGLãèŠããããŒã¿ãæ£ç¢ºã«ä¿åããªãããã value_ptrã䜿çšããŠå€æããŸã ã
倿ãããªãã¯ã¹ãäœæããé ç¹ã·ã§ãŒããŒã§åäžãšå®£èšããã·ã§ãŒããŒã§ãããªãã¯ã¹ãéä¿¡ããŠãé ç¹åº§æšãä¿®æ£ããŸããã çµæã¯æ¬¡ã®ããã«ãªããŸãã

ãããïŒ ã³ã³ããã¯æ¬åœã«å·Šã«æ²ããã2åå°ãããªã£ããããå€æã¯æåããŸããã ã³ã³ããããªã¢ã«ã¿ã€ã ã§å転ãããå³äžé
ã«ç§»åãããŸãããã ãããè¡ãã«ã¯ãã¡ã€ã³ã«ãŒãã®åå埩ã§èšç®ãå®è¡ããå¿
èŠããããŸãã GLFW颿°ã䜿çšããŠãæéãšãšãã«è§åºŠã倿ŽããæéãååŸããŸãã
glm::mat4 trans; trans = glm::translate(trans, glm::vec3(0.5f, -0.5f, 0.0f)); trans = glm::rotate(trans,(GLfloat)glfwGetTime() * 50.0f, glm::vec3(0.0f, 0.0f, 1.0f));
ã©ãã§ã倿è¡åã宣èšããåã«ãåãã¬ãŒã ã®åè»¢ãæŽæ°ã§ããããã«åå埩ã§äœæããããšã«æ³šæããŠãã ããã ã€ãŸããã²ãŒã ã«ãŒãã®åå埩ã§å€æè¡åãåäœæããå¿
èŠããããŸãã éåžžãã·ãŒã³ã«è€æ°ã®ãªããžã§ã¯ããããå Žåãã¬ã³ããªã³ã°ã®åååŸ©ã§æ°ããå€ã䜿çšããŠãããã®å€æè¡åãåäœæãããŸãã
次ã«ããªããžã§ã¯ããäžå¿ïŒ0ã0ã0ïŒã®åšãã«å転ããããã®åŸãå転ãããããŒãžã§ã³ãç»é¢ã®å³äžé
ã«ç§»åããŸãã 倿ãé©çšããå®éã®ã·ãŒã±ã³ã¹ã¯éã®é åºã§èªã¿åãããããšãå¿ããªãã§ãã ãããã³ãŒãã§ããæåã«ã·ããããŠããå転ãããšã倿ã¯éã®é åºãæåãã¿ãŒã³ãã·ããã®é ã«é©çšãããŸãã ãããã®ãã¹ãŠã®å€æãšããããããªããžã§ã¯ãã«ã©ã®ããã«åœ±é¿ããããçè§£ããããšã¯ããªãå°é£ã§ãã 倿ã詊ããŠã¿ããšãããã«æ
£ããŸãã
ãã¹ãŠãæ£ããè¡ã£ãå Žåãæ¬¡ã®ããã«ãªããŸãã
以äžã§ãã æéã®çµéãšãšãã«å転ããã·ãããããã³ã³ãããŒãããã¯ãã¹ãŠãåäžã®å€æãããªãã¯ã¹ã§è¡ãããŸãã ããã§ãã°ã©ãã£ãã¯ã¹ã®äžçã§ãããªãã¯ã¹ãéåžžã«åŒ·ãçç±ã確èªã§ããŸãã 倿ãç¡å¶éã«å®çŸ©ãããããã1ã€ã®ãããªãã¯ã¹ã«çµåããŠãåŸã§åå©çšã§ããŸãã é ç¹ã·ã§ãŒããŒã§ãã®ãããªå€æã䜿çšãããšãããŒã¿ããããã¡ãŒã«éä¿¡ããå¿
èŠããªããããé ç¹ããŒã¿ã倿Žããªãã§ããã»ããµæéãç¯çŽã§ããŸãã
æ£ããçµæãåŸãããªãã£ãå ŽåããŸãã¯ã©ããã«è¡ãè©°ãŸã£ãŠããå Žåã¯ã é ç¹ã·ã§ãŒããŒãšãã©ã°ã¡ã³ãã·ã§ãŒããŒãšå
±ã«ãœãŒã¹ã³ãŒãã確èªããŠãã ããã
次ã®ã¬ãã¹ã³ã§ã¯ããããªãã¯ã¹ã䜿çšããŠé ç¹ã®ããŸããŸãªåº§æšç©ºéãå®çŸ©ããæ¹æ³ã«ã€ããŠèª¬æããŸãã ããã¯ããªã¢ã«ã¿ã€ã ã®3Dã°ã©ãã£ãã¯ã¹ã®äžçã«ãããæ°ããã¹ãããã§ãïŒ
æŒç¿
- æåŸã®å€æã§ã¢ã¯ã·ã§ã³ã®ã·ãŒã±ã³ã¹ã倿Žããäœãèµ·ããããèŠãŠãçµæããŸãã«ããã§ããçç±ãæ£åœåããããšããŸãã 解決ç
- glDrawElementsãåŒã³åºããŠå¥ã®ã³ã³ãããæç»ããŠã¿ãŠãã ããããã ãããã®ã³ã³ãããå¥ã®å Žæã«å¥ã®å€æã§é
眮ããŠãã ããã å³äžé
ã«é
眮ããå転ã§ã¯ãªãããµã€ãºã倿ŽããŸãïŒããã§ã¯sin颿°ã䜿çšã§ããŸãïŒã