X



スレ立てるまでもない質問はここで 153匹目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2020/04/06(月) 12:04:45.73ID:xHCNmW/7
質問する前に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/

注意「〜と〜はどっちの方が○いですか?」みたいなのは
このスレの粘着荒らしですので無視してください
0011デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:07:27.50ID:yDozqYe9
基本的にはForms主体でいいし
wpfだとMVVMとの組み合わせで最強だけど、IT土方な案件とか日本企業で使ってるの見たことない
0012デフォルトの名無しさん
垢版 |
2020/04/08(水) 15:46:25.46ID:6CU3po2u
mac pro mojabe 10 14 6でブートキャンプを入れています。
これをvirtualboxに移したくてサイトを見ていたのですが途中でエラーが出ました。
https://ryuta46.com/238 これの5です
最初の保護機能無効化をしてstatusで確認もしました。
今の様子ですhttps://ideone.com/r9WLxH

os板のvirtualboxスレで同じことを聞いたのですが回答がなかったので締めました。
0013デフォルトの名無しさん
垢版 |
2020/04/08(水) 22:13:06.60ID:RZJgcokN
VisualStudioで完全一致検索で置き換えできないでしょうか?

文字A を検索して 文字Bに置き換えしようとした時文字Aだけを置き換えたいのですが
文字A_文字B

文字B_文字B
になってしまいます
0014デフォルトの名無しさん
垢版 |
2020/04/08(水) 22:49:50.26ID:+ufIeUeW
>>13
リファクター -> 名前の変更 を使うといい

文字列置換でも
スペース文字Aスペース -> スペース文字Bスペース とすればいける気がする
だめなら正規表現で
0015デフォルトの名無しさん
垢版 |
2020/04/08(水) 23:09:40.68ID:RZJgcokN
>>14
すでに名前が変わってるのに対しては リファクターは無理みたいでした

正規表現を使用するにチェックして
 ^文字A  と 文字A.$
を試してみたのですが何もヒットしないのですがこれは書き方がわるいのかな?
0017デフォルトの名無しさん
垢版 |
2020/04/08(水) 23:35:47.77ID:ZCP6byHK
単語単位じゃダメなの?
"^文字A"は行頭の文字A、"文字A.$"は行末の文字Aを意味するんだけどそれでいいの?
0018デフォルトの名無しさん
垢版 |
2020/04/09(木) 00:09:12.07ID:5z1FxYR2
>>17
^文字A.$
としたら完全一致するかなと思ったけど駄目だろうか
片方づつでもヒットしないのは何故・・・そもそも書き方を勘違いなのか

>>16
>>\b文字A\b
これでいけましたありがとうございます!
0019デフォルトの名無しさん
垢版 |
2020/04/09(木) 00:51:01.36ID:XKMcLRnY
性器表現はこれですよ
ω Φ
0021デフォルトの名無しさん
垢版 |
2020/04/09(木) 05:40:49.57ID:1N7Yr6aL
マルチスレッドについてききたいのですが、
これってCPUのコア(やスレッド)を同時に2つ以上使用するものですか?
もしそうなら単コアのPCの場合は使えないんですか?
0023デフォルトの名無しさん
垢版 |
2020/04/09(木) 08:47:24.15ID:DDtNDCwW
>>21
有効に働くにはコア数以下である必要があるけど、時分割で動くという性質は強力なんでコア数以上にスレッドは生成できるし動作する
0024デフォルトの名無しさん
垢版 |
2020/04/09(木) 08:56:17.98ID:DDtNDCwW
蛇足
スレッドはプロセス内で動くプロセスと説明する人もいたはず(正しいか知らない
その昔のMSDOSではそのプロセスも基本的には一つだった
それが、時分割されるWindowsで同時実行できるようになって便利になった
当時はマルチコア以前
プロセスと同じくスレッドも同時実行できると超便利なんで、何とかしてサポートしようという動きがあるのは不思議じゃない
0026デフォルトの名無しさん
垢版 |
2020/04/09(木) 13:29:21.54ID:XKMcLRnY
本を読んでて
「おまじない」「オマジナイ」
この言葉ほどムカつくものはない。

読者としては知りたい。
たとえ難しい概念でいまは理解しなくてよいものだとしても、軽くその概要だけでも知りたいのに。

こんな言葉は筆者の怠慢であり怠けでもある。
上から目線なのもムカつく。
読者というものはプログラミングをマスターしたいのであって、いつかは筆者のスキルレベルを超えようと思っている。
こんな「おまじない」みたいな言葉でごまかさまいでほしい。
0027デフォルトの名無しさん
垢版 |
2020/04/09(木) 13:37:02.46ID:NBmEeUVF
割愛されるのが嫌ならオフィシャルのリファレンスマニュアル頭から読んどけよ
0029デフォルトの名無しさん
垢版 |
2020/04/09(木) 14:08:53.17ID:G208HopB
>>26
オマジナイで済ますのは、対象読者にとってその段階で不必要な知識、または本筋からそれる話と筆者が判断したということだろ。
必要ならそれが載ってるより高度な本なり他の情報なりを当たればいいだけなのだから、それをしないのはお前の怠慢では?
0031デフォルトの名無しさん
垢版 |
2020/04/09(木) 14:49:00.75ID:6sLGJrMg
wsl や cygwin で

$ mv 'テスト' test

とすると

test\r

というファイルができてしまいます。

test

というファイルにするにはどうすればいいですか?
0032デフォルトの名無しさん
垢版 |
2020/04/09(木) 15:03:28.03ID:XKMcLRnY
>>29
なんだチミワってか?
いやオレが本を書く筆者なら「おまじない」という人を見下した表現は使わない。
0033デフォルトの名無しさん
垢版 |
2020/04/09(木) 15:31:15.99ID:pqMoXxyo
>>31
まさか末尾に、改行コードなど付かないだろ

改行を押したら、シェルが構文解析するだけだろ
0034デフォルトの名無しさん
垢版 |
2020/04/09(木) 16:49:44.89ID:41sT6Zae
>>31
使用しているコンソールの設定に改行コードをどうするかの設定がないかな
ファイル名の最後が「\r」ってなるのは入力されたWindowsの改行コード「\r\n」が
コマンドで「\n」のみが改行コードとして認識されているので「\r」が残っているんだと
思うけど
0035デフォルトの名無しさん
垢版 |
2020/04/09(木) 16:52:25.51ID:7CAQ8ULU
>>26
>「おまじない」
たしかにごまかしてる言葉でオレも嫌いだが
そういうの書くのはたいてい
入門書だから仕様がない面があるかも

要は小学生の算数で連立方程式
持ち出さないようなことだから
自分がもっと先に進めばいいだけ

だからもっと難しい本だとか
言語などのリファレンスやコード
を読むとかすればいい
0036デフォルトの名無しさん
垢版 |
2020/04/09(木) 16:56:24.59ID:7CAQ8ULU
>>30
それはズバリRubyやPythonだね!
元ネタにしてる所があるから

ただSmalltalk(Squeak)の
エディタに相当するものが何かは難しいけど
まあVSCodeとか今のエディタは使いやすいから
LispやSmalltalkをそのまま使うより不満は少ないだろう
0038デフォルトの名無しさん
垢版 |
2020/04/09(木) 18:13:19.59ID:7CAQ8ULU
>>37
RubyとPythonは言語的にかなり近いから
兄弟みたいなもんでしょ?

あとPythonを挙げたのは
AIブームとかで普及率が高いから
選択肢を与える意味で挙げた所もある

個人的にはRubyの方が書きやすくて好きだが
他人に対しては好みを押しつける奴は嫌いだし
0039デフォルトの名無しさん
垢版 |
2020/04/09(木) 18:16:32.66ID:09nXStiY
reactivexでサーバ(のリクエストハンドラ)を作るにはどんな感じにすればいいの?
検索してもサンプルが見つからない。

非通信系のサンプルコードはいくつか見つかるんだけど、
reactivexを通信処理のサーバ側と組み合わせる方法が良く分からない。
0040デフォルトの名無しさん
垢版 |
2020/04/09(木) 18:47:02.17ID:XKMcLRnY
>>35
小学生の算数でそんな話題になったら
「中学では連立方程式というのを習います。これは高度な算数で未知数にxとyという2つの文字を使うのです。いま小5ではxしか使いませんがわくわくしますね。」
みたいに書いてくれてたら算数ができる人にとっては好奇心を刺激するし満足感がある。

プログラミングの本でもそうであってほしい。
0041デフォルトの名無しさん
垢版 |
2020/04/09(木) 18:52:06.08ID:7CAQ8ULU
>>40
うんまあ「おまじない」で済ますより
著者ができるならサラッと要約して
「詳しく知りたい方は〜を参照して」
みたいな書き方の方がスマートだよね
0042デフォルトの名無しさん
垢版 |
2020/04/09(木) 19:08:41.42ID:DptrP9KV
まんごるもあ博士のようになりたいのですが、どの言語を勉強すればいいですか?
0043デフォルトの名無しさん
垢版 |
2020/04/09(木) 19:54:55.25ID:DxBHEDMi
おまじないが許せない性格の方がプログラマーに向いてると思う
まぁこんなもんだろって性格だとバグだらけになるし
0044デフォルトの名無しさん
垢版 |
2020/04/10(金) 01:56:38.78ID:bW8sK5bm
そこで、自分から「なんで、そうしなきゃならんのだ」と調べ始めるなら、そうだろうけど
0045デフォルトの名無しさん
垢版 |
2020/04/10(金) 04:07:55.87ID:uDvGi+nW
プログラミングにはやってはいけない勉強法がある!?爆速で成長する王道のプログラミング学習法を紹介!
https://www.youtube.com/watch?v=ZJqVQJwvwNI
慶應主席レベルの秀才がプログラミングの独学に失敗した理由
https://www.youtube.com/watch?v=F2m1bsqaAHg
知らずに転職したら失敗する!ブラックIT企業を見分ける11のポイントを徹底解説
https://www.youtube.com/watch?v=a8qDFMsYAqM
営業マンが独学のみでプログラマーに転職して1年で月収80万超えた話
https://www.youtube.com/watch?v=94YQSckQGCs
未経験から2年でフリーランスエンジニアに!安定的に稼げるようになるための5ステップ
https://www.youtube.com/watch?v=oGNpEmFOEcU
フリーランスエンジニアになるなら大規模ベンチャー or 小規模ベンチャー どっち?
https://www.youtube.com/watch?v=-39tg9icRlU
【初心者必見】Webライター・Webマーケターを目指すならまずこの5冊!プロ御用達の文章術本を徹底紹介
https://www.youtube.com/watch?v=y_QBBLdG9QM
【本質】稼げるフリーランスライターになるための前提とは【記事数=ライターの価値じゃない】
https://www.youtube.com/watch?v=xFDMgcpknDA
生産性10倍!知らないと損する3つの最強デザインツール
https://www.youtube.com/watch?v=z6x1R1455Kc
0047デフォルトの名無しさん
垢版 |
2020/04/10(金) 08:35:18.74ID:OtOuEVo6
プログラミングにはやってはいけない勉強法がある!?爆速で成長する王道のプログラミング学習法を紹介!
https://www.youtube.com/watch?v=ZJqVQJwvwNI
慶應主席レベルの秀才がプログラミングの独学に失敗した理由
https://www.youtube.com/watch?v=F2m1bsqaAHg
知らずに転職したら失敗する!ブラックIT企業を見分ける11のポイントを徹底解説
https://www.youtube.com/watch?v=a8qDFMsYAqM
営業マンが独学のみでプログラマーに転職して1年で月収80万超えた話
https://www.youtube.com/watch?v=94YQSckQGCs
未経験から2年でフリーランスエンジニアに!安定的に稼げるようになるための5ステップ
https://www.youtube.com/watch?v=oGNpEmFOEcU
フリーランスエンジニアになるなら大規模ベンチャー or 小規模ベンチャー どっち?
https://www.youtube.com/watch?v=-39tg9icRlU
【初心者必見】Webライター・Webマーケターを目指すならまずこの5冊!プロ御用達の文章術本を徹底紹介
https://www.youtube.com/watch?v=y_QBBLdG9QM
【本質】稼げるフリーランスライターになるための前提とは【記事数=ライターの価値じゃない】
https://www.youtube.com/watch?v=xFDMgcpknDA
生産性10倍!知らないと損する3つの最強デザインツール
https://www.youtube.com/watch?v=z6x1R1455Kc
0050デフォルトの名無しさん
垢版 |
2020/04/10(金) 14:20:04.34ID:OtOuEVo6
構造体や列挙体と、クラスの関係ってなんですか?
クラスのできそこないと考えていいですか?

インスタンス化はできないけど
構造体はプロパティのみでメソッドがないクラス、
列挙体は定数(変更できないプロパティ)のみのクラス、
と考えればスッキリしそうですが。
0052デフォルトの名無しさん
垢版 |
2020/04/10(金) 17:57:31.05ID:tJvmHEKv
>>50
>クラスのできそこない
なんだそりゃw
腐ったみかんじゃねーぞ!

構造体はデータ構造
クラスはデータ型
0053デフォルトの名無しさん
垢版 |
2020/04/10(金) 18:10:09.55ID:2KZut19P
Ruby では構造体は、クラス・ジェネレーター。
簡易クラス。ほぼ同じ

Rails では、構造体でフレームワークを作っている。
使う側は、クラス
0054デフォルトの名無しさん
垢版 |
2020/04/10(金) 19:36:23.51ID:bW8sK5bm
VB.net って、unsafe が使えないと聞いてたんだけど
実は unsafe ではない普通の安全が無いだけ?
全て危険なモードで動かすように見える
0057デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:01:08.26ID:tJvmHEKv
C#だとクラスと構造体で
細かい挙動の違いが色々ある

……が、言語ごとの挙動の違いはともかく
クラスは型だが構造体はデータ構造(データの入れ物)
を表現するものとして使い分けるのを推奨する
0058デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:14:11.43ID:OtOuEVo6
型とデータ構造の違いはなんなのだ?
呼び名が変わっただけで何の説明にもなってないぞ。
0059デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:39:53.99ID:JXOjZTrq
俺様は理解した。
0060デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:46:18.62ID:Ntz3fYqx
>>57
データ構造と言えば普通はリストやスタック、キュー、グラフ、木構造とかのことを言うだろう。構造体をデータ構造とは普通は言わんぞ。
0061デフォルトの名無しさん
垢版 |
2020/04/10(金) 22:18:33.95ID:OtOuEVo6
あと列挙体は?
int型の定数(変更できないプロパティ)のみのクラス
ということでいい?
0062デフォルトの名無しさん
垢版 |
2020/04/10(金) 23:58:58.75ID:tJvmHEKv
>>58
そうだな詳しく説明しよう

データ構造はデータの入れ物として
たとえば配列とかハッシュのように使う

配列にメソッドを直接色々つけて複雑な処理をする
ってのはあまり見ないと思うし構造体でもしない
(言語仕様上はできても普通はまずやらない)

一方のクラスは型で設計書のようなものだから
複雑な処理をしたいならクラスから作った
オブジェクトに配列を持たせて
処理しようと考えるのが自然だろう

それは構造体にも言えることだということ
まとめると構造体はデータの入れ物として使うけど
クラスは設計書だからもっと複雑な処理に使える
0063デフォルトの名無しさん
垢版 |
2020/04/11(土) 06:35:20.32ID:xAZRHMqH
配列にはたいていメソッドがついてるが、言語設計者はバカばかりって事?
0064デフォルトの名無しさん
垢版 |
2020/04/11(土) 07:34:18.72ID:IIwenwUg
クラスと構造体の違いは歴史も踏まえて区別しないと説明しにくい

クラスはオブジェクト指向プログラミングと共に現れた概念で、プログラマーが自由に変数とメソッドをまとめてカプセル化する目的のもの
構造体はそれより昔からある概念で、変数のみを自由にまとめるもの
ただし同じ型の変数を任意長さで並べたものは配列と呼び構造体とは呼ばない
0065デフォルトの名無しさん
垢版 |
2020/04/11(土) 07:34:59.19ID:IIwenwUg
クラスという新しい概念の出現によって構造体との区別は曖昧になった
クラスは構造体の概念を内包できるので、現時点のJava等、言語によってはクラスだけで賄い、構造体という言語仕様を持たない
また言語によっては、単純なデータ型であることが明確化できる、記法が簡略化できる、メモリ特性が違うなどの理由で構造体をクラスと使い分けている
0066デフォルトの名無しさん
垢版 |
2020/04/11(土) 07:39:13.20ID:IIwenwUg
オブジェクト指向言語における構造体や配列は、利便性のためにクラスの一種として扱えるようにデザインされている
データの器であるという用途を逸脱しない範囲で、組み込みのメソッドが用意されている
言語によっては構造体や配列に好き勝手なメソッドを追加できるけど普通はやらない
0067デフォルトの名無しさん
垢版 |
2020/04/11(土) 07:49:37.48ID:IIwenwUg
オブジェクト指向言語における列挙体は定数を表すクラスと考えて差し支えない
intとは限らず最近はシングルトンを使う
特定ドメインの有限個の選択肢を定義して、型安全やswitchにおける記述漏れの検出のような恩恵を得るもの
無限個の場合はsealedクラスを使う
0068デフォルトの名無しさん
垢版 |
2020/04/11(土) 09:13:58.30ID:GOACUDMk
ID:IIwenwUg
独演会は他でやれ
>>50
似たような質問はよくあるけど「言語によって意味が変わる」上に「説明するために定義されている言葉」を
「『言語を指定せず』に説明してほしい」ってできない話だからせめて言語指定してね
0070デフォルトの名無しさん
垢版 |
2020/04/11(土) 11:42:54.16ID:GhIPD6XA
>>69
goの構造体はcの構造体に近くてただのコンテナ

蛇足

メソッドを生やすと言ってたのは、構造体へのポインタに対する操作関数を記述すること(レシーバ)
このメソッドのシグネチャを纏めたものがインタフェース
インタフェースを完備した構造体は、そのインタフェースのインスタンスとして扱えるようになる
これで多態性を実現している(実は多重継承までできる)

特徴的なのはレシーバのコードでは、そのインタフェースのためのメソッドである、という言語的な宣言がないこと
操作関数が完備されていなかったら、使用時に代入とかがコンパイルエラーになる
完備していたらオッケーオッケー

そのため後付けで既存の構造体にレシーバを増やしてインタフェースを新設して拡張できる
0071デフォルトの名無しさん
垢版 |
2020/04/11(土) 20:21:08.26ID:U0hE2lqa
通信内に含まれるブラウザ等情報としてこのサイトにアクセスすると

now.toLocaleString
使用パソコンの内部日時を表しています。
表示形式はOSやブラウザにより異なります。

に示された時間が何年も前なんですがなぜですか?
なおosから見た時間は現在を示しています
0073デフォルトの名無しさん
垢版 |
2020/04/11(土) 21:08:27.21ID:6g5H7RR3
>>63
それは配列のためのメソッドで
ビジネスロジックのメソッドじゃないでしょ?
だからやはりデータの入れ物を想定してるはず

ビジネスロジック(売上や利益を分析するとか)は
配列に直接メソッドを生やさないで
普通は配列の上からクラスでラップして使う
0074デフォルトの名無しさん
垢版 |
2020/04/11(土) 21:08:43.40ID:6g5H7RR3
>>64-67
全体の論旨に異論ない

クラスはオブジェクト指向の単位で
構造体は構造化の単位だから
見た目は似てても使われ方が違う
0075デフォルトの名無しさん
垢版 |
2020/04/11(土) 22:23:43.97ID:ztdJ/F70
ORマッパーが優秀でデータベースの事あんまり考えなくて良い
or
クラスに載せた情報を何も考えずDBに突っ込めるような言語とDB(NoSQLでも可)の組み合わせってないですかね

プライベートも本業もC#なんだけど
EntityFrameworkがなんか思ってたのと違って微妙
だからといって直接SQL書くのもなんかなあって状態で
何の言語勉強すればいいのか分からなくなってます
0081デフォルトの名無しさん
垢版 |
2020/04/14(火) 00:33:42.45ID:CfDohWIc
>>75
Ruby on Rails 6 では、GitHub 主導で、複数DB のリードレプリカも出来た。
大規模向け

今まではのRails は基本、Mac・仮想OS でLinux だったが、
Windows 10, WSL, Ubuntu 18.04 でも、環境構築できるようになった。
VSCode の拡張機能、Remote WSL も使う

Linux側には、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
rubyのコンパイルに、20分ほど掛かって、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn のコマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

where yarn
C:\Program Files (x86)\Yarn\bin\yarn
C:\Program Files (x86)\Yarn\bin\yarn.cmd
C:\Program Files (x86)\Yarn\bin\yarn.js
0082デフォルトの名無しさん
垢版 |
2020/04/14(火) 15:29:10.73ID:4fqhpKnx
点のつながりや円弧で構成されている図形1と図形2があってその距離を求めたいとする場合
効率の良い定石アルゴリズムとかありますか?

それぞれの全ての点の距離を調べたら計算コストがOn^2になってしまい馬鹿にならないし
平方根を解くし計算自体も軽くない
近そうな点だけ抽出してから距離を調べるとか改善する方法はありそうですがより一般的な方法があれば・・・
0083デフォルトの名無しさん
垢版 |
2020/04/14(火) 15:53:36.52ID:w1AsLTlB
>>82
アルゴリズムはいろいろあるけど
当たり判定で一番分かりやすいのは
四角や円など単純な図形で
当たり判定を近似すること

もしパッと見の雑な判定じゃダメで
精密に判定しないとダメな条件なら
衝突アルゴリズムを頑張って調べて
0084デフォルトの名無しさん
垢版 |
2020/04/14(火) 20:04:20.04ID:S7/oZMJ3
>>81
ありがとう勉強になった
調べてみる
008682
垢版 |
2020/04/14(火) 23:30:11.11ID:gE6r2XKg
>>83
精密な距離が知りたいです
当たり判定でググるとゲーム開発の話ばかり出てきます・・・

>>85
二点間の距離を求めるには三平方の定理を解くしかないと思うのですが
他の方法があるのでしょうか
0087デフォルトの名無しさん
垢版 |
2020/04/15(水) 01:44:33.79ID:pyZsKR91
>>86
いやあのな、図形ごとの実際の距離は、最も近い点を見つけてからの一回だけ求めれば良いと85は言っている
二乗した値同士でも大小は判るんだから最小の距離は求まる
ちょっとは頭を使おうよ
0088デフォルトの名無しさん
垢版 |
2020/04/15(水) 02:09:22.32ID:gvmzdJSP
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)
0089デフォルトの名無しさん
垢版 |
2020/04/15(水) 02:20:03.73ID:gvmzdJSP
>>88 です
最終的にはsRGBのR・G・Bと、sRGBの色相H・sRGBの(よくあるHSL円柱モデルの)彩度S・輝度Yを、相互変換したく
現状 sRGB (→ 線形RGB →) → HSY は実装できましたが、逆変換でつまずいてます

RGB値と色相については
https://imagingsolution.blog.fc2.com/blog-entry-247.html
sRGBと線形RGBについては
https://qiita.com/yoya/items/8c54dca94e666d561da6
HSLとHSYの変換については
https://qiita.com/lookman/items/d518f16c897c94bc4e78
https://ja.osdn.net/projects/hsy-color/wiki/HSY%E8%89%B2%E7%A9%BA%E9%96%93%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
が大変参考になりました
ただ、HSYの情報についてはsRGBのガンマ補正を考慮しておらず式が誤っているので自分で作成する事になりました
009182
垢版 |
2020/04/15(水) 07:44:29.06ID:d+Xwzg0D
>>87
???スマン理解出来ないです
実際の距離を求めずに最小の距離は求まるってどういう事?

認識が食い違っているのだろうか
ttps://uploader.purinka.work/src/16484.png (実際にはもっと複雑な図形も扱います)
点の座標情報等を入力としてaとbとcを出来れば高速に求めたいって話です
あとこれ描いていて気が付いた。長い線分は途中に点を追加するなどしないと精度が出ない
0092デフォルトの名無しさん
垢版 |
2020/04/15(水) 07:45:15.61ID:SJCxaNjJ
>>82
簡略化して表現してるだけかもしれないけど、近そうな点を抽出なんてできる?
図形1のある2点が極端に離れていたとしてもそれが描く線分が図形2の点に最接近していたりそういう線分同士が交わってたり
そんなケースは間引けないのでは

量子化して近傍点を間引くことやマンハッタン距離で候補を絞ることも考えたけど最大計算量が増えそうだな
0093デフォルトの名無しさん
垢版 |
2020/04/15(水) 07:50:47.17ID:SJCxaNjJ
>>91
気付いたみたいだけど点を追加なんてしちゃダメ
点と線分間の距離ならO(n^2)で済むけど点を追加したらキリがない
円弧についても点の集合ではなく弧として計算可能なのでは
0094デフォルトの名無しさん
垢版 |
2020/04/15(水) 12:22:04.57ID:pyZsKR91
>>91
最も小さい距離を探す
そのためには、複数の距離数値を大小比較するよね
で、その距離を求めるために平方根を使う、と

でも、わざわざ平方根を求めない二乗の距離で大小比較しても問題ないよね、と言っている
なぜなら一般には a<b なら a^2 < b^2 だから
それで最小の二乗距離が決定してから、おもむろに平方根計算すれば、最小の距離は求まる
009585
垢版 |
2020/04/15(水) 12:24:20.99ID:CzxWudNF
>>91
一番近いところを探すための比較を距離^2でやれば、探してる間は平方根しなくていい
距離^2の最小値の平方根が求めたい距離

円が中心座標と半径を与えられるなら距離^2でできないけど
そういう風にポリゴン近似で与えられるならポリゴンと扱うしかない

「線分 距離 プログラム」でggrks
0096デフォルトの名無しさん
垢版 |
2020/04/15(水) 12:31:35.39ID:CzxWudNF
>>88
ガンマがかかってるsRGBをただ足すのに違和感がある
sRGBをただ足すのとlinearRGBをただ足すのって、違う足し方じゃないか?
0097デフォルトの名無しさん
垢版 |
2020/04/15(水) 13:13:46.90ID:gvmzdJSP
>>96
丁度今そう思って覗きに来てみたら……まさしく同じ指摘です

ガンマ圧縮されたsRGBのままの計算は、ツールの使用例や解説してるWebページも多いけどこれも誤りみたい
きちんとしてるソフトは入力がsRGBだとちゃんとガンマ拡張して、線形RGBか対応するXYZ色空間に変換してから計算してるとのこと
https://mikio.hatenablog.com/entry/2018/09/10/213756
言及してるページはこのページの他に数えるほどしか掛からなかったです

>>88,89 のレス・記事も"補色を求める=実質的に色相Hを扱う計算をする"時点で、先に線形RGBに変換すると良いという事
そもそもsRGBのまま値を計算に使うのが、(ほぼ誰もが見過ごしちゃってる)誤りでした
0100デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:01:32.44ID:zkOSqcda
>>99
バイナリデータって雑に言えばテキストデータではないってだけだから、入力データも中間表現も最終出力も、いずれにもなれるぞ。
0101デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:39:37.85ID:qCtnBvYT
バイナリであることと中間表現であることは全く何も関係ない

論理学からしてそうじゃん
・中間表現ならばバイナリである
・中間表現ならばテキストである
こう言ってるんだから論理学からやりなおした方がいい

お前が言ってる「バイナリデータって中間表現ですかね」は
・バイナリならば中間表現である
になるから全然違う

要するに、中間表現であるからといって、それがバイナリであるとは限らない
これは中間表現やバイナリがなんであるかに関わらず決まる論理学の初歩なんだから、
もう一度論理学をハナから学んだほうがいい
プログラミングやってる場合じゃねえよ
基礎が全然出来てない
0102デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:49:20.85ID:zkOSqcda
論理学がどうこうというより、単にバイナリデータとバイナリコードを混同してるとかじゃないかな
0103デフォルトの名無しさん
垢版 |
2020/04/20(月) 08:48:10.06ID:7CsQY6Sm
中間表現がテキストだったりバイナリだったりするだけ。
0104デフォルトの名無しさん
垢版 |
2020/04/20(月) 08:56:39.59ID:UbANMxrk
>>99
ここまでひどいWikipediaの記事見たの初めて
Uncyclopediaみたいなネタサイトかと思ったわ

―――――
表現形態
中間表現はテキストデータやバイナリデータなどのデータ構造をとる。すなわち任意のデータ構造をとる。
Javaバイトコードなどの「バイトコード」はフィールドの区切りや構造の長さなどがバイト指向な中間表現を指す語である。
内部的な場合にはアドレスを指すポインタ(ないしそれを抽象化したもの)によって要素を指し示すことで効率的な表現が可能だが、ファイルに書き出すなど外部的な場合には何らかの方法で永続化が必要である。
内部的な表現としても、ポインタのような密結合で短命な表現ではなく、粗結合な表現を使うこともある。
0105デフォルトの名無しさん
垢版 |
2020/04/20(月) 09:07:05.29ID:aqwTNz7b
SASS の関数の以下では、ダメなのか?

// 色の反転
.invert {
color: invert(#333); // #cccccc
}

// 色相の補色(色相環の反対色)に変更
.complement {
color: complement(#79a5e0); // #e0b479
}
0107デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:01:59.99ID:LyBIGNI3
>>105
駄目かと
sRGBは非線形色空間だから、sRGBの数値のまま弄ってる多くの処理はめちゃくちゃ雑な近似でしかない
元レスは正当な手順を踏ませたいんでしょ
0108デフォルトの名無しさん
垢版 |
2020/04/20(月) 20:20:59.75ID:h+MbU1VP
>>100
入力データなら動画ファイル
最終出力(フォーマットが固定されたという意味で)なら機械語
と例が思いつくのですが、中間表現のバイナリデータって何がありますかね?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況