問題タブ [rotation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2027 参照

geometry - CGAL:2つの線/ベクトル/方向が与えられた場合の回転の変換行列

CGALの2つの線/ベクトル/方向の間の角度で点/その他を回転させるための変換行列を生成するにはどうすればよいですか?

2Dは私が必要なものです。3Dは私が大好きなものです。

0 投票する
4 に答える
1597 参照

php - PHPまたはJavascriptを使用してpngを回転させます

データベースの値 (1 ~ 360 度) に基づいた png を回転させようとしています。

ただし、Google マッピング API と組み合わせて使用​​しており、「header('Content-type: image/png');」を使用する場合 私の地図は表示されず、画像のみです。

何か案は?

0 投票する
16 に答える
134534 参照

c++ - C++ での循環シフト (回転) 操作のベスト プラクティス

左シフト演算子と右シフト演算子 (<< と >>) は C++ で既に使用できます。ただし、循環シフトまたは回転操作を実行する方法がわかりませんでした。

「左に回転」「右に回転」などの操作はどのように実行できますか?

ここで右に2回転

結果は次のようになります。

例が役に立ちます。

(編集者注: C で回転を表現する一般的な方法の多くは、回転カウントがゼロの場合、または単一の回転マシン命令以上にコンパイルされた場合、未定義の動作に悩まされます。この質問の回答は、ベスト プラクティスを文書化する必要があります。)

0 投票する
2 に答える
4338 参照

javascript - Web: 画像の回転とズームのソリューション

雑誌のページなど、大きな画像を表示する Web ページがあります。画像のサイズや向きを制御することはできません。正しい向きにするために、ユーザーが画像を回転させる必要がある場合があります。

誰かが特定の画像を回転およびズームできる Javascript または Flash ソリューションはありますか? 理想的には、単一の画像と、それを表示するときに使用するサイズを指定します。画像がこれらの寸法よりも大きい場合、ユーザーはズームインして画像の一部をより詳細に表示できます。

0 投票する
3 に答える
367 参照

windows - Windows でのログのプルとローテーション

多数の異種サーバーからアプリケーションログをプルして、年/月/日/時間などでカタログ化できる中央サーバーにローテーションするための優れた商用またはオープンソースソリューションを知っている人はいますか...これは何かである必要がありますWindowsで動作します。

0 投票する
3 に答える
9650 参照

opengl - OpenGL がスポットを中心に回転

gluSphere惑星が太陽の周りを回るように、円運動で定点を中心に回転させたい。

glRotatef または glTranslate を使用するのが最善でしょうか? もしそうなら、どの順番でそれらを呼び出す必要がありますか?

0 投票する
3 に答える
53676 参照

c# - 2Dでポイントを別のポイントで回転させる

別のポイントに対してある角度だけ回転させたときに、そのポイントの新しい座標を計算する方法を知りたいです。

ブロック矢印があり、矢印の基部の中央の点に対して角度シータで回転させたいと思います。

これは、2つの画面上のコントロールの間にポリゴンを描画できるようにするために必要です。画像を使用して回転させることができません。

私がこれまで考えてきたことから、問題をさらに複雑にしているのは、画面の原点が左上隅にあるということです。

0 投票する
2 に答える
1166 参照

wpf - Web カメラと統合してビデオを回転させる WPF

これは可能ですか?

0 投票する
4 に答える
17166 参照

delphi - コードでビットマップを効率的に回転する方法

逆座標でネストされたループを単純に実行するよりも、大きなビットマップを 90 度または 270 度回転させるより速い方法はありますか?

ビットマップは 8bpp で、通常は 2048x2400x8bpp です。

現在、私はこれを、大まかに引数を反転してコピーするだけで行っています(疑似コード:

(実際には、もう少し速度を上げるためにポインターを使用しますが、それはほぼ同じ大きさです)

GDI は大きな画像では非常に遅く、テクスチャ (GF7 カード) の GPU ロード/ストア時間は現在の CPU 時間と同じ大きさです。

ヒント、指針はありますか?インプレース アルゴリズムはさらに優れていますが、速度はインプレースよりも重要です。

ターゲットは Delphi ですが、それはアルゴリズムの問​​題です。SSE(2) のベクトル化は問題ありません。アセンブラーでコーディングするには十分な問題です。


ニルスの答えをフォローアップ

  • 画像 2048x2700 -> 2700x2048
  • 最適化をオンにしたコンパイラ Turbo Explorer 2006。
  • Windows: 電源設定が「常時オン」に設定されています。(重要!!!! )
  • マシン: Core2 6600 (2.4 GHz)

古いルーチンの時間: 32ms (ステップ 1)

ステップサイズ 8 の時間: 12ms

ステップサイズ 16 の時間: 10ms

ステップサイズ 32+ の時間: 9ms

一方、Athlon 64 X2 (5200+ iirc) でもテストを行いましたが、速度は 4 倍をわずかに上回りました (80 ~ 19 ミリ秒)。

スピードアップはそれだけの価値があります、ありがとう。たぶん、夏の間は SSE(2) バージョンで自分を苦しめるでしょう。しかし、私はすでにそれに取り組む方法を考えていました。ストレートな実装では SSE2 レジスタが不足すると思います。

したがって、8x8 には 9 つのレジスタが必要ですが、32 ビット SSE には 8 つしかありません。とにかく、それは夏の間のものです :-)

ポインターのことは私が本能的に行うものですが、実際には何かがある可能性があります。次元がハードコーディングされていない場合、コンパイラーは mul をシフトに変換できません。最近ではマルチは安価ですが、より多くの音域のプレッシャーも発生します。

コード (「素朴な」rotate1 実装から結果を減算することによって検証されます):

更新 2 ジェネリック

このコードを Delphi XE のジェネリック バージョンに更新しようとしました。QC 99703 が原因で失敗しました。フォーラムの人々は、XE2 にも存在することを既に確認しています。それに投票してください:-)

Update 3 Generics Works in XE10

更新 4

2017 年に、8bpp 画像のみの 8x8 キューブのアセンブラー バージョンと、Peter Cordes が寛大に私を助けてくれたシャッフルのボトルネックに関する関連するSO の質問にいくつかの作業を行いました。このコードはまだ機会を逃しており、複数の 8x8 ブロックの繰り返しを 64x64 のような疑似大きなものに集約するために、別のループタイリング レベルが再度必要です。今はまた行全体であり、それは無駄です。