[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/05 17:41 / Filesize : 300 KB / Number-of Response : 1027
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part157



1 名前:デフォルトの名無しさん mailto:sage [2021/08/09(月) 10:57:31.60 ID:JaaB5Egp.net]
前スレ
C++相談室 part156
https://mevius.5ch.net/test/read.cgi/tech/1621389313/

552 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 12:31:34.49 ID:6/7jGiIK.net]
std::conj() に double を渡したら std::complex<double> にキャストされるのが嫌なので、double を渡したら何もしないで double を返し、std::complex<double> を渡したら std::conj() と同じ動作をするオーバーロード関数 conj() を作ろうかと思うのですがアリですか?

なぜ std::conj() がそういう動作じゃないのか不思議で、何か見落としてたら教えてください

553 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 12:36:51.51 ID:2ZvzU42q.net]
こここ・・こういうこと?

(A)キャプチャが必要でスコープ内で実行までされるケース
(B)キャプチャが必要でスコープ外まで実行が遅延されるケース
(B-1)ラムダ式生成時と実行スレッドが同じケース
(B-2)ラムダ式生成時と実行スレッドが違うケース

(A)なら全員「[&]で問題があるケースはない」と考えている
(B-1)は好みが別れているところ
(B-2)は好みが別れているところで、さらにキャプチャされる変数側をスレッドセーフにするかどうも好み

[&]と[=]がよく分からない人はコチラ
https://ideone.com/OQS113

以下個人的意見
スレッドセーフにするコストは結構高い(開発・実行・保守全てで)ので、競合させずに遅延可能ならそれに越したことはないと考えている
ようはコピーするコストをそれほど高くは見積もっていない

554 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 14:46:42.08 ID:lWUpu20f.net]
>>528
日本語でおk

555 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 16:03:29.39 ID:lWUpu20f.net]
>>538
おまえさんの論法では同時並行はすべて別プロセスにすべきってことだな

556 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 16:49:17.57 ID:2ZvzU42q.net]
>>540
う〜ん、伝わらないですね・・・
共有リソースに競合するアクセスがなければ排他制御の必要がなく、スレッドセーフにする必要がないってことです
そもそもコピーして共有しないことで排他制御が必要なくなれば、スレッドセーフにしなくていいという考え方ですよ

557 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 16:51:53.70 ID:lWUpu20f.net]
だから共有=リスクなんだろ?
もうマシンも別の実機にすれば最強防御じゃん

558 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 17:01:53.15 ID:2ZvzU42q.net]
>>542
残念ですが理解してもらうことは諦めます

559 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 17:32:07.51 ID:qGt3mQky.net]
>>533
頭の中がgdgdな人が話をgdgdにしようとしていまつね……
std::sort()の呼び出しと同じスコープが終わった後に
[](int a, int b)が呼び出されないということは、単にstd::sort()がreturnするまでにラムダ式を忘れてくれる作りだから(たまたま)担保されているだけであって、
[](int a, int b)のスコープが限定されるために担保されているわけではないし、
[](int a, int b)がラムダ式だから担保されているわけでもないの。

つまり、>>533
>ラムダ式をスコープ外に持ち出すなんてレアケース(>>529
の根拠に全くなっていないワケ

560 名前:はちみつ餃子 mailto:sage [2021/10/10(日) 17:47:25.28 ID:cCUvKLuJ.net]
レアケースがどうこういったところでレアケースなら考えなくていいってわけでもない。
そんなの個別の事例ごとに考えるしかしょうがないだろう。



561 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 17:56:25.23 ID:lWUpu20f.net]
>>543
無理筋の主張ってことがわかってもらえたならいいよ

562 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 18:04:09.07 ID:2ZvzU42q.net]
>>546
無理筋ではありませんよ
スレッド以前から並列処理で共有される実行コンテキストを分けることは大昔からやられてきました
今更その手法自体を想像できない人に、こんなところで説明するのは困

563 名前:なだけです []
[ここ壊れてます]

564 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 18:11:49.41 ID:lWUpu20f.net]
おまえさんの言う「大昔」がどのくらいか知らんが
俺が若手の頃はRENT,REUSなんてやってたよ

565 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 18:25:30.38 ID:Euz3vWgQ.net]
ラムダ式によって作られたオブジェクトがキャプチャされたオブジェクトより長生きする可能性があるならコピーキャプチャ
そうでなくともレジスタに乗ると思われるならコピーキャプチャ
そうでない場合に初めて参照キャプチャ

排他に関してはshared_ptr<mutex>とshared_ptr<なかみ>をメンバに持たせてコピー可能にしつつ、メンバ関数経由で排他制御するのが筋だと思う
RustのArc<Mutex<T>>パターンに影響されすぎかもしれないが……
いずれにせよキャプチャと排他制御の問題とは切り離して考えることができるし、そうすべき

566 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 21:19:12.50 ID:MbdCJRMe.net]
ラムダ式関連でいうと参照とかコピーをデフォルトだけで指定したときも実際に使ったものの分しかクロージャオブジェクトのサイズに乗ってこないと思ってるんだけどヤバい?

567 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 23:42:34.57 ID:9PtWfEC6.net]
>>550
むしろ他に何が乗ると思っているのか?
気になるなら生成コード見て確認すればいいだろうとも思うし。

568 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 23:58:18.57 ID:2ZvzU42q.net]
>>548
大昔とは1990年頃の話です
COBOLなのか知りませんが、reentrantとreusableは今回の話と直接関係ありません

569 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 02:51:41.68 ID:1CVjhT+M.net]
>>551
cppref見たらクロージャオブジェクトのサイズは未規定とあって気になった

570 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 05:43:06.87 ID:FIUH1xZN.net]
>>552
関係大ありだよ
あの当時はアセンブラでC++は使ってなかったというだけだ
わかってないのおまえさんだな



571 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 07:43:50.36 ID:M/9mFHzI.net]
>>554
説明するべきでないのが残念ですが、その頃からあなたが分かってなかっただけですよ

572 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 07:52:27.26 ID:pMbZgi1h.net]
>>555
おまえさんがどう思おうと勝手だが
センターオウンコーディングとかやってたよ
マウント取られる気が全くしねえぜ

573 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 08:08:27.81 ID:M/9mFHzI.net]
>>556
マウント取る取らないとかどうでもいいです
あなたが理解できないのをどうにもできないだけなんです

574 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 08:46:34.77 ID:pMbZgi1h.net]
と言うことにしたいのですね

575 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 09:17:45.21 ID:G+wdAsto.net]
リエントラント目指してもいいじゃないの

576 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 09:58:01.98 ID:F+cmXQty.net]
クラスの型を自動変換して関数に入れるにはどうすればいいですか?例えば、

class A {
public:
double hoge;
};
class B {
public:
int hogehoge;
};

int function(A aaa);

があった時に、functionにB型を入れても動くようにしたいです。
クラスAのソースに、Bから生成するコンストラクタ書ければいいのかもしれませんが、
実際はAはライブラリのクラスで触れなくて、Bが自作のクラスになります。

577 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 10:22:18.86 ID:T3qmZxdk.net]
>>560
Bを受け付けるfunctionを書くんや

578 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 10:50:11.05 ID:QW1mycSW.net]
B extends A
としたら
function
の引数をキャスト?で動かない?

579 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 10:54:01.94 ID:RUUSz/4T.net]
簡単や
template<class A>
int function(A aaa);

580 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 12:11:05.48 ID:F+cmXQty.net]
できました。ありがとうございます。

また、ポインタのvectorを実体として使うにはどうすればよいでしょうか?

std::vector<A*>
で定義されてるものを、
std::vector<A>として使いたいです。
別のvectorにポインタ値を詰め直せばいけると思うのですが、元のポインタの場所のまま実体で使いたいです。無理でしょうか。



581 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 12:31:51.97 ID:T3qmZxdk.net]


582 名前:参照を使うんや []
[ここ壊れてます]

583 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 13:03:47.84 ID:NaSXzxBw.net]
参照のvectorなんて作れたっけ?

584 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 13:16:00.26 ID:T3qmZxdk.net]
reference_wrapper使うんや
まあ下らんこと考えんほうがええ

585 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 17:28:01.69 ID:0Mn4AOx6.net]
>>564
ややこしい所有権・所有責任問題が発生するから、ソースコードを見直したほうがいい。
具体的にはstd::vector<*A>を
std::vector<std::shared_ptr<A>>
にして、shared_ptr<A>をやり取りするようにすべきだな。

性能問題とか互換問題とかでも無ければvector<*A>なんて使うもんじゃない。

586 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 20:43:04.76 ID:bPHZE8G4.net]
言ってることは同意だが、ポインタの型もまともに書けないような人に言われても説得力がない

587 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 20:47:36.58 ID:c9XBGwkD.net]
Rustと間違えたんじゃね

588 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 22:25:40.15 ID:RUUSz/4T.net]
簡単や
std::vector<std::shared_ptr<A>>

589 名前:デフォルトの名無しさん mailto:sage [2021/10/11(月) 23:13:38.91 ID:9gfKW03X.net]
ドラクエ3のバージョン違いの謎に迫る!
https://www.youtube.com/watch?v=sh5GXYs6T1c
2021/10/01に公開済み

FC版DQ3には、AバージョンとBバージョンが存在する
今回はROM内のプログラムを徹底比較!
どこが違うのか白黒ハッキリさせると息巻いた内藤プロ
当時自分が作ったのに全て忘れてて大変なことに・・

590 名前:デフォルトの名無しさん [2021/10/12(火) 04:13:48.50 ID:jMkI4z1q.net]
ぶっちゃけ継承とかポリモフィズムはオワコンでテンプレート最強?



591 名前:はちみつ餃子 mailto:sage [2021/10/12(火) 04:25:26.30 ID:WB1ScBpO.net]
>>573
過去の C++ の流行においては継承が強調されすぎたこともあって
継承の害悪な面も見えて大幅な揺り戻しは有った。

しかしそれぞれに役割があるのでどれかが廃れるとかいう話ではない。
バランスとしては継承が控えめになったけれど、だからといって継承のない C++ はありえない。
結局のところそれぞれを適切に使えというだけのこと。

592 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 06:45:14.85 ID:LoAbYEbi.net]
継承が有効に使われている事例をひとつも知らないヒヨっ子丸出しな質問だな
テンプレートの何がいいのかもわかってなさそう

593 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 07:03:36.18 ID:bL2VfUhD.net]
CRTPとか見たら脳を壊しそう

594 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 07:24:36.11 ID:+oJUuDWk.net]
>>576
virtual使えないor使わない処理系で、使ってみたけど確かに頭にスッキリ入らんパターンだわw
あれはあれでポイントで使うと便利だし、反対にやっぱvirtualも便利でいいよねーとか。

595 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 08:16:42.08 ID:4AIb2U7h.net]
>>573
メソッド共通化を実現するための継承はオワコン。
プレースホルダーを用意するための継承は現役。

総称型が実装されれば継承自体をオワコンにできそうな気がするけど、総称型風スマートポインタて無かったっけ?

596 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 08:20:36.96 ID:vDVhyOYS.net]
耳が腐る

597 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 09:51:23.11 ID:kjIGaWla.net]
何でこんな荒れてんの?

598 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 10:09:23.54 ID:qN1bonoC.net]
いつものこと

599 名前:デフォルトの名無しさん mailto:sage [2021/10/12(火) 10:40:17.54 ID:kjIGaWla.net]
単発荒らしか

600 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 04:27:45.44 ID:yxtzEQdj.net]
void * の生ポが最強



601 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 07:29:48.53 ID:w2mbz/VV.net]
○○なんていらねーよ害悪だけだ
まだ使ってるやつは全員バカ
これからは△△を使うべきだ
なーんて言っちゃってマウント取った気になってるおめでたいやつ
メガトン級にアホにされてることに気付かねえよな

602 名前:デフォルトの名無しさん [2021/10/13(水) 09:41:39.46 ID:V99uCirA.net]
vector を shuffle する場合について質問です(gcc/windows10でテスト)

vector<int> vec(50, 0);
for(int i = 0; i < 10; ++i) vec[i] = 1;
random_device dev_seed;
mt19937_64 mt(dev_seed());
shuffle(vec.begin(), vec.end(), mt);

で確かに shuffle されているのですが疑問点がいくつかあります
1.dev_seed()が毎回同じ値を返してる?
(random_deviceの使い方を間違えてる?)
2.先頭の値が1に偏ってる?
(shuffle() を数回繰り返す解決方法もあるようですがあまり気持ち良くないです)
3.そもそもforで先頭の方に1を入れる発想が良くない?
(shuffleされてるならこれは関係無いと思いたい)

603 名前:デフォルトの名無しさん [2021/10/13(水) 09:47:25.08 ID:V99uCirA.net]
ああこれか
https://cpprefjp.github.io/reference/random/random_device.html
>GCC (MinGW): GCC 9.1までは擬似乱数生成器 mt19937 を用いるため使用を推奨しない。詳細は備考欄を参照。GCC 9.2からは暗号論的な乱数である rand_s を使用する。

604 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 10:51:16.02 ID:ocY7/s3a.net]
偏りを判断する目が偏ってるのでは

605 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 12:39:29.13 ID:L2HfUVD6.net]
random_deviceがダメな環境でrdtsc命令使ったことあるな
良いやり方かは知らん

606 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 16:09:05.50 ID:SuRXriSW.net]
https://cpprefjp.github.io/ って
https://ja.cppreference.com/ があるのになんで使われてるの?

607 名前:はちみつ餃子 mailto:sage [2021/10/13(水) 16:23:55.69 ID:6cp7j/AO.net]
>>589
前者は編集者による解説なども含んでいて仕様の意図や習慣がわかりやすい。 実装の現実みたいな補足もあるし。
後者は仕様書の再編を指向してるから正確だけど規則の羅列を読むのがしんどいこともある。

適宜使い分けて。

608 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 16:49:55.63 ID:SuRXriSW.net]
>>590
ありがとう

609 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 00:25:54.44 ID:unU20Liw.net]
逆にjaはほぼ見ないな
cpprefjpかen

610 名前:デフォルトの名無しさん [2021/10/14(木) 17:38:44.33 ID:0xmYH4RJ.net]
みんなで広げよう友達の輪
https://github.com/cpprefjp/cpprefjp.github.io



611 名前:デフォルトの名無しさん [2021/10/14(木) 19:08:30.88 ID:D5VUtH01.net]
今までJavaでやってきたけどC++もやってみたいんだよね
すぐ出来るようになると思う?

612 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 19:10:28.43 ID:u3valL3D.net]
>>594
ならない
C言語のポインタや文字列について勉強したほうがいい

613 名前:デフォルトの名無しさん mailto:sage [2021/10/14(木) 19:12:47.65 ID:pMO89bX6.net]
>>594
c++でちょっとした文字列パースして内容に応じたオブジェクト構築する処理書いてたの、
ほぼ使ったことないJavaに移植したらスゲー早く出来てワロタ。C#もサクサクできたな〜
逆は色々イラッとするんじゃねぇかな?

614 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 01:29:52.42 ID:oSpeFu2A.net]
元々C++はその辺の文字列処理を毎回1からゴリゴリ書くような言語じゃなくて何らかのライブラリを利用するものだと思うけど、
クロスプラットフォームで各種文字コードが自由に扱えて、c++11以降の仕様に対応してて、かつかゆいところに手の届くライブラリって意外とないんだよね
いや、俺が知らないだけかもしらんけどw

615 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 05:56:29.15 ID:JZ8LRo6T.net]
実質的な標準と呼べるものは今もないよ

616 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 09:26:39.59 ID:c8xS1fS2.net]
>>596
std::regex使ってようやっと、かね。

c++はいつまでたっても文字列処理苦手なままだわ。

617 名前:デフォルトの名無しさん [2021/10/15(金) 10:21:28.25 ID:Sjupi756.net]
Javaから入ると不能(陰ポ)になる
もう手遅れ

618 名前:デフォルトの名無しさん [2021/10/15(金) 10:22:26.59 ID:Sjupi756.net]
>>597
wxWidgets

619 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 10:26:50.27 ID:Eg3Mb3n8.net]
あれ出来上がるバイナリ重すぎなんだけど、今は違ったりするのかね

620 名前:デフォルトの名無しさん [2021/10/15(金) 11:49:16.16 ID:Sjupi756.net]
Debugだとバカデカくなるけど
Releaseは気にならないレベル
(DLL除く)



621 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 11:53:45.11 ID:JZ8LRo6T.net]
std::regexと等価なインターフェースを各々の正規表現ベンダーが用意してくれればいいんだが、それすら実現されていないお寒い状況

622 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 12:03:59.88 ID:XHojpqKh.net]
>>599
その辺も無いわけじゃないんだけど、クラスの構造どうしようかとか、メモリ管理どうするかとか、
変態trmplateでパズルしてみようかとか、選択肢多い分考えることも多い部分で時間かけることが
多い所はあるなーって。それがC++使いたい動機の裏返しでもあるんだけど。
あと本人の問題120%だが、ボケて油断してると、エラー直すのにやたら時間かかったりで。
Javaとか詳しく知らん状態だから言えるのかもしれんけど、もうこうするしかネェってレールが
最初からあるような印象でした。つかオラクルのライセンス問題のほうがムズいw

623 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 12:19:11.94 ID:Q47teFml.net]
等価って図々しいだろ

624 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 12:34:03.36 ID:Ax3dDCZ3.net]
std::regexみたいな文字コードというものがあることを知らない人間が作ってそうなものを標準だと思ってつかうのはやめたほうがいいと思います

625 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 12:53:35.21 ID:JZ8LRo6T.net]
char8_tが導入されたんだからutf-8しばりでいいじゃない

626 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 13:14:36.67 ID:x+xcCYcO.net]
なんか最近曖昧な上に突っ込む点多すぎる内容的にはどうでもいい話題が多くない?

627 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 13:33:42.62 ID:ma4A3Lrr.net]
>>607
utf8限定ならそこそこ。
もうutf8がデファクトだから、内部処理はutf8に統一した方がいいよ。

628 名前:ハノン mailto:sage [2021/10/15(金) 19:29:27.64 ID:0K4QrynR.net]
>>608
内部コードは utf-32 でやっているので、utf-32 縛りのほうがうれしいです‥

629 名前:デフォルトの名無しさん [2021/10/15(金) 19:56:39.74 ID:JZ8LRo6T.net]
>>611
はぁ?
std:::basic_regex<char8_t>、std::basic_:regex<char16_t>, std:::basic_regex<char32_t> のどれでも好きなの使えばいいじゃん

630 名前:デフォルトの名無しさん [2021/10/15(金) 20:01:47.12 ID:JZ8LRo6T.net]
ところで、char16_t、char32_tってエンディアンはシステム依存しばり?



631 名前:デフォルトの名無しさん [2021/10/15(金) 20:03:20.51 ID:eqKsqNtm.net]
ちなみに、いま使えるみたいですよ。
むかしは使えることになってるのに実際は使えなかったんだけど。
自作イテレーターにも対応してるようです。
アップルは知らんけど。
Ubuntu+gcc、Windows10+clでは自作イテレータでstd::regex<>が使えました。
これは、HTML、XML、JSONのデータ構造からコンテンツ内のみを検索のような事に使えます。
標準から外れるような議論もあるそうですが、便利なので外れないように抗議していきましょう。

632 名前:デフォルトの名無しさん [2021/10/15(金) 20:12:21.03 ID:eqKsqNtm.net]
C++20でchar8_tが入ると便利になりますよね。

633 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 20:12:58.12 ID:Q47teFml.net]
>>613
規定しない
なのでそういうのはそこでは気にしない

634 名前:デフォルトの名無しさん [2021/10/15(金) 20:35:46.40 ID:eqKsqNtm.net]
STLはセントルイスの略。
では、GCCは何処でしょう?

635 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 20:50:28.66 ID:R98eOYn2.net]
つまんね

636 名前:デフォルトの名無しさん [2021/10/15(金) 21:40:43.65 ID:HBylJ5Wv.net]
平面3リンクマニュピュレータの逆運動学のプログラミングが分かりません。
キーボードで手先の位置を入力すると、関節角が表示されるようにしたいです。
scanfを使うのと、アームの長さなどは適当に決めていいという条件です。

わかる方いたら、送って欲しいです。

637 名前:デフォルトの名無しさん mailto:sage [2021/10/15(金) 22:21:16.57 ID:fUsvamq4.net]
>>619
どこの大学のなんていう授業か教えてくれたら送ってあげる

638 名前:デフォルトの名無しさん [2021/10/15(金) 22:41:19.44 ID:HBylJ5Wv.net]
大した大学ではないです。ロボット工学です。

639 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 10:16:02.78 ID:pBeCkfuy.net]
>>619
冗長マニピュレータで一意に求まらん。制約条件設けてるはずだが。

640 名前:デフォルトの名無しさん [2021/10/16(土) 11:55:15.40 ID:NekA8urB.net]
>>622
リンクの長さは良さそうな値を定義してください。関節の座標はこちらで決めずにあくまでも手先の位置・姿勢であるxed、yed、φedから計算で出します。解が複数出てくるので、全ての候補を求めてください。
例えば、リンクの長さは根元から順に0.3m、0.3m、0.05mなどで良いです。
プログラムとしては手先の目標値を入力して、θ1、θ2、θ3が出力されればOKです。



641 名前:デフォルトの名無しさん [2021/10/16(土) 12:05:17.39 ID:NekA8urB.net]
>>622
目標値は、x=0 y=0.3m φ=90degがいいと思います。先ほどのリンクの長さの設定値で楽な姿勢でロボットの手が届く範囲ですので。

642 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 12:08:52.99 ID:pBeCkfuy.net]
>>623
手の姿勢まで指定してて >>619 と違う問題になってんじゃん。どんなテキストにも解法載ってる問題丸投げしてんだな。

643 名前:デフォルトの名無しさん [2021/10/16(土) 12:14:57.04 ID:NekA8urB.net]
>>625
テキストに載ってないからここで質問してるんですよ。手の姿勢は例えばの話ですよ。どっちみちscanfで入力するんですから。

644 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 12:22:50.77 ID:pBeCkfuy.net]
>>626
問題が違うっつうの。
ロボット工学のテキストには必ず載ってる。よく読めアホ。

645 名前:デフォルトの名無しさん [2021/10/16(土) 12:35:46.33 ID:NekA8urB.net]
>>627
日本語分かる?プログラムは載ってないから。教科書に載ってるから見ろって丸投げしてんのどっちだよ。

646 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 13:20:33.97 ID:N8k1BZc2.net]
>>628
お前だよどう考えても

647 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 13:59:18.07 ID:Ilt9CI+j.net]
答える価値がないと思うなら放置しろよ
くだらねえ煽りやってんな迷惑だ

648 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:12:30.56 ID:pBeCkfuy.net]
>>628
プログラムが載ってるわけねえだろ、アホ。
載ってんのは**解法**(>>625)

649 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:15:24.70 ID:1x8IpOH2.net]
> どっちみちscanfで入力するんですから。
このレガシーさには誰も何も思わんの?笑

650 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:21:35.71 ID:gJanIysk.net]
ssfanf_s()を使った方が(%sとかについて)ちょっと安全



651 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:31:10.24 ID:ex7yhveJ.net]
安全性の話じゃねえだろ

652 名前:デフォルトの名無しさん mailto:sage [2021/10/16(土) 21:53:50.46 ID:EatL4YvD.net]
わざわざC++なんか使っときながら勉強不足でモロアンチパターン踏んでるバカ
よくいるよね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<300KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef