テーマを決めた上で、以下の条件に従いジェネラティブアートを生成するプログラムを書きなさい。
- レンダラを
P3D
にして(size()
の第三引数をP3D
にする)三次元描画にすること - マウスやキーボードの入力を用いること
pushMatrix()
popMatrix()
を用いることtexture()
を用いることblend()
を用いること。その際に複数のブレンドモードを試して比較検討してみること- ランダム値やノイズ値を使うこと
using System; | |
using System.Collections.Generic; | |
delegate bool ConditionCheck (); | |
class CheckAndAction { | |
public ConditionCheck check { get; set; }; | |
public Action action { get; set; }; | |
} | |
caList = new List<CheckAndAction> (); |
テーマを決めた上で、以下の条件に従いジェネラティブアートを生成するプログラムを書きなさい。
P3D
にして(size()
の第三引数を P3D
にする)三次元描画にすることpushMatrix()
popMatrix()
を用いることtexture()
を用いることblend()
を用いること。その際に複数のブレンドモードを試して比較検討してみることProclife(https://github.com/satoyuichi/Proclife) の「天の声」を追加して Pull request(PR) を投げてみましょう。
具体的には proclife.js
の配列 ONE_POINT_ADVICES
に要素を追加してください。
PR の投げ方は N 予備校の「GitHub でソーシャルコーディング」(https://www.nnn.ed.nico/courses/668/chapters/9515) を参考にしてみましょう。
なお base ブランチを develop
ブランチとしてください。
レビュー結果に問題なければ取り込まれて(レビュー依頼は Slack に投げてください)、以下の URL から確認することができます。
// uniform vec3 iResolution; | |
// uniform float iTime; | |
// uniform float iTimeDelta; | |
// uniform float iFrame; | |
// uniform float iChannelTime[4]; | |
// uniform vec4 iMouse; | |
// uniform vec4 iDate; | |
// uniform float iSampleRate; | |
// uniform vec3 iChannelResolution[4]; | |
// uniform samplerXX iChanneli; |
#include <algorithm> // https://cpprefjp.github.io/reference/algorithm.html | |
#include <ios> // https://cpprefjp.github.io/reference/ios.html | |
#include <iostream> // https://cpprefjp.github.io/reference/iostream.html | |
#include <map> // https://cpprefjp.github.io/reference/map.html | |
#include <set> | |
#include <string> // https://cpprefjp.github.io/reference/string/basic_string/find.html | |
#include <vector> // https://cpprefjp.github.io/reference/vector/vector.html | |
#include <utility> // https://cpprefjp.github.io/reference/utility.html | |
#include <climits> |
以下の問題は情報科学の知識や考察が必要であったりと、 C 言語の問題を解くという以上の内容になり時間がかかるため、とりあえずスキップしても良いと思われる問題です。とはいえ、重要でないということではないので、じっくり取り組める時に挑戦すると良いでしょう。
次のテキストは平アルファベットを並べ替えた暗号アルファベットによって暗号化されています。元のテキストに復号してください。(必ずしもプログラミングを用いなくても良い)
dzj enagds pvgc pgtf cvyvaymye vye uzadf xgds cvyvagwya pvaff czdc. zd pvf pvzncyde yde bgacp dgsvp, jvfd cvf vye fdefe pvf pyrf zb ty'yanb, cvf azcf yde xgccfe pvf saznde ufbzaf vgt, cywgds: 'safyp xgds, bza y pvzncyde yde zdf dgsvpc g vylf uffd afizndpgds pz wzn pvf byurfc zb oycp ysfc yde pvf rfsfdec zb ydigfdp xgdsc. tyw g tyxf cz uzre yc pz iaylf y bylzna zb wzna tyqfcpw?'
fogrzsnf, pyrfc bazt pvf pvzncyde yde zdf dgsvpc
ヒント: 換字式暗号、頻度分析