Discuss Scratch
- Discussion Forums
- » 日本語
- » 100%penについて話し合う所
- kokkun1
-
20 posts
100%penについて話し合う所
私の作ったこのprojectが参考になると思います。 penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
scratchの存在する三角形塗りつぶし機の中でも以下のものはかなり速い部類だと思います
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/24828481/
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
下のものは三角形の形をしたコスチュームを画像効果で歪ませて使うものなので100%penではないです。
- tomato-2nd
-
5 posts
100%penについて話し合う所
ありがとうございます!私の作ったこのprojectが参考になると思います。 penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
scratchの存在する三角形塗りつぶし機の中でも以下のものはかなり速い部類だと思います
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/24828481/
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
下のものは三角形の形をしたコスチュームを画像効果で歪ませて使うものなので100%penではないです。
- cocoa1484
-
48 posts
100%penについて話し合う所
ありがとうございます!penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです
私の作ったこのprojectが参考になると思います。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
scratchの存在する三角形塗りつぶし機の中でも以下のものはかなり速い部類だと思います
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/24828481/
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
下のものは三角形の形をしたコスチュームを画像効果で歪ませて使うものなので100%penではないです。
四角、五角、六角形はどうでしょうか
Last edited by cocoa1484 (Feb. 21, 2024 06:08:05)
- yamarsukunn
-
29 posts
100%penについて話し合う所
三角形と同じように角を塗りつぶしていく方法はどうでしょうか。ありがとうございます!penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです
私の作ったこのprojectが参考になると思います。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
scratchの存在する三角形塗りつぶし機の中でも以下のものはかなり速い部類だと思います
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/24828481/
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
下のものは三角形の形をしたコスチュームを画像効果で歪ませて使うものなので100%penではないです。
四角、五角、六角形はどうでしょうか
- oligami
-
100+ posts
100%penについて話し合う所
#466
四角形までなら条件分岐を増やせば、残りの部分も高効率で塗りつぶせるでしょうが、五角形を超えてくると効率の良いアルゴリズムを見つけたとしても、計算量の関係で生半可なアルゴリズムなら分割してから塗った方が早いと思います
三角形と同じように角を塗りつぶしていく方法はどうでしょうか。ありがとうございます!penで3角形の塗りつぶしの方法を探しているのですがどなたかわかりますか?3角形の中心を求めたいのですがよくわからないです
私の作ったこのprojectが参考になると思います。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
scratchの存在する三角形塗りつぶし機の中でも以下のものはかなり速い部類だと思います
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/24828481/
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
下のものは三角形の形をしたコスチュームを画像効果で歪ませて使うものなので100%penではないです。
四角、五角、六角形はどうでしょうか
四角形までなら条件分岐を増やせば、残りの部分も高効率で塗りつぶせるでしょうが、五角形を超えてくると効率の良いアルゴリズムを見つけたとしても、計算量の関係で生半可なアルゴリズムなら分割してから塗った方が早いと思います
- cocoa1484
-
48 posts
100%penについて話し合う所
四角は簡単ですよね?
⚑ がクリックされたとき
x座標を (0) 、y座標を (0) にする
ペンの色を [#598019] にする
ペンを下ろす
(5) 回繰り返す
(5) 回繰り返す
x座標を (10) ずつ変える
end
y座標を (-1) ずつ変える
end
Last edited by cocoa1484 (April 27, 2024 12:46:01)
- hagaki
-
3 posts
100%penについて話し合う所
絶えず消去と描画を行うためにペンの操作を行う定義を繰り返すとペンの操作にかなり時間がかかっているように感じます。
ペンの操作は「全部消す」1つだけでも重くなりました。
ターボにすれば解決したので重いだけだと思います。
速くする方法はあるのでしょうか。
教えていただきたいです。
ペンの操作は「全部消す」1つだけでも重くなりました。
ターボにすれば解決したので重いだけだと思います。
速くする方法はあるのでしょうか。
教えていただきたいです。
- yukiscratch44
-
12 posts
100%penについて話し合う所
場合によりますが軽くするには、できるだけブロック数を少なくするか、無駄なくしたり、画面を再描画せずに実行すると早くなると思います。 絶えず消去と描画を行うためにペンの操作を行う定義を繰り返すとペンの操作にかなり時間がかかっているように感じます。
ペンの操作は「全部消す」1つだけでも重くなりました。
ターボにすれば解決したので重いだけだと思います。
速くする方法はあるのでしょうか。
教えていただきたいです。
- TOMO1260
-
100+ posts
100%penについて話し合う所
定義の設定で、再描画せずに実行にチェックを入れることで解消できます。 絶えず消去と描画を行うためにペンの操作を行う定義を繰り返すとペンの操作にかなり時間がかかっているように感じます。
ペンの操作は「全部消す」1つだけでも重くなりました。
ターボにすれば解決したので重いだけだと思います。
速くする方法はあるのでしょうか。
教えていただきたいです。
すでに入れている場合、動きや見た目などの画面に変かが起こるブロックなら同じことが起こります(30fps)。特に問題はありません。
- KimiruHamiru
-
500+ posts
100%penについて話し合う所
直接の答えではないのですが、 絶えず消去と描画を行うためにペンの操作を行う定義を繰り返すとペンの操作にかなり時間がかかっているように感じます。
ペンの操作は「全部消す」1つだけでも重くなりました。
ターボにすれば解決したので重いだけだと思います。
速くする方法はあるのでしょうか。
@greenFlagがクリックされたときみたいな、すごく単純な「描画以外何もしないプログラム」を実際に書いてみて
一瞬で描く // この定義を作るときに出る画面で「再描画せずに実行する」のスイッチをオンにする
定義 一瞬で描く
消す
ペンを下ろす
(1500)回繰り返す
[どこかの場所 v]へ行く
end
ペンを上げる
「再描画せずに実行する」のスイッチをオンにする
というのが
・どういう効果なのか、はずすとどう変わるのか、
・「描画以外何もしない」場合に描画速度はどの程度出るのか、
を、体感・実験してみて、「工夫してもこれよりは軽くはならないはず」という数字の目安とかを確認してみると良いと思います。
もっと複雑なプログラムが「これより重い」なら、原因は
・「描画回数=このプログラムの1500に当たる数字、が大きすぎるようだ」とか
・「描画回数は1500以下だった。では、描画以外の処理が重いに違いない」とか
判断がしやすくなります。
あと、この書き方なら「一瞬で描く」を「ループで回す」(つまり「絶えず消去と描画を行う」)場合でも、重くならないはずです。
1500という数字は、環境に左右されてもっと大きかったり小さかったりすると思いますが、個人的な経験から言えば、
・「1500ぐらいまで」なら「重くなることはない」=「1500本の線なら1フレーム(0.033秒)以下で描き終わる」
・「省電力モード」とかすごく限定された環境でも500ぐらいまでなら重くならない
と思います。
- yamato0915
-
60 posts
100%penについて話し合う所
自分の3Dのプロジェクトに面を塗りつぶす機能を作りたいです。
一旦面が目線から見えるかは置いておいて、3角形から、もうちょっと頂点の多い多角形を塗りつぶしたいです。
全部の頂点の座標はわかっています。
全くプログラムの見当がつかず困っています
3Dなので、消したり描いたりが重すぎない方が良いのですが、何かいい方法はありませんでしょうか…?
一旦面が目線から見えるかは置いておいて、3角形から、もうちょっと頂点の多い多角形を塗りつぶしたいです。
全部の頂点の座標はわかっています。
全くプログラムの見当がつかず困っています
3Dなので、消したり描いたりが重すぎない方が良いのですが、何かいい方法はありませんでしょうか…?
- kokkun1
-
20 posts
100%penについて話し合う所
自分の3Dのプロジェクトに面を塗りつぶす機能を作りたいです。
一旦面が目線から見えるかは置いておいて、3角形から、もうちょっと頂点の多い多角形を塗りつぶしたいです。
全部の頂点の座標はわかっています。
全くプログラムの見当がつかず困っています
3Dなので、消したり描いたりが重すぎない方が良いのですが、何かいい方法はありませんでしょうか…?
三角形をある程度高速に書く方法があれば、凸な多角形は適当にやれば三角形に分割できるので簡単にかけます。凸じゃなくても形がわかっているのならどのように分割するのか人間が指定してあげれば良いです。任意の多角形をかけるようにするのは自己交差とかまで含めて考えるとかなり複雑になります。
あなたのプロジェクトを見る限り凸多角形が書きたいようなので、つまり高速に三角形を描く方法があればあとは簡単、ということになります。
高速に三角形をpenで描く最も簡単な方法は(私が知る限り)三角形の内接円を使う方法です。
scratchのpenは円形の形になる仕様なので、
三角形の内接円をそれで塗りつぶした後、太さを半分にして周りを塗り、太さをもう半分にしてさらに余った周りの部分をぬり、さらに角にあまりが残るのでまた太さを半分にして塗り、というのを太さが一定の値(0.1とか)を下回るまで続けるようにする方法です。
自分の実装はこんな感じです:https://scratch-mit-edu.ezproxyberklee.flo.org/projects/764644121/
- kokkun1
-
20 posts
100%penについて話し合う所
#476
追記:海外の方でスタンプと画像効果を組み合わせることで、高速かつテクスチャを貼れる三角形塗りつぶしエンジンを作っている人がいます。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
追記:海外の方でスタンプと画像効果を組み合わせることで、高速かつテクスチャを貼れる三角形塗りつぶしエンジンを作っている人がいます。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
- yamato0915
-
60 posts
100%penについて話し合う所
色々な方法を教えていただきありがとうございます #476
追記:海外の方でスタンプと画像効果を組み合わせることで、高速かつテクスチャを貼れる三角形塗りつぶしエンジンを作っている人がいます。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/887673108/
海外の方のものだとテクスチャが貼れるんですね!
別のことにも使えそうですね
タメになりましたありがとうございました
追記:実装できました!凹多角形に対応すれば完了ですb
Last edited by yamato0915 (June 29, 2024 15:08:55)
- jjhs3213
-
29 posts
100%penについて話し合う所
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/1043438009/
のめり込んでいるポリゴンや重なりが循環しているポリゴンを除いて、完璧に三次元上の三角形をソートし、描画するアルゴリズムを開発しました。BSPとは違い、三角形をそのままソートするだけのアルゴリズムなので、動作があまり重くありません。ただ、まだZソートに比べると遅いです。アルゴリズムについてはメモとクレジットの欄を参照してください。
のめり込んでいるポリゴンや重なりが循環しているポリゴンを除いて、完璧に三次元上の三角形をソートし、描画するアルゴリズムを開発しました。BSPとは違い、三角形をそのままソートするだけのアルゴリズムなので、動作があまり重くありません。ただ、まだZソートに比べると遅いです。アルゴリズムについてはメモとクレジットの欄を参照してください。
- dengon-kun
-
15 posts
100%penについて話し合う所
100%penの四角を回す時には、
中を塗りつぶす方法はなんですか?
[あああ v] を [90] にするでいいんですか?
ずっと
ペンを上げる
消す
((あああ) v) 度に向ける
x座標を (0) 、y座標を (0) にする
(50) 歩動かす
↻ (90) 度回す
ペンを下ろす
(50) 歩動かす
↻ (90) 度回す
(3) 回繰り返す
(100) 歩動かす
↻ (90) 度回す
end
(50) 歩動かす
[あああ v] を (1) ずつ変える
end
中を塗りつぶす方法はなんですか?
- cocoa1484
-
48 posts
100%penについて話し合う所
100%penの四角を回す時には、[あああ v] を [90] にするでいいんですか?
ずっと
ペンを上げる
消す
((あああ) v) 度に向ける
x座標を (0) 、y座標を (0) にする
(50) 歩動かす
↻ (90) 度回す
ペンを下ろす
(50) 歩動かす
↻ (90) 度回す
(3) 回繰り返す
(100) 歩動かす
↻ (90) 度回す
end
(50) 歩動かす
[あああ v] を (1) ずつ変える
end
中を塗りつぶす方法はなんですか?
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/1051193619/
はどうでしょう
Last edited by cocoa1484 (July 31, 2024 03:56:16)