みねこあ

mineko. A! ―from mi-neko online.

2011-01-29

[][]歴史はぐるぐる 23:51 歴史はぐるぐる - みねこあ を含むブックマーク

だれかsqueakで螺旋のスクリプトの作り方を知っているという方!! ぜひぜひお助け...

yhy_3sfvさん

だれかsqueakで螺旋のスクリプトの作り方を知っているという方!!

ぜひぜひお助けください。

質問日時:2010/11/1 09:03:50

解決日時:2010/11/16 04:23:25

no title

どこかでみたような・・・。

ベストアンサーに選ばれた回答

sakura2_3さん

検索するとこのサイトが引っかかりましたが、

http://d.hatena.ne.jp/minekoa/20091112/1258046786

このSqueakはSqueakであってPHPではありませんね。

別の何かでしょうか?

そして去年ネタにしたわたしのエントリ(軌跡は自分で起こすもの - みねこあ) が回答にされてる...orz

そっか、カリキュラムが変わらなければ、同じ問題が出題されるのは当然ですね。...コリはエントリを消した方がよいかしらん。

きむら(K)きむら(K) 2011/01/31 01:31 デバッグに詰まったときはそうだんするわけですね>ふわふわこっぺさま

エントリの方は一部を空白にしておくとか
バグをさりげなく仕込んでおくとか :)

minekoaminekoa 2011/02/06 02:00 それか のどっち よろしくお腹に抱えながらコーディングするとか。
コッペ様に相談するとイケメンさんが微笑を讃えながら助けてくれそうです。

エントリーのほうですが、おぉっ、やっぱりそうすべきかな?、とPCに向かったのですが、EToys はタイルスクリプトなので、構文エラーが作れないとか、タートル言語で螺旋を書く程度で「さりげない」バグというのは難しいなぁとかとか。むー、恐るべし EToysです(ぉ

2009-11-12

[][]軌跡は自分で起こすもの 02:26 軌跡は自分で起こすもの - みねこあ を含むブックマーク

きむら(K) さんち経由、

Squeak って単語に ピクピクっと反応。Squeak Etoys と Squeak Smalltalk のどちらなのかな〜とか思ったり。

質問者:s09856tm

(1) 螺旋(大きさは任意)の奇跡を描くスクリプト(Squeak)を作成して答えよ。なお、螺旋の描く方向を

  • (a) 外側に螺旋が広がっていく(最初の奇跡よりも外側に螺旋を描く)
  • (b) 内側に螺旋が狭まっていく(最初の奇跡よりも内側に螺旋を描く)

の2つについて作成すること。スクリプトは実際のSqueakの命令文と同じものとすること(動かしたものを書くことを推奨する)。なお螺旋の幅は等幅とする。

質問・疑問に答えるQ&AサイトOKWAVE

「螺旋」といっても「螺旋階段」のほうじゃなくて「渦巻き」の方。となると、2次元キャンバスに軌跡をお絵かき――は、Etoys の十八番です。

他にも「アクセルとブレーキにおいて、足が、両方に触れた場合でも、ブレーキが優先して作動するようなスクリプトを作成せよ」ですとか、Squeakじゃないですが「順次・分岐・繰り返しで日常の何かを説明せよ」ですとか、バリバリの情報系というよりは、プログラミングを通じて自身の考えをデバッグする学習法や論理的な考え方を身につけようみたいな、そんなカリキュラムぽい。

なので、うん、これは Squeak = Etoys ってことで、タートルをグルグル回しちゃえってことですね、たぶん。


* * *


もちろん質問に回答してあげるつもり、とかじゃなくって、単純にこの問題、自分だったらどう解くかなぁと。わたし、数学は苦手なので、渦巻きを描く式とか、全然頭に入ってません。そんな 普通の文系チックなスタート地点からやってみました。


さて、Logoでもおなじみのタートル幾何学的は、図形をタートル主体&微分的に考えます。「円を描く」は、「毎回同じ量だけ『ちょっと向きを変えて、ちょっと進む』を繰り返す」になります。

とすると渦巻きは、毎回ちょっとづつ進むその量、または変える向きの量が、変わっていく・・という方法で描けそうに思えます。まぁ、「ちょっとづつ」って、等差?等比?・・という疑問も浮かぶのですが、そこは レッツトライ、やってみてから考えよう、ですね♪

まずはなんとなく楽そうなの等差のパターンで、ペタペタっとタイルスクリプティングして、実行。

f:id:minekoa:20091112224708p:image


綺麗にドリームキャスト渦巻きです。これで OKそう? でも一応 一定比率で減っていく方もやってみます。

f:id:minekoa:20091112224706p:image*1


こっちはカタツムリの殻のようになりました。というわけで、書くべき渦巻きは「螺旋の幅は等幅とする」なので、前のパターンが正解でした。


* * *


プログラミングをしない人でも、これなら簡単そうに見えるでしょう?実際超簡単です。だからわたし、この問題は普通の小学生ならほとんどみんな出来てしまうんじゃないかな?と、思いました。目をつむればわたしの脳裏に、学校の教室で子供達がワイワイガヤガヤと、いろんな渦巻きが描いている光景が浮かびます。「せんせーっ、みてみて!できましたーっ!」(←幼児退行してエントリーを書くわたし)

なのにその一方で、同じ問題が大学とか専門学校とかで出題されると、尻込みして「わからない」と固まってしまう人がでるのも、よくわかる気がするのです。この質問主がクラスの中で特別ズバぬけてダメダメ・・というわけじゃなくって、それなりの比率で「わからない!お手上げ」な子がいるような。何も試さないで、全然わからない、と固まってしまう。そんな光景が目に浮かびます。


苦手な人も得意な人もいる、というんじゃなくて、小学生の頃は簡単で大学生になると難しくなる、ひとりの人が何かを苦手になる様というか。――上手くは言えないのですが、そういうのを感じました。

たとえば「綺麗に解かなきゃダメ症候群」というか、答えという着地点がやけにナローで、それだけでなく、そこにたどり着く過程にも「正解」があって、その道筋を辿って美しく到達しなければいけない・・みたいな。そんな「問題の解き方」に慣らされていくうちに、使われなくなって錆び付いていくような能力、そんなのがあるとかないとか、そういうかんじ。あ、はまちちゃんちのコレなんかも同類かもしれない。


なぁんて、そんなモヤモヤを感じたよ、というエントリーでした。(根拠があっての話じゃないです。そう思ったよ、というだけのチラシの裏なエントリー)



おまけ

渦巻きの間隔が等間隔であるのを見た目で「それっポイ」でスルーしてしまったけれど、「本当に等間隔なの?どんどん図を大きくしてったら間隔変わってきたりしない?」みたいなのを説明してみようって課題も面白いかも。

大きさかえて間隔を計ってみたり、とか

f:id:minekoa:20091112224705p:image

みたいなのを足がかりにキチンと頭のなかのマイクロワールドに反映する、とかとか、色々出てきて面白そうかも。

*1:Testブロックは要らないとか、/1.002 とか何だよ、とか、色々つっこみどころ満載でごめんです

2009-02-19

[][]Smalltalkサイドでもタイルスクリプト 23:43 Smalltalkサイドでもタイルスクリプト - みねこあ を含むブックマーク

なんとなく Refactoring Browser の話が出ていたので、そう言えば 3.9 だと、[メソッド名の変更]って調子悪かったですよね*1、なんて Browser で遊んでいたら、


f:id:minekoa:20090219232903p:image

・・・表示形式「タイル」?

f:id:minekoa:20090219232924p:image


うわっ!うわーっ!なんぞコレ。


* * *


さて、この表示モード、SmalltalkコードをEtoys風のタイルで表示してくれるのですが、コーディングツールとしては、今一歩・・・というかそういう風には使えません。タイルを選択するとこんな感じ。

f:id:minekoa:20090219233111p:image

おぉー!タイルスクリプティングできるのかなっ!?上下矢印をクリクリするとメソッドが選べるのかな?とワクワクしながら操作したのですが、四則演算 とかの 本当に Etoys のタイル的なことしか出来ない模様です。

コピーハロマークもあって、そのタイルがコピーできるのですが、ドロップしたり、ドラッグでの移動は出来ないみたい。なんだか作りかけ?それとも昔は機能してたけれど壊れてる?

コードビュワーとして割り切るしかないのですが、それでもとっても面白くって、特にブロックはこのように箱ものとして表示されると、図形的で見やすいなぁと、思ってしまう。これでありですよね?他方、キャメルパターンなセレクタ名をスペース区切りに変更して見せたりの変な芸の細かさに惹かれます。



・・・それにしても、なんの為のモノ?

これ、PluggableTileScriptorMorph というものなのですが、EToys-Tile Scriptors カテゴリにいるので、本当に Etoys用の機能なのかしら、と思います。でもそれが、Smalltalk側の、SystemBrowser にイメージデフォルトで組み込んであるのは(しかもどう見ても作りかけに思える状態で)、どういう歴史があるのかしら、ちょっとだけ興味を引かれます。

*1:MessageNotUnderstood: BrowserRequestor>>getArgumentPermutation が出て動かない

squeakersqueaker 2009/02/20 01:54 Smalltalk自体はメタ言語で、いろいろな表面上の言語の間を行ったりきたりできるようにしよう、というアイディアはそもそも-72の前後からあったと思います。Squeakにおいても、この"universal tiles"の機能はかなり以前からあるのです。目標はシームレスな統合ということだったと思うのですが、確かに完成度を上げる前に放置されてしまったまま死んだわけではありますね。

minekoaminekoa 2009/02/23 00:30 >>目標はシームレスな統合

Etoys からスムースにSmalltalk側に入っていけるようにということなのですね。納得です。

abee2abee2 2009/03/09 00:51 id:nqthmさんが紹介されていたJensさんのElementsがかなりいい感じです。
http://d.hatena.ne.jp/nqthm/20090308/p1

2009-02-10

haxtexnahaxtexna 2009/02/11 05:11 はじめまして突然スミマセン。
通りすがりです

I'm feeling lucky無くなったの知りませんでした
最近全く使ってなかったですが、何かショックデカいです。
でも1%のfeeling luckyで120億という事の方がショッキングでした。

minekoaminekoa 2009/02/11 20:06 はじめまして。

I'm feeling lucky は何かこう、Googleの魂にちかいところにあるような気がしてしまうので、とてもショックに感じます。

反面、導入された「急上昇キーワード」は Google らしくない、なにかイビルな印象をうけてしまうのも不思議な話です。

2008-12-06

[][]MOON DROP 後編・・・は、やめ。 22:10 MOON DROP 後編・・・は、やめ。 - みねこあ を含むブックマーク

夜中に文章かいてそのままリリースすると、その中二病さかげんに翌朝恥ずかしくなることってありませんか?今のわたしの気分がまさにそう...。なんというか、タイトルが痛すぎるぅ。あぁ、顔から火が出ます。(BGVで BLUE DROP を流していたのが敗因でしたよ、線香持参。)しくしく。



で、後編・・と思ったのですが、作ってみたモノの、これは面白いのかな?と思ったり。

f:id:minekoa:20081206223853p:image

Etoys にそれほど使い慣れていない私ですから、前編の超定番なお題ならなんとか・・でしたが、それ以上をしようとすれば、馬脚が見えまくり。あんまり見ていて面白くはないかも。

そしてなによりも、「手順通りに作って『わーい、出来た!』」は Etoys としてなんか違うと思いました。前編くらいの使い方が解っていれば、あとは試行錯誤で自分でどうにも出来ます。そして Etoys はこの試行錯誤が一番おもしろいのだから、そこに手順書みたいなエントリーを作るのは、推理小説の犯人をばらすような無粋なモノよね、と今更ながら思ったのです。


* * *


・・・というわけで「やめ」なのですが、未練がましく馬脚の部分だけ。

月が地球に落ちるお話 では、月から地球の距離や方向を求めるのに 三平方の定理とか三角関数とか使ってましたが、よく使いそうな値のこと、当然 Etoys でもそういった便利タイルは用意されていて、「観察」カテゴリに「タートルへの距離」「以下への向き」というタイルがあり、簡単に距離と方向を求めることができます。

ですがこの二つのタイル、ちょっと問題がありまして。百聞は一見にしかず、

f:id:minekoa:20081206215924p:image

のように左上のコーナーに対して向きと距離を計算しています。これをどうにか重心または位置を基準に計算するように変えたかったのですが、その方法が解りませんでした。

「月と地球」のときは、「んー、わかんないけど、ま、『中心点』なんてオブジェクトを置いてしまうとか、座標から計算してしまうとか、やりようはいろいろあるよね」と、逃げの手を打って結果オーライ、だったのですが、さすがにチュートリアルと豪語するならそこら辺をちゃんとクリアしないとな〜、と改めていろいろ調べたりしてみたものの・・・解りませんでした...orz うう、なんたるEtoys力不足。

そんな馬脚です。

abee2abee2 2008/12/06 23:33 興味深く読ませていただいています。
「タートルへの距離」は"distance to"の訳ですが、誤訳じゃないですかね。毛玉あたりの言葉と混ざったような気がします。
あと、これは"Player>>distanceToPlayer:"で計算されていますが、ここでpositionInWorldを使っているのが敗因ですね。これはreferencePositionInWorldを使うべきでしょう。「幾何」の「距離」(getDistance)でもそうなっています。そうすればそれぞれの回転中心からの距離になります。
Etoysは今も昔も結構バグバグなので、疑ってかかったほうが良いと思います。「深遠な意図」があることもありますが無いことの方がずっと多いです。
ちょっと面倒ですがticketとか書いてもらえるとうれしいです。
http://dev.laptop.org/

abee2abee2 2008/12/06 23:37 ついでにworkaroundとしては、外側の四角形の代わりに遊び場を使って原点を中心に変え、前述の「距離」を使えば同じことができると思います。

minekoaminekoa 2008/12/09 09:23 コメントありがとうございます。

あれれ、バグでしたか。普通に「欲しいな」と思える機能だったので、昔からあるのかと思ったのですが、結構最近の追加機能なんですね。(コメントを受けて、丁度起動してた 3.9でコードを見て、「Player>>distanceToPlayer: 見つからない」と思ったら、タイル自体がなかったのに初めて気がつきました)

>ちょっと面倒ですがticketとか書いてもらえるとうれしいです。
>http://dev.laptop.org/

う。英語はとてもとても苦手なので尻込みしてしまっています。週末に時間を取って頑張ろう、がんばろう、頑張ります。