スレ立てるまでもない質問はここで 153匹目
■ このスレッドは過去ログ倉庫に格納されています
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
前スレ
スレ立てるまでもない質問はここで 152匹目
https://mevius.5ch.net/test/read.cgi/tech/1573214616/
前々スレ
スレ立てるまでもない質問はここで 151匹目
https://mevius.5ch.net/test/read.cgi/tech/1541239698/
注意「〜と〜はどっちの方が○いですか?」みたいなのは
このスレの粘着荒らしですので無視してください 点のつながりや円弧で構成されている図形1と図形2があってその距離を求めたいとする場合
効率の良い定石アルゴリズムとかありますか?
それぞれの全ての点の距離を調べたら計算コストがOn^2になってしまい馬鹿にならないし
平方根を解くし計算自体も軽くない
近そうな点だけ抽出してから距離を調べるとか改善する方法はありそうですがより一般的な方法があれば・・・ >>82
アルゴリズムはいろいろあるけど
当たり判定で一番分かりやすいのは
四角や円など単純な図形で
当たり判定を近似すること
もしパッと見の雑な判定じゃダメで
精密に判定しないとダメな条件なら
衝突アルゴリズムを頑張って調べて 比較は距離^2でやって、平方根は最後に1回だけでいい >>83
精密な距離が知りたいです
当たり判定でググるとゲーム開発の話ばかり出てきます・・・
>>85
二点間の距離を求めるには三平方の定理を解くしかないと思うのですが
他の方法があるのでしょうか >>86
いやあのな、図形ごとの実際の距離は、最も近い点を見つけてからの一回だけ求めれば良いと85は言っている
二乗した値同士でも大小は判るんだから最小の距離は求まる
ちょっとは頭を使おうよ RGB(加法混食)表色系について質問です
「sRGBのある色相の純色RGB値に、補色(逆位相の純色)RGB値を加算すると当然真っ白 (R, G, B) = (1, 1, 1) になるのに、
線形RGBに変換すると成り立っていないように見えるのは間違いですか?」
例えばsRGBで色相が30°の純色 (1, 0.5, 0) は線形RGBで (1, 約0.214, 0)、補色はsRGB: (0, 0.5, 1) 線形RGB: (0, 約0.214, 1)となり、それぞれ足すとsRGBは(1, 1, 1)の真っ白になるのに線形RGBは(1, 約0.428, 1)で純色+補色=白の関係になりません
前提として以下は理解できてる状態です
○ RGB表色系は加法混食系で、3値が0だと最も暗い無彩色=黒、3値が1だと最も明るい無彩色=白
○ 線形RGB色空間(生のRGB)と、sRGB(ガンマ圧縮されたRGB)色空間は相互変換ができる
○ ガンマ圧縮をγc()、ガンマ拡張をγe()とすると
RGB_sRGB = γc(RGB_linear)
逆変換は RGB_linear = γe(RGB_sRGB)
○ RGB表色系の輝度(Luminance)・Yは
Y = Kr*R_linear + Kg*G_linear + Kb*B_linearで、
Y = Kb*γe(R_sRGB) + Kg*γe(G_sRGB) + Kb*γe(B_sRGB)
(Kr = 0.21263900587151,
Kg = 0.71516867876776,
Kb = 0.07219231536073) / IEC 61966-2-1:1999より
○ 色相が0°, 60°, 120°, 180°, 240°, 300°の時のみ線形RGBの色相とsRGBの色相が一致(0と1はガンマ圧縮・ガンマ拡張しても0と1) >>88,89 です
プログラム板は初めてなので、板違いなら誘導してもらえると助かります >>87
???スマン理解出来ないです
実際の距離を求めずに最小の距離は求まるってどういう事?
認識が食い違っているのだろうか
ttps://uploader.purinka.work/src/16484.png (実際にはもっと複雑な図形も扱います)
点の座標情報等を入力としてaとbとcを出来れば高速に求めたいって話です
あとこれ描いていて気が付いた。長い線分は途中に点を追加するなどしないと精度が出ない >>82
簡略化して表現してるだけかもしれないけど、近そうな点を抽出なんてできる?
図形1のある2点が極端に離れていたとしてもそれが描く線分が図形2の点に最接近していたりそういう線分同士が交わってたり
そんなケースは間引けないのでは
量子化して近傍点を間引くことやマンハッタン距離で候補を絞ることも考えたけど最大計算量が増えそうだな >>91
気付いたみたいだけど点を追加なんてしちゃダメ
点と線分間の距離ならO(n^2)で済むけど点を追加したらキリがない
円弧についても点の集合ではなく弧として計算可能なのでは >>91
最も小さい距離を探す
そのためには、複数の距離数値を大小比較するよね
で、その距離を求めるために平方根を使う、と
でも、わざわざ平方根を求めない二乗の距離で大小比較しても問題ないよね、と言っている
なぜなら一般には a<b なら a^2 < b^2 だから
それで最小の二乗距離が決定してから、おもむろに平方根計算すれば、最小の距離は求まる >>91
一番近いところを探すための比較を距離^2でやれば、探してる間は平方根しなくていい
距離^2の最小値の平方根が求めたい距離
円が中心座標と半径を与えられるなら距離^2でできないけど
そういう風にポリゴン近似で与えられるならポリゴンと扱うしかない
「線分 距離 プログラム」でggrks >>88
ガンマがかかってるsRGBをただ足すのに違和感がある
sRGBをただ足すのとlinearRGBをただ足すのって、違う足し方じゃないか? >>96
丁度今そう思って覗きに来てみたら……まさしく同じ指摘です
ガンマ圧縮されたsRGBのままの計算は、ツールの使用例や解説してるWebページも多いけどこれも誤りみたい
きちんとしてるソフトは入力がsRGBだとちゃんとガンマ拡張して、線形RGBか対応するXYZ色空間に変換してから計算してるとのこと
https://mikio.hatenablog.com/entry/2018/09/10/213756
言及してるページはこのページの他に数えるほどしか掛からなかったです
>>88,89 のレス・記事も"補色を求める=実質的に色相Hを扱う計算をする"時点で、先に線形RGBに変換すると良いという事
そもそもsRGBのまま値を計算に使うのが、(ほぼ誰もが見過ごしちゃってる)誤りでした >>96
本当にありがとうございます、おかげで>>88は解決しました!
連投スレ汚しで失礼しました >>99
バイナリデータって雑に言えばテキストデータではないってだけだから、入力データも中間表現も最終出力も、いずれにもなれるぞ。 バイナリであることと中間表現であることは全く何も関係ない
論理学からしてそうじゃん
・中間表現ならばバイナリである
・中間表現ならばテキストである
こう言ってるんだから論理学からやりなおした方がいい
お前が言ってる「バイナリデータって中間表現ですかね」は
・バイナリならば中間表現である
になるから全然違う
要するに、中間表現であるからといって、それがバイナリであるとは限らない
これは中間表現やバイナリがなんであるかに関わらず決まる論理学の初歩なんだから、
もう一度論理学をハナから学んだほうがいい
プログラミングやってる場合じゃねえよ
基礎が全然出来てない 論理学がどうこうというより、単にバイナリデータとバイナリコードを混同してるとかじゃないかな 中間表現がテキストだったりバイナリだったりするだけ。 >>99
ここまでひどいWikipediaの記事見たの初めて
Uncyclopediaみたいなネタサイトかと思ったわ
―――――
表現形態
中間表現はテキストデータやバイナリデータなどのデータ構造をとる。すなわち任意のデータ構造をとる。
Javaバイトコードなどの「バイトコード」はフィールドの区切りや構造の長さなどがバイト指向な中間表現を指す語である。
内部的な場合にはアドレスを指すポインタ(ないしそれを抽象化したもの)によって要素を指し示すことで効率的な表現が可能だが、ファイルに書き出すなど外部的な場合には何らかの方法で永続化が必要である。
内部的な表現としても、ポインタのような密結合で短命な表現ではなく、粗結合な表現を使うこともある。 SASS の関数の以下では、ダメなのか?
// 色の反転
.invert {
color: invert(#333); // #cccccc
}
// 色相の補色(色相環の反対色)に変更
.complement {
color: complement(#79a5e0); // #e0b479
} >>105
駄目かと
sRGBは非線形色空間だから、sRGBの数値のまま弄ってる多くの処理はめちゃくちゃ雑な近似でしかない
元レスは正当な手順を踏ませたいんでしょ >>100
入力データなら動画ファイル
最終出力(フォーマットが固定されたという意味で)なら機械語
と例が思いつくのですが、中間表現のバイナリデータって何がありますかね? Java のクラスファイルとか
file.class 編集前の動画データだって中間表現だよ
元々のデータはRAWデータ
それにテロップ入れたり効果音入れたり
そうして加工したデータもまた中間表現
それを圧縮したりするから
そして、その公開した動画だって、別の動画で利用される事もある
でだ、中間って何? 別の受け取りかたをされるかもと、蛇足
世の中では中間とか完成なんてものは、作業の区切りとしてのただの概念で、それ以上でもそれ以下でもない
プログラムでも、大昔のゲームのバイナリをエミュレータで動かすならば、元々のゲームは中間表現と見ることができるでしょ
ただの、そういうもの、に答えなんて求めることは不毛だよ
ハゲるよ プログラミングコードを記述しやすい機能が提供されてるブログサービスってありますか?
ハイフンの連続を分けて表示してくれるとか、0とOみたいな紛らわしい文字をわかりやすくしてくれるとかあると便利なのですが 紛らわしい文字に特別な処理をするのは場当たり的だから、そういうのはプログラミング向けフォントの適用で解決するのが常套かと
コードの構文によるハイライト(シンタックスハイライト)は、そういうJavaScriptライブラリを導入してHTMLに埋め込むのが手軽 数字の 0 は斜線を入れるフォントがあったけどすたれちゃったな
英文字の l と数字の 1
コロン : とセミコロン ;
ピリオド . とカンマ ,
も見間違えやすいんだが、なんか対策はある? おすすめはGoogle・Adobeが共同開発したSource Han Code JP(源ノ角ゴシック Code JP)
Oと0、:と;もはっきり 「これは@(任意の文字列A)@です。@(任意の文字列B)@のような効果があります」
という文章を
↓
「これはです。のような効果があります」
のように@(文字列)@の部分を排除したいのですが
正規表現を使って\@.*@で置き換えると
「これはのような効果があります」
になってしまいます
上手く@(文字列)@だけをヒットさせる方法ってありますかね……?
JavaのreplceAllを使って試してます 面倒なんで@[^@]*@としちゃってるけど、性能的によろしくない? プログラム初心者の俺が今htmlのプログラム作ってるんだけどbackground-colorの範囲指定で出来た余白ってどうやって消せば良い?
一応marginとかも試したけど無理っぽい
誰か助けて
調べてもよく分からなかった marginを-8pxにしたら行けたわ
すまんかった >>126
駄目だった…
確かに左側の余白は消えたが右側の余白は消えなかった … まず開発者ツールを使って、一体何に対して与作が憑いてるか確認するんだよ。 >>128
う〜ん?初心者すぎて開発者ツールの使い方かわからないな…
ちなみにこんな感じ
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<style>
.back {
margin: 0px;
width: 100%;
height: 70px;
background-color: #363636;
}
</style>
</head>
<body>
<div class="back">
<p><font face="Mv Boli" color="white" size="7">Hello</font></p>
</div>
</body>
</html> div classの後にpotision absoluteで場所指定したら行けた!
ありがとう!
開発者ツールの使い方はこの後に勉強してくる >>133
う〜ん、出来たと思ったんだけどね…
例えば画像を<div>の中に入れようとしても上手く行かないからやっぱり何かが違うんだろうね
もう一回よく調べながらやって見るわ 余白を消すって考え方がまず解決を遠ざけると思うけども
余白を埋める・潰すって方向で考えると怪しい部分がいくつか浮かんでくるはず だから何に対して余白が付いてるか調べて
それを消すだけっつーの >>119
これが2文字の場合ってどうすればいいかわかる?
@あ[^@あ]*@あ
だったら「@あ」という文字列を除外じゃなくて「@」と「あ」を含まないになっちまう >>136はブラウザの暗黙のスタイリングを知らない人向けの表現
暗黙のスタイリングを知ってる人は属性を上書きって方が適切か
どっちにしてもスタイルシートで暗黙のスタイル"指定を消す"のは無理なはず >>138
>>118、最長一致がまずいんだからそれを変えて指定すれば良い >>139
> 暗黙のスタイル"指定を消す"のは無理なはず
誰一人、スタイル指定を消すなんて言ってない。
消すのは余白 >>141
<style>内に
*{
margin: 0px;
padding: 0px;
}
を追加したら行けました もう少しだな。*はやりすぎなので
あとは使ってるタグ一つ一つ試してみぃ >>143
試したところbodyでも行けました
*よりもbodyの方が良いんですかね? >>138
そういう場合には、やはり真面目にやると面倒なんで
一文字に置換してから正規表現にかけるなんてどうだ?
URLエンコーディングの考え方を利用
つまり&を&にした後に#を♯に置換
そして「@あ」を#に置換して、#[^#]*# で正規表現 >>146
HTML文字実体参照だね
URLエンコードは%○○のやつ >>138
先読み・後読み、否定先読み・後読みなどじゃないの?
正規表現でも、これらは最難関だから、
@[^@]*@ で、[^] 内に、否定を書くのが定番のイディオム
( ) でグルーピングも使える。
例えば、(ab)+ で、ab が1回以上
まあ質問は、正規表現のスレへ移った方がよいかも 黙って見てたけどモヤモヤするう
正規表現はもう最初に答え出てるよ
@.*@ これは貪欲、欲張り、最長一致
@.*?@ これは怠惰、最短一致
?? や +? や *? のように量指定子の後ろに?を付けるとなるべく短くマッチする
正規表現エンジンがショボいと使えないけどJavaなら使えるゾ >>148
おう、間違えた
>>150
そういやJavaだったんだ
ショボい正規表現しか無い処理系の仕事が多すぎて、珍妙な案しかすぐには浮かばなくなってる C#のフォームアプリでRPGを作りながら学ぶみたいなものでお勧めの入門サイトや入門動画はないですか?
https://www.youtube.com/watch?v=vqyzfR-zbbo の動画見てたんですが途中で更新終わってしまって。 そもそもRPGは難しい
DxLibのサイトで小規模RPGのコードが全公開、
ぺんごやで全ソースコード公開、
AI断層録は戦闘前に終わってる YouTube で有名なのは、T Umezawa の、
【Java】ゲームプログラミング超入門
C# も、ある >>154
RPGが難しいというか
ゲームは大体難しいが
とくにGUIが難しいな
もし本格的なRPGを作るつもりなら
書籍を探した方が早いかもしれないし
単なる題材なら別のサンプルの方が早いかも >>156
そのumezawaさんのC#の動画見て勉強してたんですが27以降更新がないのですよね・・・
これならできそうって思えたんですが。
後javaじゃなくてC#です
RPGは一例としてあげただけなので他の題材でもあれば教えてほしいです。 単に紙芝居観せてるだけって視点で言えばどれも難易度は一緒
ただ面倒臭いだけ 動画でなく本でも良いのであれば教えていただきたいです
よろしくお願い致します。 C# で、Game なら、Unity でしょ
掌田津耶乃は有名。UE4 の本も書いてるし。
多くの言語・フレームワーク・ゲームエンジンの本を書いてる Unityとフォームアプリは同じようなものなんですか?
本当に基礎の基礎で猫でも分かるプログラミングのサイトのフォーム編に載ってるようなことを覚えたいのですが。なにかの題材を通して、覚えたいです。
よろしくお願い致します。 画面表示って点で同じとか無茶いうなよ…
全く違うと考えていい いきなりで相すいません
ゲームのmodを作りたいのでプログラム解析の勉強をしたいです
どこから始めればいいですか? プログラム解析は、
とにかくメモをかけ、できるなら図示しろ
メモが貯まってきたら分類整理しろ
矛盾していたら突き合わせろ
誰かに説明しろ(ボッチには酷) 今の現場でSVF使ってて、プリンタへ直接出力していた帳票をPDFに変更しろって言われたんだけど、
マニュアルに書いてある通りに出力先を変えるだけでほんとにちゃんとしたPDFが出るの?
なんか落とし穴がありそうなんだけど…知ってる人教えて。 元々のプリンタがチープで、PDFだとDPSとか高くて色とか正確に出たりすると
印刷と違う
というクレームが
とりあえずPDFライター買って実行してみた結果で事前に顧客と擦り合わせておかないと SVFググってみたら本当にただの設定変更なんじゃん
やらない理由を探す必要すらないと思うが
結局はプリンタの変更だから、実際に出力して顧客に見せるだけ
んで、プリンタの変更では色が違うフォントが違うレイアウトが変わったってクレームが出てくるもんだ >>166
公式でMODの仕組みがあるゲームで始めればいいよ
解析して勝手に作るのって何倍も難しくなるからね PDF出力後の問題は発生するとして、プリンタ出力からPDFに変更する時に面倒なことはないのかな…
やらない理由は探していないんだけど、やる前に知っておいた方が良いことがあれば教えてほしい。
マニュアル信じて工数見積もって、問題発生したら嫌だなと思って。 そこまで言うならghost script入れてtex入れてdvi出力、から試せばいいじゃん プリンターをmicrosoftPrint to PDFに替えてファイル出力すりゃ済むだろ >>173
社畜であって技術者じゃないんだね
調査とか顧客との調整をする前からスケジュール決めさせられて
調査次第でデスマ覚悟か >>172
とりあえずやってみます
ありがとうございます HTML5のsarcasmタグって何なんですかね? Pythonで文字列の数字を入力とする場合良きに計らってくれる関数とか標準でありませんか?
int()、float()等で数値型に変換は定番ですが
'1,000'
'10K'
みたいな入力を与えると例外を吐いてしまいます
事前に正規表現で成形する、例外をトラップする等の手段は思いつきますがいずれも冗長です
RubyのKernel.#IntegerやString#to_iみたいにそれっぽく変換してくれるとすごくありがたいのですが・・・
ttps://docs.ruby-lang.org/ja/2.6.0/method/Kernel/m/Integer.html ←かなりファジーに変換する
ttps://docs.ruby-lang.org/ja/2.6.0/method/String/i/to_i.html ←数字と認識できるところまで変換する
ttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/parseInt ←このくらいでも大分楽 ■ このスレッドは過去ログ倉庫に格納されています