はてなキーワード: DRAWとは
じゃあdraw.io使うわ
スマッシュブラザーズの新規キャラクター参戦が発表されるたびにYoutubeにリアクション動画が投稿されて話題になっていますね!
自分もそのての動画を見て楽しんでいたのですが、リドリー参戦を見た時に気になったことがありました。
あれ?日本語ではすべて「リドリー参戦!」といった具合に「~参戦!」で統一されているけど、英語版はそれぞれ違っていてバリエーションがあるのかな? …と
調べてもこれをまとめたのが見つからなかったので、まとめてみました。
キャラクター名(日本語) | キャラクター名(英語) | 参戦!の英語表記 | 語句 | 語句の意味意味 | 言葉遊び?要素(推測) |
---|---|---|---|---|---|
むらびと | Villager | Villager Comes to Town! | - | - | - |
ロックマン | Mega Man | Mega Man Joins the Battle! | - | - | - |
Wii Fit トレーナ | Wii Fit Trainer | Wii Fit Trainer Weighs In! | weigh in | 計量する、割って入る、仲裁に入る | 計量する→体重測定? |
ロゼッタ&チコ | Rosalina & Luma | Rosalina & Luma launch into battle! | launch into | 始める、門出する | Launch:(ロケットなどを)打ち上げる→ほうき星の天文台 |
リトルマック | Little Mac | Little Mac Punches In! | punch in | 打ち込む | ボクサー |
リザードン | Charizard | Charizard Fires it Up! | fire up | 火をつける、始動させる、駆り立てる | ほのおタイプポケモン |
ゲッコウガ | Greninja | Greninja Makes A Splash! | make a splash | 音を立てる、あっと言わせる、水しぶきを上げる | みずタイプポケモン |
パルテナ | Palutena | Palutena Alights! | alight | 降りる | (天から)降りる? |
パックマン | Pac-Man | Pac-Man Hungers for Battle! | hunger for | 切望する | Hunger←ゲーム性から |
ルキナ | Lucina | Lucina Wakes Her Blade?! | - | - | ファイアーエンブレム 覚醒(Awakening)とかけてる? |
ルフレ | Robin | Robin Brings the Thunder! | - | - | サンダーソードという武器を使う |
シュルク | Shulk | Shulk Foresees a Fight! | foresee | 見越す、予見する | 未来視という能力がある |
クッパJr. | Bowser Jr. | Bowser Jr. Clowns the Competition! | clown | ふざける | いたずら |
ダックハント | Duck Hunt | Duck Hunt Takes Aim! | take aim | 狙いを定める | カモを狙い撃つゲーム性から |
ミュウツー | Mewtwo | Mewtwo Strikes Back! | strike back | 殴り返す、反撃する | ミュウツーの逆襲 |
リュカ | Lucas | Lucas Comes Out of Nowhere! | come out of nowhere | 突然やってくる | リュカはノーウェア(Nowhere)島に住んでいる |
ロイ | Roy | Roy Seals the Deal! | seal the deal | 契約を結ぶ、取引を固める | ロイは封印(seal)の剣の主人公 |
リュウ | Ryu | Here Comes A New Challenger! Ryu | - | - | ストリートファイターの乱入時のメッセージ |
クラウド | Cloud | Cloud Storms into Battle! | storm into | 押し入る、突入する | Storm Clouds(凶兆、悪いことが起こる前兆) |
カムイ | Corrin | Corrin Chooses to Smash! | choose to do | 決める | ファイアーエンブレムifの「運命の分岐点」で選択肢を選ぶから |
ベヨネッタ | Bayonetta | Bayonetta Gets Wicked! | - | - | - |
リドリー | Ridley | Ridley Hits the Big Time! | hit the big time | 成功する、一流になる、大当たりする | Ridley is too big.というネットミーム |
シモン | Simon | Simon Lashes Out! | lash out | 暴力で攻撃する、食って掛かる | Lash(ムチ)→メインウェポンがムチ |
リヒター | Richter | Richter Crosses Over! | cross over | クロスオーバーする、枠を超える | Cross→横必殺技がクロス(十字架のブーメラン) |
クロム | Chrom | Chrom Joins the Battle! | - | - | - |
ダークサムス | Dark Samus | Dark Samus Joins the Battle! | - | - | - |
キングクルール | King K. Rool | King K. Rool Comes Aboard! | come aboard | (船に)乗り込む、参加する | 船に乗り込む→キャプテン |
しずえ | Isabelle | Isabelle Turns Over A New Leaf! | turn over a new leaf | 改心する、心機一転する | 「とびだせ どうぶつの森」の英語タイトルが「Animal Crossing: New Leaf」 |
ケン | Ken | Ken Turns Up the Heat! | turn up the heat | 温度をあげる、強火にする、勢いを増す | ケンはリュウと違い、昇龍拳で火を噴く |
ガオガエン | Incineroar | Incineroar Enters the Ring! | enter the ring | リングに入る | プロレス技を使うキャラクターなので |
パックンフラワー | Piranha Plant | Piranha Plant Pipes Up! | pipe up | しゃべり(歌い)始める、甲高い声で話す、汲み上げる | 土管 |
バンジョー&カズーイ | Banjo-Kazooie | Banjo-Kazooie are Raring to Go! | raring to go | 今か今かと待ち切れない、~したくてしかたがない | 開発元がRare社 |
勇者 | Hero | The Hero Draws Near! | draw near | そこに向かって動く |
備考)ベヨネッタの「Get Wicked」は調べてもヒットせず、いまいちわかりませんでした。Wickedは「邪悪な、いたずらな」という意味
こうしてみるとキャラの特徴をとらえた言葉選びがあって面白いですね!
調べてたら発見した関連ページ
http://smashbrossp.net/archives/8777
https://smashbrosmatome.work/2018/09/17/post-3706/
追記)
遊んだことない元ネタのゲームが多く言葉遊び要素が分からなくて探すのに苦労しました。コメントでご指摘いただいた部分は修正してます。
Although what causes pedophilia is not yet known, researchers began reporting a series of findings linking pedophilia with brain structure and function, beginning in 2002. Testing individuals from a variety of referral sources inside and outside the criminal justice system as well as controls, these studies found associations between pedophilia and lower IQs,[48][49][50] poorer scores on memory tests,[49] greater rates of non-right-handedness,[48][49][51][52] greater rates of school grade failure over and above the IQ differences,[53] lesser physical height,[54][55] greater probability of having suffered childhood head injuries resulting in unconsciousness,[56][57] and several differences in MRI-detected brain structures.[58][59][60]
Such studies suggest that there are one or more neurological characteristics present at birth that cause or increase the likelihood of being pedophilic. Some studies have found that pedophiles are less cognitively impaired than non-pedophilic child molesters.[61] A 2011 study reported that pedophilic child molesters had deficits in response inhibition, but no deficits in memory or cognitive flexibility.[62] Evidence of familial transmittability "suggests, but does not prove that genetic factors are responsible" for the development of pedophilia.[63] A 2015 study indicated that pedophilic offenders have a normal IQ.[64]
Another study, using structural MRI, indicated that male pedophiles have a lower volume of white matter than a control group.[58] Functional magnetic resonance imaging (fMRI) has indicated that child molesters diagnosed with pedophilia have reduced activation of the hypothalamus as compared with non-pedophilic persons when viewing sexually arousing pictures of adults.[65] A 2008 functional neuroimaging study notes that central processing of sexual stimuli in heterosexual "paedophile forensic inpatients" may be altered by a disturbance in the prefrontal networks, which "may be associated with stimulus-controlled behaviours, such as sexual compulsive behaviours". The findings may also suggest "a dysfunction at the cognitive stage of sexual arousal processing".[66]
Blanchard, Cantor, and Robichaud (2006) reviewed the research that attempted to identify hormonal aspects of pedophiles.[67] They concluded that there is some evidence that pedophilic men have less testosterone than controls, but that the research is of poor quality and that it is difficult to draw any firm conclusion from it.
While not causes of pedophilia themselves, childhood abuse by adults or comorbid psychiatric illnesses—such as personality disorders and substance abuse—are risk factors for acting on pedophilic urges.[6] Blanchard, Cantor, and Robichaud addressed comorbid psychiatric illnesses that, "The theoretical implications are not so clear. Do particular genes or noxious factors in the prenatal environment predispose a male to develop both affective disorders and pedophilia, or do the frustration, danger, and isolation engendered by unacceptable sexual desires—or their occasional furtive satisfaction—lead to anxiety and despair?"[67] They indicated that, because they previously found mothers of pedophiles to be more likely to have undergone psychiatric treatment,[56] the genetic possibility is more likely.
A study analyzing the sexual fantasies of 200 heterosexual men by using the Wilson Sex Fantasy Questionnaire exam determined that males with a pronounced degree of paraphilic interest (including pedophilia) had a greater number of older brothers, a high 2D:4D digit ratio (which would indicate low prenatal androgen exposure), and an elevated probability of being left-handed, suggesting that disturbed hemispheric brain lateralization may play a role in deviant attractions.[68]
事あるごとにだんまりするパソコンを使い続けている人って本当にすごい。
USB接続はセキュリティ的にどうのこうのって言うけど、多少手間が掛かっても好きなの使わせてよ。買ってくれとはいわないから。
自分は最低でも3つは欲しい。こういう仕事してればウィンドウだらけになるじゃん。
机が広いってだけで効率と気分が良くなる気がする。というかディスプレイが置けない。
後ろを誰かが通るとき、逐一すみませんって通路を開けなくちゃいけないのつらい。
腰がつらい。
アクティベートしないまま使わせるのは百歩譲るとしても、ヤフオクとか怪しいところからマイクロソフトやアドビのライセンス仕入れて使わせるのってどうなんだ。
そういう思考回路の人間は、バレないからとか、まわりもやってるとかいう免罪符を盾に、法律や倫理も破っていいとか考えていそう。特に労働基準法的なやつ。
JetBrainsのIDEを使うのに骨折って交渉するところからはじめたくない。
めんどい。上掲した項目を実現するのに、対費用効果がどうのこうの・・・って。誰が得するんだよ。
ベンダーの資格とか高いけどさ、業務に関係するのなら、資格手当が出ないのなら、せめて合格したときは受験料払ってよ。
一般的な感覚で会社負担の費用を個人負担にさせるような会社は嫌い。好きになれない。
高い意識を持って働いてほしいだとか、会社を好きになってほしいとか、そういうこと全く思っていないのだろうか。
あるいはそれが労働者として当然のことで、自然にそうなるとでも思っているのだろうか。
少なくとも自分は苛立ってると普段より頭の回りがそれなりに悪くなる。
残業だってそう、連日遅くまで残って仕事して、それで効率よく質の良いものを作れるとは到底思えない。
240万にも満たない年収で雇ってるんだから、ちゃんとその程度のゴミを雇ってるって自覚持ってほしい。
お金を貰ってるんだからとか、社会人なんだからとか、そんなん言われただけでやる気になるわけねーだろ。むしろやる気なくなる。
この年収の自分が幾らか熱意を持って仕事したり勉強するのは、あくまで自分の個人的な興味や矜恃の問題だから。
というか発注する客側もそう。然るべき時間と費用があってこその質なのだから、短い時間と割安な費用で納品されるのはゴミだと自覚してほしい。
短い時間と割安な費用でも、企業として質の高い製品を納品するのが当然だと思っているのだろうか。まあゴミが納品されるんですけどね。
そういう会社は等しく今すぐ潰れろ
ほどほどが良い。Slackみたいなコミュニケーションツールがあって、気軽に話せるけど、物理的には近すぎないのがいい。
壁を自由に使えると手軽で良いな。
複雑なものをある側面から、誤解なく簡素に表せる、素晴らしい言語なのになぜ使わないのか。
draw.ioみたいな便利なのがあるのに、Excel方眼紙でアクティビティ図に似て非なる謎の図を書き続けるのはなぜなのか。
画面を動かしてみて、できました、このテストおわりです、それで済ませて質が高くなるわけないだろ。
そもそもjenkinsとかcircle ciとか誰も知らない。seleniumとか聞いたこともない。
前もって仕様が確定することなんてどうせないじゃん。いつまでたっても客側にいいように言われて、しっちゃかめっちゃかされるんでしょ。
なら保守されないExcel方眼紙を量産したって仕方がないじゃん。せめてじゃあその辺は最低限にして動くものを作ろうよ。
だからってアジャイルにしようとは絶対にならないだろうけど。。。そういう参加を客側と交渉すること自体ありえないって思ってそうだし。
でもさあ、とりあえず動くものを早い段階から見てもらうくらい良いじゃん。どうせこそこそやると後になって見たいって言われて叩かれるんだから。
話の論点がズレて、何を話したかったのか、何を聞きたかったのかわからなくなる。そして後から言った言わないになる。
あらかじめ資料を用意しとくなり、どこか広いところに書きながら話そうよ。で、できれば書いた人がデータとしてどこかに投げてほしい。そして消しておいてほしい。
訳のわからない造語を使い出したり、意味を分かってないのにその言葉を不用意に使うの止めてほしい。
きっとそういう人って、まずその言葉の意味を理解しようという意志が致命的に欠けているから、会話していて不毛感が凄い。
短い文章で齟齬なく十全な文章を書けることは確かに素晴らしいことだけど、だいたいそんなことは出来ない。
だから多少冗長であるように思えても、細かすぎるように思えても、長く書いてほしい。
つーか、毎度毎度短い謎の書き残しがあって、それの話を聞きに行くのつらいんだよ。わかってくれ。絶対わかってくれないけど。
読んで意味のわからないことって、読んだつもりにだけなってしまって、後で指摘されると読む側が一方的に悪いことにされたりするのつらい。
正直自分の気づかないところなら好きなだけ寝ていてもいいけど、まあ気づくし。
眠い頭でこういう仕事なんて効率よくできるわけないのに。つまり目障り。
先ごろスクウェア・エニックスからリリースされたサーヴァント・オブ・スローンズ(以下サヴァスロ)があまりにも酷いのでヘイトの吐き出し場所としてここに記す。このゲームはいわゆるクローンゲーというやつで、Supercellのクラッシュ・ロワイヤル(以下クラロワ)をベースにしているのだが、後発にもかかわらずあらゆる所が劣化していてクラロワユーザーとしては憤懣やるかたない仕上がりになってしまっている。
特にデッキ編成画面の乱雑っぷりといったらまさに地獄。編成方法もクラロワとまるっきり同じなのにユニットの並べ替え機能はついてなくて劣化感丸出し。特定のキャラクター専用ユニット表示もユニットの絵に常にフェードインアウトしているため非常に邪魔。あの画面にGO出したアートディレクターは降格してほしい。またゲーム中では「ソウル」「アルカナ」「エーテル」「ゴールド」「サヴァスロポイント」などの単位が乱立しているにも関わらず個別の説明はなく、アルカナなどは今の所持数も表示されないため何もかもが煩雑。
クラロワの優れているところは対戦スキームだけに留まらず、対戦準備画面を起点に、すべての機能にロードなしでスワイプ遷移できる極めて合理的なUI設計にあった。にも関わらずサヴァスロはそこは踏襲せずいわゆる和製ゲームアプリの文法で機能の配置を行ったため、本来のスムーズな遷移は失われ、どこに移動するにもロード、ロード、ロード…。スクエニには二度とUXという単語を使ってほしくない。
クラロワのバトル画面までのステップは
と5遷移もあり、圧倒的テンポの悪さを誇っている。VS表示画面はおそらく仕様書にシャドウバースの対戦前画面のスクショでも貼ってあったと思しきレイアウトだが、解像度足りてないのに無理矢理拡大された小汚い「VS」の文字と安っぽい稲妻エフェクトのせいで本当に気分が萎える仕上がり。そもそもあの画面いる?おまけにバトル冒頭ではモーション・セリフが1パターンしかないリーダーキャラのカットシーンをバトル前後で毎回見せられ、スキップもできない有様。ホントにクラロワ研究したの?
そもそもリリース直後だからか、通信エラーで対戦画面に行くことすらできなかったり、ショップ画面に遷移するとエラーでタイトルに戻されたり、クラロワに比べるとこのゲームには快適さという概念は1ミリたりとも無い。
では肝心のバトルスキームがクラロワに比肩しているかといえばそういうこともない。ここでも際立つのはUIの悪さだ。手札をタップすると表示されるユニット情報パネルはデカデカとゲーム領域を隠すため、左側のタワーの状況がわからなくなる。また、フィールドに出たユニットをタップすると攻撃範囲が表示されるという本家にはない機能があるが、これがユニットを設置する際の攻撃範囲表示とまったく同じのため、ユニットの設置ミスが頻発する。
クラロワはゲーム中のバフ・デバフ表現を文字に頼らず配色とエフェクトだけでうまくデザインしていたにも関わらず、サヴァスロは「ATK」とか「SPD」とかの文字がうじゃうじゃと沸き、戦況把握を妨げまくる。ラヴァハウンドみたいなユニットが弾けたあとの表示はiPhoneでは文字が潰れていて認識できないレベルだった。
ユニットも似たような造形のものが多く、ベビードラゴンみたいなやつとインフェルノドラゴンみたいなやつや、ゴブリンと槍ゴブリンみたいなやつなどは攻撃されるまで判別は難しい。ユニットのモデルも解像度の問題なのか全体的に小汚いし、キングタワー的な砦が攻撃されるとハリボテみたいなリアクションとるのもチープだし、ルックとしてクラロワに勝っているところは今のところ一つもない。だいたい「ブラウニー」と「槍ブラウニー」とか、「スケルトン軍団」とかなんでわざわざクラロワの日本語ローカライズされた名前に寄せてんだよ!もっと槍兵とか骸骨とかいくらでも避けようあっただろ!
クラロワはフレーバーテキストひとつとっても、特性の説明だけでなくユニットの個性に応じたユーモアが散りばめられている。
一方サヴァスロはどこかで見たようなテンプレ文言のオンパレード。それだけならまだしも、国産なのにところどこど日本語がおかしい所まであるのが腹立たしい。
例)
→「転んでもただでは起きない」って言いたかったのかな?
他にもバトル画面中のスタンプ文言も丸パクリなのになぜか「グッドゲーム」はないとか、DRAW用のリアクションがなくて引き分けなのに毎回負けモーションを見せられて萎えたりとか、別端末でプレイする際は毎回引き継ぎの操作を求められる超前時代的設計とか、このゲームにユーザー満足度というものは存在しないのだと思う。
いろいろ書いたが、とにかく後発で丸パクリなのに新しいゲームスキームを切り拓いたクラロワへのリスペクトが一切感じられないのが本当に頭にくるし、残念だ。LoVのリソース流用して人気のスキームなぞれば売れるやろ的な浅はかな企画意図と、ただそれに従うだけでオリジナリティを一切発揮しようとしない開発側の思考停止が透けて見えるようで悲しくなる。愚直に本家をトレースして同レベルのところまで磨きあげ、そこからアイデアを足せばよかったではないか。せっかくこんな面白いゲームをお手本にしているのだから。
最近の例でいえば、中国が作ったアズールレーンは艦これのコンセプトを踏襲しつつ、「顧客が本当に欲しかったもの」みたいな仕上がりを実現した。後発だったらあれくらいやって然るべきだ。日本企業がやっていることといえば、フィンランドの生んだあの美しいゲームに特許でイチャモンつけたり(グリーの敗訴を心から願う)、劣化コピーを作ったりするばかり…そりゃ後進国って言われるよ…。
クラロワのファンであるがゆえに殊更クソに映るサヴァスロだが、ユニットやフィールドの特性に丸パクリでない部分もわずかにはあるし、ブラウニーとかママリリちゃんとか、かわいいユニットがいるという極めて少ないアドバンテージもあるので、ぜひ奮起して「面白いゲーム」になるか今すぐサービス終了してください。
殴らずに教えられる先生 vs 殴られずとも学ぶ生徒 → 望ましい
殴らないと教えられない先生 vs 殴られないと学ばない生徒 → 本当は望ましくないが一応Win-Win
殴らないと教えられない先生 vs 殴られずとも学ぶ生徒 → 生徒Lose,問題
殴らずに教えられる先生 vs 殴られないと学ばない生徒 → Draw,先生・生徒の力量により勝ったり負けたり.先生が負けると悲惨
環境や遺伝により格差があるため,一定量の割合で各層にこの4タイプは存在すると思う.
問題はミスマッチが発生した場合にどうするかで,強い立場の方を頑張って教育するか,弱い立場の方を逃がすか,あるいは両方か.
私自身としては,暴力による解決は望ましくないし,なくしていくべきだが,すべての生徒に対し交流と対話のみで問題を解決できるかといわれると難しいと思う.
しかしこういうのってケースバイケースで一律に対応するのは難しいし,生徒達もどんな結果にせよ数年で去ってしまうし,教育って難しいなーと思う.
英語の不規則動詞はおおまかに,過去分詞がtかdで終わるもの(以下dtタイプ)とnで終わるもの(以下nタイプ)に分けられる。ほとんどのdtタイプの動詞は過去形と過去分詞形が同じ形で,A-B-B(一部はA-A-A)のように変化する。また,原形の末尾がdかtの不規則動詞はほとんどがdtタイプに属する。(例外:eat,get,bid等)一方,ほとんどのnタイプの不規則動詞は原形,過去形,過去分詞形がすべて異なり,A-B-Cのように変化する。
原形から過去・過去分詞形になるときに起こる変化は基本的に母音が変化するか末尾にdtnが加わるかの2種類,あるいはその両方で,原形にあった子音がなくなることは原則としてない。(例外:-ught型,went,had,made)
分類は以下の通り
become,forgetなど末尾にほかの不規則動詞を含むものは省いた。
表中の*は規則変化もし得ることを,#は他の不規則変化もし得ることを,!は意味によって変化が異なる単語であることを示す。
すべてdかtで終わる。特に末尾tで短母音のものが多い。get,sitが含まれないことに注意。形が1種類で覚えやすいが,英文中の「have put」「is put」等を見てもビビらない心構えが必要。
bet * | bust * | cast | cost | cut |
hit | knit! | let | put | quit * |
set | shit *# | shut | sweat * | thrust |
wet* | burst * | hurt | beat # | bid # |
clad | glid * | rid* | shed | spread |
wed* |
原形がdで終わる動詞が母音を変化させて過去形・過去分詞形になる型。最後のplead,readは発音のみ変化する。
breed | bred |
feed | fed |
lead | led |
plead *# | pled |
speed ! | sped |
tread # | trod |
bind | bound |
find | found |
grind | ground |
wind | wound |
chide *# | chid |
slide # | slid |
hold | held |
stand | stood |
abide * | abode |
plead *# | plead |
read | read |
原形の末尾のdがtに置き換わり,それ以外は綴りも発音も変わらない。endで終わる動詞が多いが,end自体は規則動詞。原形のほうが過去形っぽく見えたりするので注意が必要。逆パターン(At-Ad-Ad)は存在しない。
bend | bent |
lend | lent |
rend | rent |
send | sent |
spend | spent |
build | built |
geld * | gelt |
gird * | girt |
【Ad-Bd-Bd】の末尾tバージョン。get,sitはこちらに含まれる。
fight | fought |
light * | lit |
meet | met |
shoot | shot |
get # | got |
shit *# | shat |
sit | sat |
末尾にdが加わるという点で規則動詞に近いが,付き方が特殊で母音も変化する。
lay | laid |
pay | paid |
say | said |
sell | sold |
tell | told |
hear | heard |
flee | fled |
shoe * | shod |
baa * | baa'd |
make | made |
have | had |
末尾にtが加わる。原形の/iː/が/e/に変化するものが多い。
feel | felt |
keep | kept |
sleep | slept |
weep | wept |
creep | crept |
kneel * | knelt |
sweep | swept |
leave | left |
bereave ! | bereft |
cleave *# | cleft |
deal | dealt |
mean | meant |
dream * | dreamt |
lean * | leant |
leap * | leapt |
lose | lost |
spoil * | spoilt |
burn * | burnt |
learn * | learnt |
dwell | dwelt |
smell * | smelt |
spell * | spelt |
spill * | spilt |
drip * | dript |
grip * | gript |
wrap * | wrapt |
pen * | pent |
末尾が-oughtか-aughtに変化する。どちらも発音は/ɔːt/。wentを除けばもっとも原型をとどめない変化が起こるので過去形から原形を思い出せるようにしておく必要がある。
beseech * | besought |
bring | brought |
buy | bought |
overwork * | overwrought |
seek | sought |
think | thought |
catch | caught |
teach | taught |
過去分詞形が原形+nとなるもの。過去形では母音が変化している。fall,eatにはenが,do,goにはneが付くことに注意。
blow | blew | blown |
grow | grew | grown |
know | knew | known |
throw | threw | thrown |
draw | drew | drawn |
shake | shook | shaken |
take | took | taken |
drive | drove | driven |
rise | rose | risen |
strive | strove | striven |
thrive * | throve | thriven |
see | saw | seen |
give | gave | given |
eat | ate | eaten |
fall | fell | fallen |
do | did | done |
go | went | gone |
【A-B-An】の亜種で,showに代表される過去形が規則変化(-ed)になっているもの。
grave * | graved | graven |
hew * | hewed | hewn |
mow * | mowed | mown |
prove * | proved | proven |
saw * | sawed | sawn |
sew * | sewed | sewn |
shave * | shaved | shaven |
show * | showed | shown |
sow * | sowed | sown |
strew * | strewed | strewn |
過去分詞形が過去形+nとなるもの。eが脱落するtear-tore-tornのパターンに注意。wakeはtake,makeと異なり,この型に属する。
break | broke | broken |
cleave *# | clove | cloven |
freeze | froze | frozen |
speak | spoke | spoken |
steal | stole | stolen |
weave ! | wove | woven |
shrink # | shrunk | shrunken |
wake | woke | woken |
bear ! | bore | born |
swear | swore | sworn |
tear | tore | torn |
wear | wore | worn |
bear ! | bore | borne |
原型にd,tを含み,過去分詞形でそれが重なるもの。get以外は【A-B-An】に近いがgetは【A-B-Bn】に近い。
smite # | smote | smitten |
ride | rode | ridden |
write | wrote | written |
bite | bit | bitten |
chide *# | chid | chidden |
hide | hid | hidden |
slide | slid | slidden |
bid # | bade | bidden |
forbid # | forbade | forbidden |
forbid # | forbad | forbidden |
get # | got | gotten |
過去分詞形にnが付くが,【A-B-An】でも【A-B-Bn】でもないもの。
fly | flew | flown |
lie | lay | lain |
slay | slew | slain |
shear * | sheared | shorn |
swell * | swelled | swollen |
tread # | treaded | trodden |
原型にiを含み,それがi-a-uと変化していくもの。わかりやすい変化だが数は少ない。
begin | began | begun |
drink | drank | drunk |
ring | rang | rung |
shrink # | shrank | shrunk |
sing | sang | sung |
sink | sank | sunk |
spring # | sprang | sprung |
stink # | stank | stunk |
swim | swam | swum |
dt型でないが,A-B-CではなくA-B-Bと変化するもの。末尾が-ingのものが多いが,bringやring,singが含まれないことに注意。
cling | clung |
fling | flung |
sling | slung |
slink | slunk |
spling # | splung |
sting | stung |
stink | stunk |
string | strung |
swing | swung |
wring | wrung |
hang ! | hung |
dig | dug |
stick | stuck |
strike | struck |
heave ! | hove |
reeve * | rove |
stave * | stove |
shine ! | shone |
win | won |
dive * | dove | dived |
smite # | smote | smit |
beat # | beat | beaten |
come | came | come |
run | ran | run |
そうやってレッテル貼っておけば散々言い負かされてきたのがチャラになると思っているなら1人でそう思っていればいいんじゃないかな?
Relatives and friends of the 150 passengers and crew on Germanwings Flight 4U 9525 are due to go to the crash site high in the French Alps.
Lufthansa will operate two special flights - one from Barcelona and one from Duesseldorf - to Marseille, and both groups will travel on by road.
Reports say one of the two pilots on the doomed flight had left the cockpit and had been unable to get back in just before the crash on Tuesday.
There were no survivors, officials say.
They say the Airbus 320 from Barcelona to Duesseldorf hit a mountain after a rapid eight-minute descent.
Germanwings chief Thomas Winkelmann said 72 passengers were German citizens, including 16 pupils returning from an exchange trip.
Spain's government said 51 of the dead were Spanish.
Other victims were from Australia, Argentina, Britain, Iran, Venezuela, the US, the Netherlands, Colombia, Mexico, Japan, Denmark and Israel.
Germanwings is a low-cost airline owned by Germany's main carrier Lufthansa.
Cockpit mystery
Families and friends of the victims are expected to arrive at the crash site at Meolans-Revels later on Thursday.
Separately, a bus carrying 14 relatives of Spanish victims left Barcelona on Wednesday for the crash area, because they did not want to fly.
In France, special teams have been prepared to assist the families during their visit.
On Wednesday, French officials said usable data had been extracted from the cockpit voice recorder of the Germanwings plane.
Remi Jouty, the director of the French aviation investigative agency, said there were sounds and voices on the cockpit voice recorder but that it was too early to draw any conclusions.
He said he hoped investigators would have the "first rough ideas in a matter of days" but that the full analysis could take weeks or even months.
But the New York Times quoted an unnamed investigator as saying that one of the pilots had left the cockpit and had been unable to get back in.
"You can hear he is trying to smash the door down," the investigator adds, describing audio from the recorder.
A source close to the investigation told a similar story to the AFP news agency.
There had been earlier reports that the second black box - the flight data recorder - had been found. But Mr Jouty said this was not the case.
'Flying to the end'
Mr Jouty said the plane's last communication was a routine one with air traffic control.
The plane confirmed instructions to continue on its planned flight path but then began its descent a minute later.
Mr Jouty said controllers observed the plane beginning to descend and tried to get back in contact with the pilots but without success.
He ruled out an explosion, saying: "The plane was flying right to the end."
こいつで電子国土とか空中写真とかで遊ぼうと思って先人の知恵を借りつつ一所懸命やってみたけど
Traceback (most recent call last):
File "C:\Users\****/.qgis2/python/plugins\openlayers_plugin\openlayers_layer.py", line 109, in draw
self.render(rendererContext)
File "C:\Users\****i/.qgis2/python/plugins\openlayers_plugin\openlayers_layer.py", line 158, in render
for res in self.resolutions():
TypeError: 'NoneType' object is not iterable
って動かない。他のも試したけどダメ。
Nuclear attraction: England fans flock to Chernobyl
It is the site of the world’s worst nuclear disaster but Chernobyl is proving an unlikely tourist draw for hundreds of England football supporters attending the European championships.
Metro紙の威力すげえ。
この1~2日の間に欧州中のニュースメディアに「初音ミク」の話が広まってやがる。
・火をつけたMetro紙の記事
Hatsune Miku is pop's biggest draw as Japanese 3D cartoon stage sensation | Metro.co.uk
This Rocking Lead Singer is a 3D Hologram (video) | Singularity Hub
The Virtual Pop Star Hatsune Miku | VizWorld.com
Hatsune Miku is a 21st Century Rockstar | Hybrid Reality | Big Think
BBC Mundo - Noticias - Hatsune Miku: el holograma japonés estrella de la música
http://www.bbc.co.uk/mundo/noticias/2010/10/101022_hatsune_miku_holograma_musica_3d_amab.shtml
Hatsune Miku : une idole pas comme les autres
Les concerts de Miku Hatsune, chanteuse virtuelle, rameutent les foules | 24 heures
HATSUNE MIKU - Japans nye megastjerne er et hologram - Side3
・ポーランド語
スペックは
28才 リーマン。
月2回程度ラウンド。
左にばっかり出るのでどうにかしたい。
つるやの兄ちゃんはどうやらバーナーTPのランバックスシャフトを
売りつけたいらしいが、こちとら賢い消費者そうは簡単いかねー。
安くしときますよーという言葉を聞きつつ、HSだけ調べて華麗に帰宅。
ゲージでの測定結果、ドライバーのHSが43km/hであることが判明。
以下聞きたい点
・アイアンは合っているのか?
rac LT(2代目) NS950S はこのヘッドスピードにおいて適正なのか?
たぶん右手でこねているので、これでも左に出てるのだけれど…
・ドライバーはどうするか…
バーナーTPの測定結果は右に出まくり。
10回に1回程度まっすぐ出ていた。
回転数は2500回転程度ぐらい。
http://d.hatena.ne.jp/sho_ta/20090216/1234786976 の"unique divinity of the individual"に着想を得ました。
英文の引用は http://www.jpost.com/servlet/Satellite?cid=1233304788868&pagename=JPost%2FJPArticle%2FShowFull
和訳の引用は http://anond.hatelabo.jp/20090217011603
上段:村上氏の発言(訳されたもの)
下段:アルベール・カミュ作「ペスト(新潮文庫、第67刷、2006年刊)」
固く高い壁があり、卵が壁に打ち壊されるなら、壁がどんなに正しく卵がどんなに誤っていても私は卵の側に立ちます。
If there is a hard, high wall
and an egg that breaks against it,
no matter how right the wall or how wrong the egg,
I will stand on the side of the egg.
「この地上には天災と犠牲者というものがあるということ、そうして、できうるかぎり天災に与することを拒否しなければならぬということだ」 (P377)
「あの大物のペスト患者たち~略~もまたその場合の立派な理由があるわけだし、もし僕が小物のペスト患者たちのもちだす不可抗力という理由と、必要性ということを容認するとしたら、大物どものそれも否認することができなくなる」 (P373, 374)
「僕はこう考えた。 ~略~ このいまわしい虐殺にそれこそたった一つの ~略~ 根拠でも与えるようなことは絶対に拒否しようと」 (P374)
どうしてなのか?私たちそれぞれは卵であり、壊れやすい卵にくるまれた唯一無二の存在だからです。私たちそれぞれは高い壁を前にしています。高い壁とはシステムです。それは通常では個人として受け入れがたいものを私たちに強います。
Why? Because each of us is an egg, a unique soul enclosed in a fragile egg.
Each of us is confronting a high wall.
The high wall is the system which forces us to do the things
we would not ordinarily see fit to do as individuals.
「僕の問題というのは、つまりあの胸にあいた穴だったのだ」 (P374)
「われわれはみんなペストの中にいるのだ」 (P375)
私が小説を書く理由はただ一つです。すなわち個人が持つ唯一無二の神聖さを描く事です。唯一無二なるものを満足させる事です。システムが私たちをめちゃくちゃにするのを防ぐ事です。だから私は生と愛について物語を書きます。人々を笑わせ、泣かせます。
I have only one purpose in writing novels,
that is to draw out the unique divinity of the individual.
To gratify uniqueness.
To keep the system from tangling us.
So - I write stories of life, love.
Make people laugh and cry.
「これはあなたのような人には理解できることではないかと思うのですがね、~略~ おそらく神にとって、人々が自分を信じてくれないほうがいいかもしれないんです。そうしてあらんかぎりの力で死と戦ったほうがいいんです、神が黙している天上の世界に目を向けたりしないで」 (P188)
私たちは皆人間であり、個人であり、壊れやすい卵です。壁を前にして、望みは失われます。高く、暗く、冷たすぎるのです。暖かみと力のために、私たちの存在を一つにして壁と戦わなくてはなりません。システムが私たちをコントロールするのを許してはいけません。私たちが何者であるか、決めさせてはいけません。システムを作り上げたのはは私たちですから。
We are all human beings, individuals, fragile eggs.
We have no hope against the wall:
it's too high, too dark, too cold.
To fight the wall, we must join our souls together for warmth, strength.
We must not let the system control us - create who we are.
It is we who created the system.
「このペストがあなたにとって果たしてどういうものになるか」「際限なく続く敗北です」 (P188)
「そして心の平和に到達するためにとるべき道について~略~何かはっきりした考えはあるか、と尋ねた。『あるね。共感ということだ』」 (P379)
「われわれは一緒に働いているんです。冒涜や祈祷を超えてわれわれを結びつける何者かのために。それだけが重要な点です」 (P373)
イスラエルの皆さん、私の本を読んでくれて感謝します。意義ある何かを共有できればと願う次第です。あなたが私がここにいる最大の理由なのです。
I am grateful to you, Israelis, for reading my books.
I hope we are sharing something meaningful.
You are the biggest reason why I am here.
「神さえも、今ではわれわれを引き離す事はできないんです」 (P324)
発祥: http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/
Scheme という Lisp 語族の言語を用いて ℃-ute の相関関係をプログラムし、様々な角度から関係性を分析する手法を紹介していきます(ソースコードは最後に張ります)。
まずは、メンバー間の関係を「リスト」というデータ型で表現します。例えば「栞菜->愛理」という関係は
(kanna . airi)
という形で表すことができます。これに、「大好き」という情報を付加し、ついでにその関係の性質を数値化したものを加えると
((kanna . airi) (desc "大好き") (score . 1))
のようになり、関係図における一つの矢印の情報をデータ化できたことになります(暫定的に、好意は 1、良好・中立は 0、険悪は -1 の3段階で表すことにします)。
メンバー間の全ての関係性をこのデータ単位で定義し、データベース化しておくことで、色んな条件に基づいた検索やスコア計算などが可能となります。
ここで相関関係図における矢印を「リンク」と呼ぶことにして、あるメンバーから他のメンバーへどのようにリンクし、またリンクされているかを調べることができます。
(sort-nodes (number-list (from-links)))
結果:
((kanna . 6) (saki . 5) (maimi . 4) (erika . 3) (mai . 3) (chisato . 3) (airi . 2))
栞菜ちゃんがメンバー全員にリンクを張っていることが分かり、℃-ute ラブっぷりが伺えます。なっきーにも同様の事が言えます。例の「女の子が好き」発言を数値的に裏付ける結果と言えるかもしれません。
ただ、データ不足でリンク件数がまだ少ないのと、リンクの性質(好意/反感など)までは分からない点を考慮する必要があるでしょう。
同様に、リンクの終点の件数を調べてみます。
(sort-nodes (number-list (to-links)))
((chisato . 5) (erika . 5) (kanna . 4) (maimi . 4) (airi . 4) (mai . 3) (saki . 1))
えりかちゃんと千聖ちゃんが高ポイントです。メンバーからの人気や注目度の高さを示すデータですが、千聖ちゃんの場合敵対的なリンクが2件含まれている点に注意してください。
なっきーの被リンク数が極端に少ないですが、単純にデータ不足のためだと思われます。はぶら(ryとか言わないようにお願いします。
リンクに付随するスコアを計算することで、愛情の度合いを測ることができるのではないか、という考えに基づく研究です。
まず、全ての関係性を対象として、スコアがマイナスの関係を抽出してみます。
(filter-nodes (lambda (n) (< (score-relation n) 0)))
結果:
(((kanna . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1)) ((saki . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1)))
件数だけを得ると
(length (filter-nodes (lambda (n) (< (score-relation n) 0))))
2
僅か2件です。
良好・中立的な関係は
(length (filter-nodes (lambda (n) (= (score-relation n) 0))))
8
愛に満ちた関係は
(length (filter-nodes (lambda (n) (> (score-relation n) 0))))
16
非常に多いです。舞美ちゃんの「℃-ute同士でラブラブなんですよ」発言(例のラジオ)を数値的に裏付ける結果と言えるんじゃないでしょうか。
次に、メンバーごとのスコアを算出してみます。Lisp 的には以下のようにフィルタリングと畳み込み (fold) で計算することができます。例えば
(foldr (lambda (n acc) (+ (get-score n) acc)) 0 (filter-nodes (cut to? <> 'kanna)))
3
上式を一般化して一挙にメンバー全員に適用してみると
(sort-nodes (map (lambda (x) (cons x (score-loved x))) (all-members)))
結果:
((airi . 4) (kanna . 3) (mai . 2) (erika . 2) (maimi . 2) (saki . 1) (chisato . 0))
愛理ちゃんが好意を寄せられやすい傾向が伺えます。
今度は逆方向のスコアを計算してみると
(sort-nodes (map (lambda (x) (cons x (score-loving x))) (all-members)))
((kanna . 3) (maimi . 3) (chisato . 2) (airi . 2) (saki . 2) (mai . 1) (erika . 1))
まいまいとえりかちゃんが特に堅い・一途だという傾向を読み取ることができます。
今度は組み合わせ(カップリング)の評価です。
2点間相互のリンク・スコアを加算したものを「相性」と考えられるものとします。最大値 (互いに好意を寄せている場合の数値) は現在のスコアリング方式では 2 です。例えば
(score-between 'kanna 'airi)
の値は
2
となります。1 であれば一方通行と考えます。
関係性が未定義の場合もあるので 0 のものを除外して算出すると
(sort-nodes (filter (lambda (n) (not (= (cdr n) 0))) (map (lambda (n) (cons n (apply score-between n))) (all-combinations))))
(((chisato mai) . 2) ((chisato airi) . 2) ((airi kanna) . 2) ((saki kanna) . 2) ((kanna maimi) . 2) ((erika maimi) . 2) ((saki airi) . 1) ((saki erika) . 1) ((kanna mai) . 1) ((maimi airi) . 1) ((saki chisato) . -1) ((kanna chisato) . -1))
となります。若干ピンとこない部分もあるかも知れませんが、計算上は矛盾無くデータの内容を表しています。
(map (lambda (p) (find-relation (cons (caar p) (cadar p)) identity)) (filter (lambda (n) (= (cdr n) 1)) (map (lambda (n) (cons n (apply score-between n))) (all-combinations))))
(((kanna . mai) (desc "喰ってやるよ") (score . 1)) ((saki . airi) (desc "好き") (score . 1)) ((maimi . airi) (desc "良き妹") (score . 1)) ((saki . erika) (desc "彼氏にしたい") (score . 1)))
のようになります。
以上の調査を経て気になった問題点を列挙してみます。
特に最初の点に関して、「百合的」なるものの質的評価がなかなか難しいと感じました。例えば「大好き」も「良き妹」も同じ 1 と評価してしまっているのが妥当かどうか、といったことです。
また、スレにて与えられた情報を評価・分析する方法としては有効だとしても、逆方向のフィードバックの手段がなかなか見つからないというのが三つ目の問題です(技術力不足とも言います)。(注:画像化の方法が分かりました。追記参照)
最後に、プログラムのソースを示します。実行には PLT Scheme が必要です。文字コードは UTF-8 で保存した上で、(load "c-ute.ss") としてください。文字化けする場合はターミナルが UTF-8 を表示できるよう設定する必要があります。がんばってください。
c-ute.ss:
(require (lib "etc.ss") (lib "list.ss") (lib "26.ss" "srfi") (lib "delete.ss" "srfi" "1")) ;;; Utilities (define true? (compose not not)) (define (ignore _) #f) (define fif (case-lambda ((predicate consequent) (fif predicate consequent ignore)) ((predicate consequent alternative) (lambda (x) (if (predicate x) (consequent x) (alternative x)))))) (define (concat! xs) (apply append! xs)) (define (mapconcat f lst sep) (let lp ((str (f (car lst))) (lst (cdr lst))) (if (null? lst) str (lp (string-append str sep (f (car lst))) (cdr lst))))) (define (slice-string str len) (let lp ((res '()) (str str)) (if (<= (string-length str) len) (reverse! (cons str res)) (lp (cons (substring str 0 len) res) (substring str len))))) (define (break-string str len) (mapconcat identity (slice-string str len) "\\n")) ;; NOTE: input and output ports have to be either file-stream or #f ;; (i.e., cannot be a string port) (define (run exe opt in out) (let-values (((p p-i p-o p-e) (subprocess out in #f exe opt))) (subprocess-wait p) (close-input-port p-e))) ;;; Database ;; http://ja.wikipedia.org/wiki/%E2%84%83-ute (define names '((erika . "えりか") (maimi . "舞美") (saki . "早貴") (airi . "愛理") (chisato . "千聖") (mai . "舞") (kanna . "栞菜"))) (define (symbol->name sym) ((fif true? cdr) (assq sym names))) (define nodes '()) (define edges '()) (define (relate from to desc score) (let ((n (cons from to))) (or (find-relation n (lambda (r) (let ((d (assq 'desc r)) (s (assq 'score r))) (set-cdr! d (cons desc (cdr d))) (set-cdr! s (+ score (cdr s)))))) (begin (set! nodes (cons n nodes)) (set! edges (cons (cons n `((desc ,desc) (score . ,score))) edges)))))) (define (find-relation n k) ((fif true? k) (assoc n edges))) (define (related? x y) (find-relation (cons x y) (lambda (_) #t))) (define (from? n x) (eq? (car n) x)) (define (to? n x) (eq? (cdr n) x)) (define flip-relation (case-lambda ((n) (and (related? (cdr n) (car n)) (cons (cdr n) (car n)))) ((n k) ((fif true? k) (flip-relation n))))) (define (get-score n) (cdr (assq 'score n))) (define (get-description n) (cdr (assq 'desc n))) (define (describe-relation n) (find-relation n get-description)) (define (score-relation n) (or (find-relation n get-score) 0)) (define (print-node . ns) (for-each (cute find-relation <> (lambda (r) (display (format "| ~a => ~a (~a)~%" (caar r) (cdar r) (mapconcat (lambda (s) (string-append "\"" s "\"")) (cdr (assq 'desc r)) ", "))))) ns)) (define (iter-nodes k) (let lp ((nodes nodes)) (unless (null? nodes) (k (car nodes)) (lp (cdr nodes))))) (define (filter-nodes p) (let ((ns '())) (iter-nodes (fif p (cut find-relation <> (lambda (n) (set! ns (cons n ns)))))) ns)) (define (from-links) (map car nodes)) (define (to-links) (map cdr nodes)) (define (all-members) (delete-duplicates! (from-links))) (define (all-pairs) nodes) (define (ordered-pairs) (concat! (map (lambda (x) (map car (sort (filter-nodes (cute to? <> (car x))) (lambda (x y) (> (get-score x) (get-score y)))))) (sort-nodes (map (lambda (x) (cons x (score-loved x))) (all-members)))))) (define (all-combinations) (let lp ((cs '()) (ns nodes)) (if (null? ns) cs (let ((n (car ns))) (lp (if (member (list (cdr n) (car n)) cs) cs (cons (list (car n) (cdr n)) cs)) (cdr ns)))))) ;; number-list :: [a] -> [(a . Int)] (define (number-list ls) (let lp ((ns '()) (ls ls)) (if (null? ls) ns (let ((x (car ls))) (lp ((fif not (lambda (_) (cons (cons x 1) ns)) (lambda (n) (set-cdr! n (add1 (cdr n))) ns)) (assq x ns)) (cdr ls)))))) ;; sort-nodes :: [(a . Int)] -> [(a . Int)] (define (sort-nodes ns) (sort ns (lambda (x y) (> (cdr x) (cdr y))))) (define (diff-nodes ms ns) (let lp ((ds '()) (ns ns)) (if (null? ns) (sort-nodes ds) (lp (let* ((n (car ns)) (m (assq (car n) ms))) (cons (cons (car n) (- (cdr m) (cdr n))) ds)) (cdr ns))))) (define (get-total-score x p) (foldr (lambda (n acc) (+ (get-score n) acc)) 0 (filter-nodes (cut p <> x)))) (define (score-loved x) (get-total-score x to?)) (define (score-loving x) (get-total-score x from?)) (define (score-between x y) (+ (score-relation (cons x y)) (score-relation (cons y x)))) (define (-> x) (display (format "~%Links from [~a]~%" x)) (iter-nodes (fif (cut from? <> x) print-node))) (define (<- x) (display (format "~%Links towards [~a]~%" x)) (iter-nodes (fif (cut to? <> x) print-node))) (define (<-> x) (display (format "~%Reciprocal links for [~a]~%" x)) (iter-nodes (fif (cut to? <> x) (lambda (n) (flip-relation n (lambda (m) (print-node m n))))))) (define (<=> x) (display (format "~%Reciprocal matches for [~a]~%" x)) (iter-nodes (fif (cut to? <> x) (lambda (n) (flip-relation n (lambda (m) (if (ormap (lambda (x) (ormap (lambda (y) (equal? x y)) (describe-relation m))) (describe-relation n)) (print-node m n)))))))) (define (<?> x) (let ((to (assq x (number-list (from-links)))) (from (assq x (number-list (to-links))))) (display (string-append (format "~%Link statistics for [~a]~%" x) (format "| ~a => ~a (love ~a)~%" x (cdr to) (score-loving x)) (format "| ~a => ~a (love ~a)~%" (cdr from) x (score-loved x)))))) (define (info x) (for-each (cut <> x) (list <- <-> <=> -> <?>))) ;;; GraphViz (http://www.graphviz.org/) support (define graphviz "C:/Program Files/ATT/Graphviz/bin/dot.exe") (define (nodes->dot ns) (string-append "digraph cute {\n" ;;"\tordering=out;\n" ;;"\trankdir=LR;\n" "\toverlap=true;\n" "\tnode[fontname=\"msgothic.ttc\"];\n" "\tedge[fontname=\"msgothic.ttc\",fontsize=9];\n" (let lp ((str "") (ns ns)) (if (null? ns) str (let* ((n (car ns)) (s (score-relation n))) (lp (string-append str (format "\t\"~a\" -> \"~a\"" (symbol->name (car n)) (symbol->name (cdr n))) (format "[label=\"~a\",color=\"~a\"," (break-string (car (describe-relation n)) 7) (cond ((> s 0) "red") ((= s 0) "green") (else "blue"))) (format "style=\"bold~a\"];\n" (if (and (not (= s 0)) (< s 1) (> s -1)) ",dashed" ""))) (cdr ns))))) "}")) (define (write-dotfile dot file) (and (file-exists? file) (delete-file file)) (with-output-to-file file (lambda () (display dot))) file) (define (dot->png dot png) (call-with-input-file (write-dotfile dot "c-ute.dot") (lambda (in) (and (file-exists? png) (delete-file png)) (call-with-output-file png (lambda (out) (run graphviz "-Tpng" in out))))) 'done) ;;; Setup database ;; Based on: ;; http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/116-142 (begin (relate 'maimi 'erika "大好き" 1) (relate 'maimi 'kanna "良き妹" 1) (relate 'maimi 'airi "良き妹" 1) (relate 'maimi 'mai "姉妹" 0) (relate 'erika 'maimi "一番可愛いよ" 1) (relate 'erika 'kanna "仲間" 0) (relate 'erika 'chisato "おソロパジャマ" 0) (relate 'kanna 'erika "仲間" 0) (relate 'kanna 'maimi "好き" 1) (relate 'kanna 'saki "喰ってやるよ" 1) (relate 'kanna 'mai "喰ってやるよ" 1) (relate 'kanna 'airi "大好き" 1) (relate 'kanna 'chisato "愛理に手出すんじゃねぇよ" -1) (relate 'saki 'maimi "荷物整理" 0) (relate 'saki 'erika "彼氏にしたい" 1) (relate 'saki 'kanna "興味がある" 0.5) (relate 'saki 'chisato "愛理に手出すんじゃねぇよ" -1) (relate 'saki 'airi "好き" 1) (relate 'airi 'kanna "受け入れる" 1) (relate 'airi 'chisato "最近親密" 1) (relate 'mai 'erika "保護者" 0) (relate 'mai 'maimi "姉妹" 0) (relate 'mai 'chisato "恋人" 1) (relate 'chisato 'erika "おソロパジャマ" 0) (relate 'chisato 'mai "恋人" 1) (relate 'chisato 'airi "最近親密" 1)) ;; query relations / draw graphs (if (file-exists? graphviz) (dot->png (nodes->dot (ordered-pairs)) "c-ute.png") (for-each info (all-members)))
Graphviz というソフトによって関係図を可視化できる、ということを教えていただきました(既に上プログラムを実行すると自動的に関係図画像を作成するようにしてあります)。ここでは技術的な観点から幾つか注意点を挙げておきます。
まず、Scheme プログラムから Graphviz を動かす方法について。コマンドラインからの起動のように、プログラムへのオプション文字列で入出力ファイルを指定する方法ではどうも上手く行きませんでした。調査の結果、入出力ファイルのポートを Scheme 側で用意しておく必要があるようです。処理系によって異なりますが、PLT Scheme の場合 subprocess という関数を次のように呼び出します。
(subprocess output-port input-port #f "/path/to/dot.exe" "-Tpng")
ここで output-port は png 等画像ファイルへの出力ポート。input-port は dot ファイル(グラフの定義ファイル)の入力ポートです。エラーポートは必要無いでしょう (#f)。
dot という名前の実行ファイルが、関係図のような有向グラフを描画するプログラムです。最後にオプション文字列として出力形式を指定します(png, jpeg, gif, etc.)。
次に dot ファイルを Scheme で書く方法ですが、以下の基本的な有向グラフの書式
digraph g { A -> B; B -> C; C -> A; }
を理解すれば、後は実直に Scheme のデータを当てはめて format 関数等で変換するだけです。
(string-append "digraph g {" (format "~a -> ~a;" (car node) (cdr node)) "}")
問題は、ノードを配置する順番によって出来上がる画像が変わってくる、ということです。
より見た目に分かりやすくするための工夫としては、相互にリンクするノード同士が dot ファイル上でも近接して出力されるようにすると良いでしょう。関連の強いものが画像の上でも近くに表示されるようになります。
また上述(特に例3)のスコアの概念を応用し、スコアの低いものが後に出力されるようにすることで、重力感覚に一致するような関係図を得ることができるでしょう。
タグ「delphi」を含む注目エントリー - はてなブックマーク
Delphiアプリケーションのメモリリーク検出法 (山本隆の開発日誌)
http://www.componentsource.co.jp/features/delphi/
TMS Software | Productivity software building blocks
Components > Effects and Multimedia > Video. Torry's Delphi Pages
Components > Effects and Multimedia > Audio. Torry's Delphi Pages
Components > Effects and Multimedia > Voice. Torry's Delphi Pages
Components > Effects and Multimedia > Direct X. Torry's Delphi Pages
eXeScope(Windows95/98/Me / ユーティリティ)
Delphi-ML〓〓〓〓〓〓〓〓〓〓〓??About Delphi
Delphi Q & A 〓f〓〓〓〓 〓〓〓〓〓〓O〓〓(HTML〓o〓[〓W〓〓〓〓)
Delphi WAVEサウンド音を鳴らす/Tips & Tricks
5分ではじめるDelphi - 第1回 簡単なメディアプレーヤの作成(前編)
Controling sound volume from code
lsMicrophone: mxl.dwComponentType :=MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT
SwissDelphiCenter.ch : ...set the volume for the microphone/ mute it (enhanced)?
Components > Sound Effects > Mixer. Torry's Delphi Pages
PlaySound('C:\WINNT\Media\start.wav', 0, SND_FILENAME or SND_ASYNC);
Delphi6でプログラミング ビットマップの半透明コピー AlphaDraw
procedure TForm1.Button1Click(Sender: TObject);
bmp1.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FINANCE.BMP');
bmp2.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FACTORY.BMP');
Form1.Canvas.Draw(10,10,bmp1);
Form1.Image1.Canvas.Draw(10,10,bmp2);
bmp1.Free;
bmp2.Free;
無料版Delphi6でSTGをつくるためのプログラミング講座 Ver.2005 Jan.
SwissDelphiCenter.ch : ...get the MAC Address?
もっと楽にGUIとの連携がしたい:Python + Delphi = P4D(Python for Delphi) - ふにゃるん
Delphi WindowsのOSのバージョンを取得する/Tips & Tricks
SourceForge.net: Gecko SDK for Delphi
BDS(Delphi/BCB)用SQLiteライブラリ (山本隆の開発日誌)
SwissDelphiCenter.ch : programming tips
ナッキーの「Turbo Delphiはじめて奮戦記」- 第1回 Turbo Delphi のインストール
フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro
フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro
http://torrent.borland.com/turbo_hotfix_rollup.zip
http://torrent.borland.com/prereqs_jp.zip
http://torrent.borland.com/turbodelphi_jp.exe
(1) \dotNETRedist\dotnetfx.exe
(2) \dotNETRedist\langpack.exe
(3) \dotNETRedist\NDP1.1sp1-KB867460-X86.exe