[過去ログ] スレ立てるまでもない質問はここで 163匹目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(2): (スプッッ Sdce-vVXl) 2022/12/08(木)12:29 ID:Nq8u2KPWd(1) AAS
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 162匹目
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
973: (ワッチョイ 6ecf-Rzwh) 2023/04/08(土)19:32 ID:tM+hyW0O0(1/2) AAS
Cだとargvの中身を書き換えることで出来る環境もある
書き換えるとpsとか/proc/pid/cmdlineとかの表示が変わる
974: (ワッチョイ bd5f-JuRI) 2023/04/08(土)21:01 ID:Qj3LoyOi0(1) AAS
Cでそんな気をつかった動作する実装あんだね
975: (ワッチョイ 6ecf-Rzwh) 2023/04/08(土)22:44 ID:tM+hyW0O0(2/2) AAS
そりゃあるんじゃねーの?
何が言いたいのかよく分かんねーやw
976: (ワッチョイ 0202-Ay2p) 2023/04/09(日)03:52 ID:OOQLx3Q60(1/5) AAS
pythonでsinを使って生成した数字を使って前半で溜め、後半で一気に動かすという感じのアニメーションをさせたいのですが
このスクリプトだと出力できる数字は0 と10の繰り返しになりますが
これをたとえば0 2 4 6 8 10 5 0 の繰り返しのようにできないですかね?
その数字のとおりにやりたいというよりも、前半の数字の変化を後半の数字の変化よりも長くしたいんです
import math
frame = 2
for i in range(0,frame+1):
# print(i)
num = math.sin(i*math.pi/frame)*1000
num = math.floor(num)/100
print(num)
977(1): (ワッチョイ 424b-jq58) 2023/04/09(日)04:37 ID:hSdkmotY0(1/4) AAS
こうしたいってこと?
978: (ワッチョイ 0202-Ay2p) 2023/04/09(日)04:41 ID:OOQLx3Q60(2/5) AAS
>>977
そうです
正弦波の波の動きを片方だけ長くしたり短くしたりしたいんです
979: (ワッチョイ 0202-Ay2p) 2023/04/09(日)04:50 ID:OOQLx3Q60(3/5) AAS
一番下の正弦波を上の2つのように変化させたいです
画像リンク
980(1): (ワッチョイ 424b-jq58) 2023/04/09(日)05:24 ID:hSdkmotY0(2/4) AAS
frameというのは半周期の分割数?
981(1): (ワッチョイ 424b-jq58) 2023/04/09(日)05:29 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 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) 2023/04/09(日)07:36 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) 2023/04/09(日)22:29 ID:OOQLx3Q60(5/5) AAS
>>983
解説どうもです
こういうのはプログラミングをやっていればわかることなんですかね
それとも数学とかを学んでいるからわかることなんですかね
こういうことがすぐにわかれば応用がきくので作業がはかどるなあとは思うのですがまったくわからない状態でして
985(1): (ブーイモ MMcd-OxX8) 2023/04/09(日)22:55 ID:yYyAhZLzM(1) AAS
ある種の変調だよね
簡単な機能を、重ね合わせるって発想
それをコードに落とし込んでる 慣れるよ
986: (ブーイモ MM66-9pDP) 2023/04/10(月)05:03 ID:oMIHCwe3M(1) AAS
30代Pythonクソチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
987(1): (ワッチョイ 827f-UjMO) 2023/04/10(月)17:55 ID:VcrlTKv20(1) AAS
二次元配列って行の長さが全部同じグリッドで使う必要ないよね?
[y][x]で見るよりy=i//幅とx=i%幅のが早そうだし
988: (アウアウウー Sa05-NO7/) 2023/04/10(月)18:12 ID:rZwv5F2aa(1) AAS
除算が入るのに速いわけないやん
989(1): (ワッチョイ bd5f-JuRI) 2023/04/10(月)18:48 ID:0qWpy2US0(1) AAS
除算は関係を書いたまでで座標アクセスでは発生しないよね
境界を超えたときにエラーにしたいか
前後の行にまわりこんでよいかの違いかな
990: (ワッチョイ d907-NO7/) 2023/04/10(月)18:49 ID:b/90pZbw0(1) AAS
そう思うなら計測してみなよ
991: (ワッチョイ bd02-oFYy) 2023/04/10(月)19:26 ID:pIBx+EyQ0(1) AAS
>>987
二次元配列ってのは2つの添え字から楽に格納先を見る方法だから、そうする必要があるのか、ないのかってこと。
例えば先頭から順次、連続して一次元的に参照するならそもそも二次元配列は使わなくてよし
992: (ワッチョイ 6ecf-Rzwh) 2023/04/10(月)22:00 ID:IbkX37li0(1) AAS
424b-jq58は次スレ立てんの?
993: (ワッチョイ eebb-eWK2) 2023/04/10(月)22:02 ID:HMKmXAnI0(1) AAS
ジャグ配列の話してる?
994: (ワッチョイ 0202-Ay2p) 2023/04/10(月)23:16 ID:n9iaoSFs0(1) AAS
>>985
そうですか
三角関数調べると波の位置でπの値は決まってるんですね
高校kで挫折してまったく内容把握してなかったです
どうもでした
995: (スッププ Sd22-QGEt) 2023/04/10(月)23:28 ID:4WfJWb9Xd(1) AAS
>>989
[y][x]でアクセスしても内部で除算してるし(ただしxが2^nの場合はシフトと&に最適化されるはず)
境界越えてもエラーにならず前後の行にまわりこんでしまうよ
996: (スッププ Sd22-QGEt) 2023/04/10(月)23:49 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) 2023/04/11(火)00:19 ID:KrSp3HQhd(1) AAS
あっしまったここC言語スレじゃねえw
998: (ワッチョイ d907-NO7/) 2023/04/11(火)07:51 ID:gigFj8HV0(1) AAS
除算と乗算の区別がつかないのは相当ポンコツだぞ
999: (アウアウウー Sa05-cPl8) 2023/04/11(火)12:39 ID:cuNKlQrva(1) AAS
>>972
例えば、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) 2023/04/11(火)19:10 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-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.216s*