Discuss Scratch

inoking
Scratcher
1000+ posts

演算について話しあうトピック

inoking wrote:

三角関数の意味の例 を作ってみました。
tan も追加してみました。
tabakenn
Scratcher
100+ posts

演算について話しあうトピック

三角比 sin cos のできることの説明を置いときます。

まずは単純な例

最初 x座標: 0 、y座標: 0
↺ (0) 度回す::motion // 右向き
(100) 歩動かす::motion // 右に100
移動先 x座標: 100 、y座標: 0

最初 x座標: 0 、y座標: 0
↺ (90) 度回す::motion // 上向き
(100) 歩動かす::motion // 上に100
移動先 x座標: 0 、y座標: 100

では、
40度の向きに進んで、その座標を計算するには?
sin cos を使って…

最初 x座標: 0 、y座標: 0
↺ (40) 度回す::motion // だいたい右上
(100) 歩動かす::motion // 右上に100
移動先 x座標: ((100) * ((40) の [cos v]::operators)) 、y座標: ((100) * ((40) の [sin v]::operators))

となり、実際のx,yの値はだいたい x=76.6, y=64.3 …です。

一般に、

最初 x座標 (x) 、y座標 (y)
↺ (theta) 度回す::motion // 真右を0度、反時計回りに(theta)度回転。
(r) 歩動かす::motion // 移動先は半径(r)の円上にある。
移動先 x座標 ((x) + ((r) * ((theta) の [cos v]::operators))) 、y座標 ((y) + ((r) * ((theta) の [sin v]::operators)))

というふうに、三角比を使えば、中途半端な角度で進んだ時の、移動先の座標が求められます。

三角比は、辺の長さ 角度 から、「ある一つの直角三角形ができた時、全ての辺の長さ、角度を導ける」ものとなっています。

今回は、二つの角度(40度, 直角)一つの辺の長さ(100歩)より、直角三角形がただ一つに決まるので、その他の辺の長さ(x,yに進んだ距離)が sin cos により求められた、ということです。

Last edited by tabakenn (June 10, 2022 13:38:18)

sorehaikenaine
Scratcher
69 posts

演算について話しあうトピック

演算ブロックの
([絶対値 v] \( (1) \))
というブロックはどういう動きをするのですか?
akku--n11
Scratcher
1000+ posts

演算について話しあうトピック

#382
基本的には(1)の部分に指定した数の符号(+-)を+に変えます
先頭に何も書かなければ+になるので戻り値+は見えません
語彙力・説明力ともに低迷中
inoking
Scratcher
1000+ posts

演算について話しあうトピック

まず、「絶対値」をインターネットなどで調べてみてください。
Scratch のブロックはそれを再現しているだけです。
aitosuke
Scratcher
2 posts

演算について話しあうトピック

こんにちは!!
aitosuke
Scratcher
2 posts

演算について話しあうトピック

演算ブロックの切り上げ・切り下げの下にあるブロックたちが何の役割を果たすのか分かりません。誰かできれば教えてください!!
StrongPeanut
Scratcher
1000+ posts

演算について話しあうトピック

aitosukeさん、ディスカッションフォーラムへようこそ。

(() の[平方根 v]::operators)
のことでしょうか。
平方根と調べれば出て来ますので、調べてみてください。
zisyouusotuki
Scratcher
31 posts

演算について話しあうトピック

小数同士の累乗ってどのようにしたらいいのでしょうか
newmomizi_txt
Scratcher
1000+ posts

演算について話しあうトピック

#369
そのままだと累乗の計算はできないので、対数の考え方を使用します。
aのb乗の計算は、
((((a) の [log v] :: operators) * (b)) の [10^ v] :: operators)
こうすることで計算ができます。が、Scratch(というかパソコンの計算の仕方)の都合上、誤差が発生するため、適当な桁数で四捨五入するといいでしょう。

(単純に間違えた。なんでこんな奴が数検合格してんだよ)

原理に関しては説明するのが面倒なので、公式を見てなんとなく理解してください()
a^log_a(M)=M
log_a(M^k)=k*log_a(M)

Last edited by newmomizi_txt (Aug. 26, 2022 03:29:06)

iuoiaai
Scratcher
21 posts

演算について話しあうトピック

いろんなトピックで度々聞いているのですが皆さん答えてくれません悲しい
微積分のスクラッチでの演算方法がわかりません。ちゃんと勉強もしましたし、Scratchでも調べましたが、どれも私が知りたい答えとは違うので困っています。分かる人がいたら教えて下さい。平均変化率までは理解しています。

Last edited by iuoiaai (Sept. 4, 2022 05:45:36)

magicAho
Scratcher
1000+ posts

演算について話しあうトピック

@greenflagがクリックされたとき
ずっと
もし <<[マウスのポインター v] に触れた> かつ <マウスが押された>> なら
[foo v] を [1]ずつ変える
end
end
[制限時間 v] を受け取ったとき
もし <(foo) < (☁ score)> なら
[☁︎score v] を (foo) にする
end
演算を活用したクリッカーゲームの作り方

Last edited by magicAho (Sept. 9, 2022 15:40:26)

harukuratti
Scratcher
52 posts

演算について話しあうトピック

超精密なクリアタイムの表示方法
when green flag clicked
[2000年からの日数記録 v] を (2000年からの日数) にする
[クリア v] を受け取ったとき
[クリアタイム v] を ((((2000年からの日数) - (2000年からの日数記録)) * (100000)) と [秒]) にする
で10兆分の1よりさらに細かい桁数までクリアタイムを表示できます。

Last edited by harukuratti (Sept. 19, 2022 08:27:59)

yukku
Scratcher
1000+ posts

演算について話しあうトピック

>> #373

数字が違いますね。100000倍ではなく86400倍する必要があります。するとこれは1/1000秒の精度しかない事が分かります。( 計算の誤差でちょっとずれることはあります。)
inoking
Scratcher
1000+ posts

演算について話しあうトピック

すでに同様のコメントが出ていますが
(2000年からの日数)
の精度はミリ秒です。
さらに、イベントの送受信にも遅れが発生するので、「超精密」とはとても言えません。
Jinenjo_000
Scratcher
100+ posts

演算について話しあうトピック

#371
解析的に計算したいのか、数値的に計算したいのかで話が大きく違ってくると思います。

前者は
例えば f(x) = x^2 とすると、
微分なら f'(x) = 2x
積分なら F(x)= x^3/3 + C
と、手計算と同じように導関数 (訂正) 導関数や原始関数を求めるものです。

入力された数式に微分積分の公式を適用していく方法、
微分に限っては、二重数を使う方法などが考えられます。

後者は
f'(x) = lim {f(x+Δx)-f(Δx)}/Δx
F(x) = lim Σ f(x)Δx
において、Δx→0 の極限をとる操作の代わりに、Δxに非常に小さい値を代入することで
微分値や積分値を近似的に計算するものです。

微分では「前進差分」や「中心差分」、積分では「台形公式」や「シンプソンの公式」
などが代表的ではないかと思います。

Last edited by Jinenjo_000 (Sept. 23, 2022 19:10:51)

Shunkacchi
Scratcher
100+ posts

演算について話しあうトピック

当たり前かもしれないけど
(() - ())
を使うとこれができるの知ってました?
スクリプトはこれ。ちょっと異なります
@greenflagがクリックされたとき
[数を入力してください。] と聞いて待つ
[数1 v] を (答え) にする
((数1) と [より小さい数を入力してください。]) と聞いて待つ//私はここで数2の変数に入れました。
((数1) と ([は] と ((答え) と ([と] と (((数1) - (答え)) と [です]))))) と言う//ここで登場
attu001
Scratcher
7 posts

演算について話しあうトピック

トピック慣れてなくて、ぎここちないかもです。すみません。
すでにある質問で、小数同士の累乗は理解したのですが、指数が小数で、底が整数の場合、なるべく誤差をなくして計算する方法を教えてください。
なかったらいいです。
Jinenjo_000
Scratcher
100+ posts

演算について話しあうトピック

>> #378
底が正の整数の場合でも、計算方法は同じです。
「なるべく誤差をなくして」とは、Scratchの演算ブロック以上の精度が欲しいという意味でしょうか?
jjjjjjjuuuuuuu
Scratcher
24 posts

演算について話しあうトピック

sinやcosは知っているけれどtanってなんですか?
小4が聞くことじゃなくね?

Powered by DjangoBB