Discuss Scratch

inoking
Scratcher
1000+ posts

Scratch数学カフェ

「三角比」などで調べてください。
一般的な話は、ここで聞くよりはるかに分かりやすくていねいな解説がいくつも見つかるはずです。

Last edited by inoking (July 15, 2025 01:27:41)

U-Y-Scratch
Scratcher
500+ posts

Scratch数学カフェ

Yu14916 wrote:

中心が(0,0)、半径が1の円を想像してください。その中心から、n°に向かって線を引くとします。そうすると、円のどこかと交わるはずです。そのとき、交わった点のx座標がcos(n)、y座標がsin(n)です。

画像:Wikipedia
こういうことですか?

Last edited by U-Y-Scratch (July 15, 2025 01:36:17)

exment
Scratcher
100+ posts

Scratch数学カフェ

はい。その図を見て理解できるなら質問の意味がなくないですか?
なんであれ、一般的な三角比の話はこれ以上フォーラムでは適しません。inokingさんの通り自分で検索するか、フォーラム外で話す事をおすすめします。
tuneninemuihito
Scratcher
71 posts

Scratch数学カフェ

scratchでlogの計算をする時って底の変換公式使えばいいですか?

例:log3(9)
(([log v] of (9)::operators) / ([log v] of (3)::operators))
で計算出来るって認識で良いですよね?
kouryou118103
Scratcher
1000+ posts

Scratch数学カフェ

底の変換公式はあっています。実際に、ln(9)/ln(3)=2 で、3^2=9 なのであっています。

追記
logって底10でした…

Last edited by kouryou118103 (July 16, 2025 11:14:17)

7R514_js
Scratcher
4 posts

Scratch数学カフェ

#1124
その認識で正しいと思います。
ただし、計算過程で分子と分母をそれぞれ有限長の小数にする都合上、ぴったり2にはなりません。小数点以下の適当な桁で四捨五入しましょう。

(ちなみにlogは常用対数、lnは自然対数で、底がそれぞれ10, eと異なります。どちらを使用しても同じことができますが、単に計算したいだけなら、有理数が底である方が有利な場面が多いはずです)
kikakuyou
Scratcher
6 posts

Scratch数学カフェ

最近素数計算関数π(x)を補正対数積分関数Li(x)で近似することに興味があり、そのLi(x)は級数で近似できるのですが、その級数に(-1)^(n-1)という式が含まれています。自分はこれを
((((n) mod (2)) * (2)) - (1))
と表現して現在は級数を計算しています。
それで気になったのですが、これより簡潔(わかりやすい or 使用されるブロック数が少ない)に表現する方法はありますか?
rice-people
Scratcher
11 posts

Scratch数学カフェ

#1127
私が試した限りでは、使用されるブロック数を4個(上記のブロックの個数)未満にすることはできませんでした。
指数に(n-1)とあるのでおそらく、どのやり方で作るにも1を引く動作が必要なのだと思います。

Last edited by rice-people (Dec. 30, 2025 07:20:35)

kikakuyou
Scratcher
6 posts

Scratch数学カフェ

#1128

返信ありがとうございます。
先日、個人的に @yukkuさんから下記の3ブロックで成り立つと教えていただきました。

([cos v] of ((n) * (180))::operators)

追記が遅れてしまい、申し訳ないです。
makoto2014
Scratcher
3 posts

Scratch数学カフェ

スーパーπをガウス=ルジャンドル法で実装しましたが全く3355万桁を1日で計算させることはできません。軽量化の方法を教えてください。
gccxnondx
Scratcher
100+ posts

Scratch数学カフェ

https://scratch.mit.edu/discuss/topic/625573/?page=1#post-6551506
3355万桁もの数字となると、Scratchで扱える数字の限界を超えているため、計算できなくてもどうしようもありません。
少数であれば、数字の限界を超えていなくても誤差が発生することがあるので、計算できなくてもどうしようもありません。
haxm-v
Scratcher
20 posts

Scratch数学カフェ

#1131
リストを使えば、3355万桁は計算できそうですね。ただ、リストの20万制限に気を付けなければいけませんが。
でもよく考えたら、単に変数1個でもいける気がする

Last edited by haxm-v (Jan. 25, 2026 04:57:52)

usuusussei
Scratcher
24 posts

Scratch数学カフェ

三角形の面積を求める式
必要な変数:
x1, y1, x2, y2, x3, y3, AB, AC, cosA, sinA, 面積
コード:
AB を ( √( (x2 − x1) × (x2 − x1) + (y2 − y1) × (y2 − y1) ) ) にする
AC を ( √( (x3 − x1) × (x3 − x1) + (y3 − y1) × (y3 − y1) ) ) にする
cosA を ( ((x2 − x1) × (x3 − x1) + (y2 − y1) × (y3 − y1)) ÷ (AB × AC) ) にする
sinA を ( √( 1 − (cosA × cosA) ) ) にする
面積 を ( 0.5 × AB × AC × sinA ) にする

Last edited by usuusussei (Feb. 16, 2026 01:56:10)

yoshiharuscratch
Scratcher
21 posts

Scratch数学カフェ

Scratchでスプライトを円運動させるとき、角度を少しずつ変えて「10歩動かす」を繰り返すと、完全な円にならず少しずれていくことがあります。これは計算誤差によるものなのでしょうか?それとも別の理由があるのでしょうか?
repeat (360)

endturn cw (0.1) degrees
move (0.1) steps
abee
Scratcher
1000+ posts

Scratch数学カフェ

都度の角度の変更は0.1度なので、繰り返し回数は360ではなく3600ですね(つまり3600角形)。
実際に実行してみましたが特にずれはありませんでした。
yoshiharuscratch
Scratcher
21 posts

Scratch数学カフェ

ご指摘ありがとうございます。0.1° ずつ回転する場合は 3600 回で 360° になるのですね。実際に試していただきありがとうございました。
repeat (3600)
turn cw (0.1) degrees
move (0.1) steps
end

Powered by DjangoBB