[過去ログ] スレ立てるまでもない質問はここで 163匹目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(2): デフォルトの名無しさん (スプッッ Sdce-vVXl) [sage] 2022/12/08(木) 12:29:27.06 ID:Nq8u2KPWd(1) AAS
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980
980(1): デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 05:24:28.85 ID:hSdkmotY0(2/4) AAS
frameというのは半周期の分割数?
が立てること

【前スレ】
スレ立てるまでもない質問はここで 162匹目
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
978: デフォルトの名無しさん (ワッチョイ 0202-Ay2p) [] 2023/04/09(日) 04:41:22.17 ID:OOQLx3Q60(2/5) AAS
>>977
977(1): デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 04:37:27.61 ID:hSdkmotY0(1/4) AAS
こうしたいってこと?
そうです
正弦波の波の動きを片方だけ長くしたり短くしたりしたいんです
979: デフォルトの名無しさん (ワッチョイ 0202-Ay2p) [] 2023/04/09(日) 04:50:07.09 ID:OOQLx3Q60(3/5) AAS
一番下の正弦波を上の2つのように変化させたいです
画像リンク

981
(1): デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 05:29:20.89 ID:hSdkmotY0(3/4) AAS
なんでも良ければこれで大丈夫かと

import math

frame1 = 4
frame2 = 2

# 0 to pi/2
for i in range(0,frame1):
# print(i)
num = math.sin(i*math.pi/2/frame1)*1000
num = math.floor(num)/100
print(num)

# pi/2 to pi
for i in range(0,frame2):
# print(i)
num = math.sin(math.pi/2 + i*math.pi/2/frame2)*1000
num = math.floor(num)/100
print(num)

# pi to 3pi/2
for i in range(0,frame2):
# print(i)
num = math.sin(math.pi+ i*math.pi/2/frame2)*1000
num = math.floor(num)/100
print(num)

# 3pi/2 to 2pi
for i in range(0,frame1):
# print(i)
num = math.sin(3*math.pi/2 + i*math.pi/2/frame1)*1000
num = math.floor(num)/100
print(num)
982
(1): デフォルトの名無しさん (ワッチョイ 0202-Ay2p) [] 2023/04/09(日) 06:12:59.20 ID:OOQLx3Q60(4/5) AAS
>>981
いけました
ありがとうございます

math.sinの仕組みがよくわかってないんですけどframe変数に偶数を入れておけば
綺麗に数値が繰り返されるのでこの変数を使って反復運動の速度を調整してました

この変更っていうのはなにか決まりがあってやってるですかね
ちょっと見ただけじゃ何をしてるのかがよくりませんでした

num = math.sin(i*math.pi/2/frame1)*1000
num = math.sin(math.pi/2 + i*math.pi/2/frame2)*1000

num = math.sin(math.pi+ i*math.pi/2/frame2)*1000
num = math.sin(3*math.pi/2 + i*math.pi/2/frame1)*1000
983
(1): デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 07:36:52.26 ID:hSdkmotY0(4/4) AAS
②のときは
math.sin(math.pi/2 + i*math.pi/2/frame2)
(i : 0, 1, 2, ..., frame2)

開始位置はπ/2
それが前半の「math.pi/2」に対応する

その開始位置からπ/2進める
frame2[回]でπ/2進むようにするために後半の「i*math.pi/2/frame2」がある

>>982

984: デフォルトの名無しさん (ワッチョイ 0202-Ay2p) [sage] 2023/04/09(日) 22:29:57.79 ID:OOQLx3Q60(5/5) AAS
>>983
解説どうもです
こういうのはプログラミングをやっていればわかることなんですかね
それとも数学とかを学んでいるからわかることなんですかね

こういうことがすぐにわかれば応用がきくので作業がはかどるなあとは思うのですがまったくわからない状態でして
985
(1): デフォルトの名無しさん (ブーイモ MMcd-OxX8) [sage] 2023/04/09(日) 22:55:07.40 ID:yYyAhZLzM(1) AAS
ある種の変調だよね

簡単な機能を、重ね合わせるって発想
それをコードに落とし込んでる 慣れるよ
986: デフォルトの名無しさん (ブーイモ MM66-9pDP) [] 2023/04/10(月) 05:03:08.46 ID:oMIHCwe3M(1) AAS
30代Pythonクソチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
987
(1): デフォルトの名無しさん (ワッチョイ 827f-UjMO) [] 2023/04/10(月) 17:55:37.92 ID:VcrlTKv20(1) AAS
二次元配列って行の長さが全部同じグリッドで使う必要ないよね?
[y][x]で見るよりy=i//幅とx=i%幅のが早そうだし
988: デフォルトの名無しさん (アウアウウー Sa05-NO7/) [sage] 2023/04/10(月) 18:12:41.02 ID:rZwv5F2aa(1) AAS
除算が入るのに速いわけないやん
989
(1): デフォルトの名無しさん (ワッチョイ bd5f-JuRI) [sage] 2023/04/10(月) 18:48:22.95 ID:0qWpy2US0(1) AAS
除算は関係を書いたまでで座標アクセスでは発生しないよね
境界を超えたときにエラーにしたいか
前後の行にまわりこんでよいかの違いかな
990: デフォルトの名無しさん (ワッチョイ d907-NO7/) [sage] 2023/04/10(月) 18:49:41.34 ID:b/90pZbw0(1) AAS
そう思うなら計測してみなよ
991: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/10(月) 19:26:39.32 ID:pIBx+EyQ0(1) AAS
>>987
二次元配列ってのは2つの添え字から楽に格納先を見る方法だから、そうする必要があるのか、ないのかってこと。
例えば先頭から順次、連続して一次元的に参照するならそもそも二次元配列は使わなくてよし
992: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/10(月) 22:00:23.56 ID:IbkX37li0(1) AAS
424b-jq58は次スレ立てんの?
993: デフォルトの名無しさん (ワッチョイ eebb-eWK2) [sage] 2023/04/10(月) 22:02:00.90 ID:HMKmXAnI0(1) AAS
ジャグ配列の話してる?
994: デフォルトの名無しさん (ワッチョイ 0202-Ay2p) [sage] 2023/04/10(月) 23:16:02.46 ID:n9iaoSFs0(1) AAS
>>985
そうですか
三角関数調べると波の位置でπの値は決まってるんですね
高校kで挫折してまったく内容把握してなかったです
どうもでした
995: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/10(月) 23:28:40.56 ID:4WfJWb9Xd(1) AAS
>>989
[y][x]でアクセスしても内部で除算してるし(ただしxが2^nの場合はシフトと&に最適化されるはず)
境界越えてもエラーにならず前後の行にまわりこんでしまうよ
996: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/10(月) 23:49:09.10 ID:18ZE+qPed(1) AAS
…いや除算ではなく乗算か

こういう事を言ってるんだと思うのだが

int table[10][10];
table[y][x]=55;

int table[10*10];
table[y*10+x]=55;

上も下もおそらく同じコードが生成されて
どっちもxかyが10以上でもエラーにならない(一般保護エラーになるかもしれない)
範囲チェックしないのは多元配列の問題ではなくCの配列の一般的な問題
997: デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/11(火) 00:19:50.35 ID:KrSp3HQhd(1) AAS
あっしまったここC言語スレじゃねえw
998: デフォルトの名無しさん (ワッチョイ d907-NO7/) [sage] 2023/04/11(火) 07:51:00.54 ID:gigFj8HV0(1) AAS
除算と乗算の区別がつかないのは相当ポンコツだぞ
999: デフォルトの名無しさん (アウアウウー Sa05-cPl8) [sage] 2023/04/11(火) 12:39:40.55 ID:cuNKlQrva(1) AAS
>>972
972(1): デフォルトの名無しさん (ワンミングク MM52-ohv4) [] 2023/04/08(土) 19:16:57.04 ID:7VZaiwVkM(1) AAS
起動後に自身のコマンドラインを書き換えるプログラムがあったんですがどういう仕組みなんですか
例えば、Ruby のOptionParser は、ARGV を書き換える

例えば、以下のコードを、script.rb に書いて、
ruby script.rb -a あ x
と実行すると、

OptionParserがARGVを解析し、-a オプションが解析済みとして取り除かれて、
残りの引数だけが、未解析として残る

ruby script.rb x -a あ
ただし、この順番では、-a はオプションとはみなされず、取り除かれないので要注意!

require 'optparse'

p ARGV #=> ["-a", "あ", "x"]

opt = OptionParser.new
p params = opt.getopts( ARGV, "a" ) # -a を定義する
#=> {"a"=>true}

p ARGV #=> ["あ", "x"]
1000: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/11(火) 19:10:26.92 ID:f7dSY1B50(1) AAS
スレ立てるまでもない質問はここで 164匹目
2chスレ:tech
1001
(1): 1001 [] ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 124日 6時間 41分 0秒
1002
(1): 1002 [] ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
外部リンク:premium.5ch.net

▼ 浪人ログインはこちら ▼
外部リンク[php]:login.5ch.net
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.332s*