約 8,750 件
https://w.atwiki.jp/ketcindy/pages/163.html
Framedata2("1",[A,B]); 点Aを左下の頂点,点Bを右上の頂点とする長方形を書く. 注) 第1引数"1"は長方形データ名fr1になる. #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (title=) framedata2.zip Addax(0); Framedata2("1",[A,B]); // 点Aを左下の頂点,点Bを右上の頂点とする長方形を書く. Setpt(5); Drwpt([A,B]); Letter([A,"sw","A",B,"ne","B"]);
https://w.atwiki.jp/sangaku/pages/556.html
容円0個 03015 問3 03029 問4 容円1個 03076 問1 容円2個 03014 問8 03070 問4 容円3個 03034 問10 03061 問4 03091 問2 容円4個 03043 問1 03052 問6 03061 問2 03074 問4 容円5個 03006 問4 03031 問3 03052 問1 03105 問12 容円6個 03009 問4 03052 問4 容円7個 03062 問1 03076 問14 容円13個 03082 問2
https://w.atwiki.jp/chugoku/pages/58.html
http //opencv.jp/sample/contour_processing.html にある。 説明しかないが関数cvMinAreaRect2()がが使えそうだ。 傾いていてもokなところがいい。 http //opencv.jp/sample/computational_geometry.html もあるが。 やはり関数cvMinAreaRect2()か。
https://w.atwiki.jp/chugoku/pages/69.html
楕円のフィッティング cvFitEllipse2のサンプルとほぼ同じだが。 cvLoadImageで呼び込むファイルは2ti.bmpと固定している。 また、楕円のwidthとheightを表示するようにしている。 OpenCVサンプルコード 楕円のフィッティング cvFitEllipse2 #include stdio.h #include cxcore.h #include cv.h #include highgui.h int main (int argc, char **argv) { IplImage *src_img = 0, *dst_img; IplImage *src_img_gray = 0; IplImage *tmp_img; CvMemStorage *storage = cvCreateMemStorage (0); CvSeq *contours = 0; CvBox2D ellipse; CvTreeNodeIterator it; CvPoint2D32f pt[4]; src_img = cvLoadImage ("2ti.GIF",1); if (src_img == 0){ printf("erro"); return -1;} src_img_gray = cvCreateImage (cvGetSize (src_img), IPL_DEPTH_8U, 1); cvCvtColor (src_img, src_img_gray, CV_BGR2GRAY); tmp_img = cvCreateImage (cvGetSize (src_img), IPL_DEPTH_8U, 1); dst_img = cvCloneImage (src_img); // (2)二値化と輪郭の検出 cvThreshold (src_img_gray, tmp_img, 95, 255, CV_THRESH_BINARY); cvFindContours (tmp_img, storage, contours, sizeof (CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint (0, 0)); // (3)ツリーノードイテレータの初期化 cvInitTreeNodeIterator ( it, contours, 3); while ((contours = (CvSeq *) cvNextTreeNode ( it)) != NULL) { if (contours- total 6) { // (4)楕円のフィッティング ellipse = cvFitEllipse2 (contours); ellipse.angle = 90.0 - ellipse.angle; printf("w %f,h %f\n",ellipse.size.width,ellipse.size.height); // (5)輪郭,楕円,包含矩形の描画 cvDrawContours (dst_img, contours, CV_RGB (255, 0, 0), CV_RGB (255, 0, 0), 0, 1, CV_AA, cvPoint (0, 0)); cvEllipseBox (dst_img, ellipse, CV_RGB (0, 0, 255), 2); cvBoxPoints (ellipse, pt); cvLine (dst_img, cvPointFrom32f (pt[0]), cvPointFrom32f (pt[1]), CV_RGB (0, 255, 0)); cvLine (dst_img, cvPointFrom32f (pt[1]), cvPointFrom32f (pt[2]), CV_RGB (0, 255, 0)); cvLine (dst_img, cvPointFrom32f (pt[2]), cvPointFrom32f (pt[3]), CV_RGB (0, 255, 0)); cvLine (dst_img, cvPointFrom32f (pt[3]), cvPointFrom32f (pt[0]), CV_RGB (0, 255, 0)); } } // (6)画像の表示 cvNamedWindow ("Fitting", CV_WINDOW_AUTOSIZE); cvShowImage ("Fitting", dst_img); cvWaitKey (0); cvDestroyWindow ("Fitting"); cvReleaseImage ( src_img); cvReleaseImage ( dst_img); cvReleaseImage ( src_img_gray); cvReleaseImage ( tmp_img); cvReleaseMemStorage ( storage); return 0; } C \usr\lesson\opencv\simple\cvFitEllipse2 main w 22.829456,h 34.660007 w 26.480892,h 60.122574 w 16.063543,h 106.764275 w 13.614239,h 155.081253 w 14.792519,h 42.579132 w 21.066174,h 37.736824 w 20.319958,h 33.686157
https://w.atwiki.jp/nicepaper/pages/284.html
前回記事Photoshopで特定の文字を別の色にする方法に続き、Photoshopで特定の文字を消したいという場合について考えていきます。11月1日記事 イメージ 変更前変更後(最後のrを消しています。) 目次 色を変更することと消去することの違い 画像を読み込む 長方形選択ツールで選択する。 ブラシツールでブラシツールを選び、大きさを適当に選択する。 背景の色を吸い取る 塗る 選択範囲を解除 完成 まとめ 色を変更することと消去することの違い 色の変更は文字と背景色との境界部分(アンチエイリアス)を考えなくていいですが、消去の場合はアンチエイリアスの部分の消去も考えていかなければなりません。 画像を読み込む [ファイル]→[配置]を選び、画像を選択して配置します。 ※場合によっては、shiftキーを押しながら、拡大縮小したり、上下左右カーソルを利用して調整し、エンターキーで決定します。 ※上の画像はあらかじめ画像化されたものを作っておきました。 長方形選択ツールで選択する。 1で長方形選択ツールを選び、2のように削除したい文字を選択する。 Shiftキーを押しながらさらに選択すると選択範囲をさらにいびつに拡張できますし、altキーを押しながら選択すると選択範囲をいびつに縮小できたりもします。 ブラシツールでブラシツールを選び、大きさを適当に選択する。 キャンバスを選択すると警告がでますが、OKボタンを押してください。 背景の色を吸い取る 背景色の部分にカーソルを合わせ、altキー(Macの場合はoptionキー)を押し続けると、スポイトのカーソルに変わるので、クリックして背景色を吸い取ります。 塗る あとは塗っていくだけです。 選択範囲を解除 「Ctrl」+「D」を押すか[選択範囲]→[選択を解除]を押して解除してあげます。 完成 まとめ 別の方法も存在します。湾曲している文字やshiftキーやaltキーを使っても選択しにくい場合もあります。 その場合はPhotoshopで特定の文字を背景色と一緒にする方法2(自動選択ツールを利用)で行っていきたいと思います。 以上
https://w.atwiki.jp/qtmemo/pages/73.html
見出し 見出し QRect クラス 性質 メンバ関数コンストラクタ この長方形の各辺の座標を取得する この長方形の各頂点の座標を取得する この長方形の大きさを取得する 有効な長方形かどうか調べる 長方形や点がこの長方形に含まれるかどうかを調べる この長方形の各辺の座標を設定する この長方形の各頂点の座標を設定する この長方形の大きさを設定する この長方形の各辺の座標を移動する この長方形の各頂点の座標を移動する この長方形全体を移動する その他 この長方形の左上と右下の頂点の座標に加算する 長方形同士の共通部分を取得する(AND演算) 長方形同士を結合する(OR演算) 長方形同士を加算する 長方形同士を減算する 長方形同士を比較する QRect クラス QRect クラスは整数精度の平面上の長方形を定義します。 公式リファレンス 性質 すべての関数はリエントラントです。 QDataStream対応 メンバ関数 コンストラクタ +... QRect QRect() Nullの長方形を生成します。 QRect QRect(const QPoint topLeft, const QPoint bottomRight) 指定した左上及び右下の頂点を持つ長方形を生成します。 パラメータ topLeft 長方形の左上の座標 bottomRight 長方形の左下の座標 QRect QRect(const QPoint topLeft, const QSize size) 指定した左上の頂点及び大きさを持つ長方形を生成します。 パラメータ topLeft 長方形の左上の座標 size 大きさ QRect QRect(int x, int y, int width, int height) 指定した左上の頂点(x, y)及び大きさを持つ長方形を生成します。 パラメータ x 長方形の左上のX座標 y 長方形の左上のY座標 width 長方形の幅 height 長方形の高さ この長方形の各辺の座標を取得する +... int QRect top() const この長方形の上端のY座標を返します。y() と同じです。 int QRect y() const この長方形の上端のY座標を返します。top() と同じです。 int QRect left() const この長方形の左端のX座標を返します。x() と同じです。 int QRect x() const この長方形の左端のX座標を返します。left() と同じです。 int QRect bottom() const この長方形の下端のY座標を返します。 注意 歴史的な理由からこの関数は top() + height() + 1 を返します。正しいY座標を得るには y() + height() + 1 を使用してください。 int QRect right() const この長方形の右端のX座標を返します。 注意 歴史的な理由からこの関数は left() + width() - 1 を返します。正しいY座標を得るには x() + width() を使用してください。 この長方形の各頂点の座標を取得する +... QPoint QRect topLeft() const この長方形の左上の頂点の座標を返します。 QPoint QRect bottomLeft() const この長方形の左下の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left(), top() + height() - 1) を返します。 QPoint QRect bottomRight() const この長方形の右下の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left() + width() -1, top() + height() - 1) を返します。 QPoint QRect topRight() const この長方形の右上の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left() + width() -1, top()) を返します。 QPoint QRect center() const この長方形の中点の座標を返します。 void QRect getCoords(int * x1, int * y1, int * x2, int * y2) const この長方形の左上の頂点の座標をx1及びx2に取り出し、右下の頂点の座標をx2及びy2に取り出します。 この長方形の大きさを取得する +... int QRect width() const この長方形の幅を返します。 int QRect height() const 長方形の高さを返します。 QSize QRect size() const この長方形の大きさを返します。 void QRect getRect(int * x, int * y, int * width, int * height) const この長方形の左上の頂点の座標をx及びyに取り出し、寸法をwidth及びheightに取り出します。 有効な長方形かどうか調べる +... bool QRect isNull() const この長方形がNullの長方形の場合はtrue、そうでない場合はfalseを返します。 Nullの長方形は幅及び高さが0である長方形です。(つまり、right() == left() - 1 及び bottom() == top() - 1 ) Nullの長方形はまた空の長方形でもあるため、有効ではありません。 bool QRect isEmpty() const この長方形が空の場合はtrue、そうでない場合はfalseを返します。 空の長方形は left() right() または top() bottom() となります。 空の長方形は有効ではありません。(つまり、 isEmpty() == !isValid() ) 頂点が交換された場合の長方形を取得するためには normalized() 関数を使用してください。 bool QRect isValid() const 長方形が有効の場合はtrue、そうでない場合はfalseを返します。 有効な長方形は left() right() 及び top() bottom() となります。 AND演算のような自明でない演算は無効な長方形では定義されません。 有効な長方形は空ではありません。(つまり、isValid() == !isEmpty() ) 長方形や点がこの長方形に含まれるかどうかを調べる +... bool QRect contains(const QPoint point, bool proper = false) const 指定した点がこの長方形の内部または境界上にある場合はtrue、そうでない場合はfalseを返します。 properをtrueにした場合はこの関数は指定した点がこの長方形の内部にある場合のみtrueを返します。 bool QRect contains(int x, int y, bool proper) const この関数はオーバーロード関数です。 指定した点(x, y)がこの長方形の内部または境界上にある場合はtrue、そうでない場合はfalseを返します。 properをtrueにした場合、この関数は指定した点がこの長方形の内部にある場合のみtrueを返します。 bool QRect contains(int x, int y) const この関数はオーバーロード関数です。 指定した点(x, y)がこの長方形の内部にある場合はtrue、そうでない場合はfalseを返します。 bool QRect contains(const QRect rectangle, bool proper = false) const この関数はオーバーロード関数です。 指定した長方形がこの長方形の内部にある場合はtrue、そうでない場合はfalseを返します。 properをtrueにした場合、この関数は指定した長方形全体がこの長方形の境界上に重なることなく、完全に内部に収まる場合のみtrueを返します。 この長方形の各辺の座標を設定する +... void QRect setTop(int y) この長方形の上端に指定したY座標を設定します。 高さは変更される可能性がありますが、この長方形の下端は変更されません。 setY() と同じです。 パラメータ y 上端のY座標 void QRect setY(int y) この長方形の上端に指定したY座標を設定します。 高さは変更される可能性がありますが、この長方形の下端は変更されません。 setTop() と同じです。 y 上端のY座標 void QRect setLeft(int x) この長方形の左端に指定したX座標を設定します。 幅は変更される可能性がありますが、この長方形の右端は変更されません。 setX() と同じです。 x 左端のX座標 void QRect setX(int x) この長方形の左端に指定したX座標を設定します。 幅は変更される可能性がありますが、この長方形の右端は変更されません。 setLeft() と同じです。 x 右端のX座標 void QRect setBottom(int y) この長方形の下端に指定したY座標を設定します。 高さは変更される可能性がありますが、この長方形の上端は変わりません。 y 下端のY座標 void QRect setRight(int x) この長方形の右端に指定したX座標を設定します。 幅は変更される可能性がありますが、この長方形の左端は変更されません。 x 左端のX座標 この長方形の各頂点の座標を設定する +... void QRect setTopLeft(const QPoint position) この長方形の左上の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の右下の頂点は変更されません。 パラメータ position 左上の頂点の座標 void QRect setBottomLeft(const QPoint position) この長方形の左下の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の右上の頂点は変わりません。 パラメータ position 左下の頂点の座標 void QRect setBottomRight(const QPoint position) この長方形の右下の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の左上の頂点は変わりません。 パラメータ position 右下の頂点の座標 void QRect setTopRight(const QPoint position) この長方形の右上の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の左下の長方形の座標は変更されません。 パラメータ position 右上の頂点の座標 void QRect setCoords(int x1, int y1, int x2, int y2) この長方形の左上の頂点に指定した座標 (x1, y1) を設定し、また右下の頂点に指定した座標 (x2, y2) を設定します。 パラメータ x1 左上の頂点のX座標 y1 左上の頂点のY座標 x2 右下の頂点のX座標 y2 右下の頂点のY座標 この長方形の大きさを設定する +... void QRect setWidth(int width) この長方形に指定した幅を設定します。右端は変更されますが、左端は変更されません。 パラメータ width 幅さ void QRect setHeight(int height) この長方形の高さに指定した高さを設定します。下端は変更されますが、上端は変更されません。 パラメータ height 高さ void QRect setSize(const QSize size) この長方形の大きさに指定した大きさを設定します。左上の頂点は移動しません。 パラメータ size 大きさ void QRect setRect(int x, int y, int width, int height) この長方形の左上の頂点に座標(x, y)を設定し、また大きさに指定した幅及び高さを設定します。 パラメータ x 長方形の左上のX座標 y 長方形の左上のY座標 width 長方形の幅 height 長方形の高さ この長方形の各辺の座標を移動する +... void QRect moveTop(int y) この長方形を垂直方向に移動させます。 指定したY座標にこの長方形の上端を移動させます。 長方形の大きさは変更されません。 void QRect moveLeft(int x) この長方形を水平方向に移動させます。 指定したX座標にこの長方形の左端を移動させます。 長方形の大きさは変更されません。 void QRect moveBottom(int y) この長方形を垂直方向に移動させます。 指定したY座標にこの長方形の下端を移動させます。 長方形の大きさは変更されません。 void QRect moveRight(int x) この長方形を水平方向に移動させます。 指定したX座標にこの長方形の右端を移動させます。 長方形の大きさは変更されません。 この長方形の各頂点の座標を移動する +... void QRect moveTopLeft(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の左上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の左上の頂点の座標 void QRect moveTo(int x, int y) 長方形を移動させます。指定した座標(x, y)にこの長方形の左上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ x 移動後の左上の頂点のX座標 y 移動後の左上の頂点のY座標 void QRect moveTo(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の左上の頂点を移動させます。 パラメータ position 移動後の左上の頂点の座標 void QRect moveTopRight(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の右上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の左下の頂点の座標 void QRect moveBottomLeft(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の左下の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の右下の頂点の座標 void QRect moveBottomRight(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の右下の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の右上の頂点の座標 void QRect moveCenter(const QPoint position) 長方形を移動させます。指定した座標にこの長方形の中点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の中点の座標 この長方形全体を移動する +... void QRect translate(int dx, int dy) この長方形を現在の位置から相対的にx軸に沿って dx、y軸に沿って dy 移動させます。 正の値はこの長方形を右及び下に移動させます。 パラメータ dx X軸方向の移動量 dy Y軸方向の移動量 void QRect translate(const QPoint offset) この関数はオーバーロード関数です。 この長方形を現在の位置から相対的にx軸に沿って offset.x() 及びy軸に沿って offset.y() 移動させます。 パラメータ offset 移動量 QRect QRect translated(int dx, int dy) const この長方形を現在の位置から相対的にx軸に沿って dx 及びy軸に沿って dy 移動させた新しい長方形を返します。 正の値はこの長方形を右及び下に移動させます。 パラメータ dx X軸方向の移動量 dy Y軸方向の移動量 QRect QRect translated(const QPoint offset) const この関数はオーバーロード関数です。 この長方形を現在の位置から相対的にx軸に沿って dx、 及びy軸に沿って dy 移動させた新しい長方形を返します。 パラメータ offset 移動量 その他 QRect QRect normalized() const 正規化した長方形を返します。つまり、この長方形を非負の幅及び高さを持つ長方形に変形します。 width() 0 の場合は関数は左側の各頂点と右側の各頂点を交換します。height() 0 の場合は上側の各頂点と下側の各頂点を交換します。 この長方形の左上と右下の頂点の座標に加算する +... void QRect adjust(int dx1, int dy1, int dx2, int dy2) この長方形の既存の座標にdx1、dx2、dx3及びdx4をそれぞれ加算します。 パラメータ dx1 この長方形の左上のX座標に加算する値 dy1 この長方形の左上のY座標に加算する値 dx2 この長方形に右下のX座標に加算する値 dy2 この長方形の右下のY座標に加算する値 QRect QRect adjusted(int dx1, int dy1, int dx2, int dy2) const この長方形の既存の座標にdx1、dx2、dx3及びdx4をそれぞれ加算した新しい長方形を返します。 パラメータ dx1 この長方形の左上のX座標に加算する値 dy1 この長方形の左上のY座標に加算する値 dx2 この長方形に右下のX座標に加算する値 dy2 この長方形の右下のY座標に加算する値 注意 この長方形は変更されません。 長方形同士の共通部分を取得する(AND演算) +... bool QRect intersects(const QRect rectangle) const この長方形が指定した長方形と交わる場合はtrue、そうでない場合はfalseを返します。(つまり、両方の長方形に含まれる少なくとも一つ以上のピクセルが存在する場合です) 共通の長方形は intersected() 関数を使用して取得できます。 パラメータ rectangle もう一方の長方形 QRect QRect intersected(const QRect rectangle) const この長方形と指定した長方形の共通部分を新しい長方形で返します。 r.intersected(s) は r s と同じです。 パラメータ rectangle もう一方の長方形 QRect QRect operator (const QRect rectangle) const この長方形と指定した長方形の共通部分を新しい長方形で返します。 共通部分がない場合は空の長方形を返します。 パラメータ rectangle もう一方の長方形 QRect QRect operator =(const QRect rectangle) この長方形は指定した長方形との共通部分になります。 パラメータ rectangle もう一方の長方形 長方形同士を結合する(OR演算) +... QRect QRect united(const QRect rectangle) const この長方形及び指定した長方形が両方収まる新しい長方形を返します。 パラメータ rectangle もう一方の長方形 QRect QRect operator|(const QRect rectangle) const この長方形及び指定した長方形が両方収まる新しい長方形を返します。 パラメータ rectangle もう一方の長方形 QRect QRect operator|=(const QRect rectangle) この長方形に指定した長方形を結合させます。 パラメータ rectangle もう一方の長方形 長方形同士を加算する +... QRect QRect marginsAdded(const QMargins margins) const この長方形に指定した長方形を加算して拡大し、新しい長方形で返します。 パラメータ margins 加算する長方形 QRect QRect operator+=(const QMargins margins) この長方形に指定した長方形を加算して拡大します。 パラメータ margins 加算する長方形 非メンバ関数 QRect operator+(const QRect rectangle, const QMargins margins) 2つの長方形同士を加算させます。 パラメータ rectangle 加算される長方形 margins 加算する長方形 非メンバ関数 QRect operator+(const QMargins margins, const QRect rectangle) この関数はオーバーロード関数です。 margins によって拡大した長方形を返します。 長方形同士を減算する +... QRect QRect marginsRemoved(const QMargins margins) const この長方形に指定した長方形を減算して縮小し、新しい長方形で返します。 パラメータ margins 減算する長方形 QRect QRect operator-=(const QMargins margins) この長方形に指定した長方形を減算して縮小します。 パラメータ margins 減算する長方形 非メンバ関数 QRect operator-(const QRect lhs, const QMargins rhs) 2つの長方形同士を減算させます。 パラメータ lhs 減算される長方形 rhs 減算する長方形 長方形同士を比較する +... 非メンバ関数 bool operator==(const QRect r1, const QRect r2) 長方形 r1 と r2 が異なる場合はtrue、そうでない場合はfalseを返します。 非メンバ関数 bool operator!=(const QRect r1, const QRect r2) 長方形 r1 と r2 が異なる場合はtrue、そうでない場合はfalseを返します。
https://w.atwiki.jp/qtmemo/pages/74.html
見出し 見出し QRectF クラス 性質 メンバ関数コンストラクタ この長方形の各辺の座標を取得する コピーコンストラクタ この長方形の各頂点の座標を取得する この長方形の大きさを取得する 有効な長方形かどうか調べる 長方形や点がこの長方形に含まれるかどうかを調べる この長方形の各辺の座標を設定する この長方形の各頂点の座標を設定する この長方形の大きさを設定する この長方形の各辺の座標を移動する この長方形の各頂点の座標を移動する この長方形全体を移動する その他 この長方形の左上と右下の頂点の座標に加算する 長方形同士の共通部分を取得する(AND演算) 長方形同士を結合する(OR演算) 長方形同士を加算する 長方形同士を減算する 長方形同士を比較する QRectF クラス QRectF クラスは浮動小数点精度の平面上の長方形を定義します。 公式リファレンス 性質 すべての関数はリエントラントです。 QDataStream対応 メンバ関数 コンストラクタ + ... QRectF QRectF() Nullの長方形を生成します。 QRectF QRectF(const QPointF topLeft, const QPointF bottomRight) 指定した左上及び右下の頂点を持つ長方形を生成します。 パラメータ topLeft 長方形の左上の座標 bottomRight 長方形の左下の座標 QRectF QRectF(const QPointF topLeft, const QSizeF size) 指定した左上の頂点及び大きさを持つ長方形を生成します。 パラメータ topLeft 長方形の左上の座標 size 大きさ QRectF QRectF(qreal x, qreal y, qreal width, qreal height) 指定した左上の頂点(x, y)及び大きさを持つ長方形を生成します。 パラメータ x 長方形の左上のx座標 y 長方形の左上のy座標 width 長方形の幅 height 長方形の高さ この長方形の各辺の座標を取得する + ... qreal QRectF top() const この長方形の上端のy座標を返します。y() と同じです。 qreal QRectF y() const この長方形の上端のy座標を返します。top() と同じです。 qreal QRectF left() const この長方形の左端のX座標を返します。x() と同じです。 qreal QRectF x() const この長方形の左端のX座標を返します。left() と同じです。 qreal QRectF bottom() const この長方形の下端のy座標を返します。 注意 歴史的な理由からこの関数は top() + height() + 1 を返します。正しいY座標を得るには y() + height() + 1 を使用してください。 qreal QRectF right() const この長方形の右端のx座標を返します。 注意 歴史的な理由からこの関数は left() + width() - 1 を返します。正しいy座標を得るには x() + width() を使用してください。 コピーコンストラクタ QRectF QRectF(const QRect rectangle) この長方形の各頂点の座標を取得する + ... QPointF QRectF topLeft() const この長方形の左上の頂点の座標を返します。 QPointF QRectF bottomLeft() const この長方形の左下の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left(), top() + height() - 1) を返します。 QPointF QRectF bottomRight() const この長方形の右下の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left() + width() -1, top() + height() - 1) を返します。 QPointF QRectF topRight() const この長方形の右上の頂点の座標を返します。 注意 歴史的な理由からこの関数は QPoint(left() + width() -1, top()) を返します。 QPointF QRectF center() const この長方形の中点の座標を返します。 void QRectF getCoords(qreal * x1, qreal * y1, qreal * x2, qreal * y2) const この長方形の左上の頂点の座標をx1及びx2に取り出し、右下の頂点の座標をx2及びy2に取り出します。 この長方形の大きさを取得する + ... qreal QRectF width() const この長方形の幅を返します。 qreal QRectF height() const 長方形の高さを返します。 QSizeF QRectF size() const この長方形の大きさを返します。 void QRectF getRect(qreal * x, qreal * y, qreal * width, qreal * height) const この長方形の左上の頂点の座標をx及びyに取り出し、寸法をwidth及びheightに取り出します。 有効な長方形かどうか調べる + ... bool QRectF isNull() const この長方形がNullの長方形の場合はtrue、そうでない場合はfalseを返します。 Nullの長方形は幅及び高さが0である長方形です。(つまり、right() == left() - 1 及び bottom() == top() - 1 ) Nullの長方形はまた空の長方形でもあるため、有効ではありません。 bool QRectF isEmpty() const この長方形が空の場合はtrue、そうでない場合はfalseを返します。 空の長方形は left() right() または top() bottom() となります。 空の長方形は有効ではありません。(つまり、 isEmpty() == !isValid() ) 頂点が交換された場合の長方形を取得するためには normalized() 関数を使用してください。 bool QRectF isValid() const 長方形が有効の場合はtrue、そうでない場合はfalseを返します。 有効な長方形は left() right() 及び top() bottom() となります。 AND演算のような自明でない演算は無効な長方形では定義されません。 有効な長方形は空ではありません。(つまり、isValid() == !isEmpty() ) 長方形や点がこの長方形に含まれるかどうかを調べる + ... bool QRectF contains(const QPointF point) const 指定した点がこの長方形の内部または境界上にある場合はtrue、そうでない場合はfalseを返します。 bool QRectF contains(qreal x, qreal y) const この関数はオーバーロード関数です。 指定した点(x, y)がこの長方形の内部または境界上にある場合はtrue、そうでない場合はfalseを返します。 bool QRectF contains(const QRectF rectangle) const この関数はオーバーロード関数です。 指定した長方形がこの長方形の内部にある場合はtrue、そうでない場合はfalseを返します。 この長方形の各辺の座標を設定する + ... void QRectF setTop(qreal y) この長方形の上端に指定したy座標を設定します。 高さは変更される可能性がありますが、この長方形の下端は変更されません。 setY() と同じです。 パラメータ y 上端のY座標 void QRectF setY(qreal y) この長方形の上端に指定したy座標を設定します。 高さは変更される可能性がありますが、この長方形の下端は変更されません。 setTop() と同じです。 y 上端のY座標 void QRectF setLeft(qreal x) この長方形の左端に指定したx座標を設定します。 幅は変更される可能性がありますが、この長方形の右端は変更されません。 setX() と同じです。 x 左端のX座標 void QRectF setX(qreal x) この長方形の左端に指定したx座標を設定します。 幅は変更される可能性がありますが、この長方形の右端は変更されません。 setLeft() と同じです。 x 右端のX座標 void QRectF setBottom(qreal y) この長方形の下端に指定したy座標を設定します。 高さは変更される可能性がありますが、この長方形の上端は変わりません。 y 下端のY座標 void QRectF setRight(qreal x) この長方形の右端に指定したx座標を設定します。 幅は変更される可能性がありますが、この長方形の左端は変更されません。 x 左端のX座標 この長方形の各頂点の座標を設定する + ... void QRectF setTopLeft(const QPointF position) この長方形の左上の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の右下の頂点は変更されません。 パラメータ position 左上の頂点の座標 void QRectF setBottomLeft(const QPointF position) この長方形の左下の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の右上の頂点は変わりません。 パラメータ position 左下の頂点の座標 void QRectF setBottomRight(const QPointF position) この長方形の右下の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の左上の頂点は変わりません。 パラメータ position 右下の頂点の座標 void QRectF setTopRight(const QPointF position) この長方形の右上の頂点に指定した座標を設定します。 大きさは変更される可能性がありますが、この長方形の左下の長方形の座標は変更されません。 パラメータ position 右上の頂点の座標 void QRectF setCoords(qreal x1, qreal y1, qreal x2, qreal y2) この長方形の左上の頂点に指定した座標 (x1, y1) を設定し、また右下の頂点に指定した座標 (x2, y2) を設定します。 パラメータ x1 左上の頂点のX座標 y1 左上の頂点のY座標 x2 右下の頂点のX座標 y2 右下の頂点のY座標 この長方形の大きさを設定する + ... void QRectF setWidth(qreal width) この長方形に指定した幅を設定します。右端は変更されますが、左端は変更されません。 パラメータ width 幅さ void QRectF setHeight(qreal height) この長方形の高さに指定した高さを設定します。下端は変更されますが、上端は変更されません。 パラメータ height 高さ void QRectF setSize(const QSizeF size) この長方形の大きさに指定した大きさを設定します。左上の頂点は移動しません。 パラメータ size 大きさ void QRectF setRect(qreal x, qreal y, qreal width, qreal height) この長方形の左上の頂点に座標(x, y)を設定し、また大きさに指定した幅及び高さを設定します。 パラメータ x 長方形の左上のx座標 y 長方形の左上のy座標 width 長方形の幅 height 長方形の高さ この長方形の各辺の座標を移動する + ... void QRectF moveTop(qreal y) この長方形を垂直方向に移動させます。 指定したy座標にこの長方形の上端を移動させます。 長方形の大きさは変更されません。 void QRectF moveLeft(qreal x) この長方形を水平方向に移動させます。 指定したx座標にこの長方形の左端を移動させます。 長方形の大きさは変更されません。 void QRectF moveBottom(qreal y) この長方形を垂直方向に移動させます。 指定したy座標にこの長方形の下端を移動させます。 長方形の大きさは変更されません。 void QRectF moveRight(qreal x) この長方形を水平方向に移動させます。 指定したx座標にこの長方形の右端を移動させます。 長方形の大きさは変更されません。 この長方形の各頂点の座標を移動する + ... void QRectF moveTopLeft(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の左上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の左上の頂点の座標 void QRectF moveTo(qreal x, qreal y) 長方形を移動させます。指定した座標(x, y)にこの長方形の左上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ x 移動後の左上の頂点のX座標 y 移動後の左上の頂点のy座標 void QRectF moveTo(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の左上の頂点を移動させます。 パラメータ position 移動後の左上の頂点の座標 void QRectF moveTopRight(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の右上の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の左下の頂点の座標 void QRectF moveBottomLeft(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の左下の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の右下の頂点の座標 void QRectF moveBottomRight(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の右下の頂点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の右上の頂点の座標 void QRectF moveCenter(const QPointF position) 長方形を移動させます。指定した座標にこの長方形の中点を移動させます。 長方形の大きさは変更されません。 パラメータ position 移動後の中点の座標 この長方形全体を移動する + ... void QRectF translate(qreal dx, qreal dy) この長方形を現在の位置から相対的にx軸に沿って dx、y軸に沿って dy 移動させます。 正の値はこの長方形を右及び下に移動させます。 パラメータ dx X軸方向の移動量 dy Y軸方向の移動量 void QRectF translate(const QPointF offset) この関数はオーバーロード関数です。 この長方形を現在の位置から相対的にx軸に沿って offset.x() 及びy軸に沿って offset.y() 移動させます。 パラメータ offset 移動量 QRectF QRectF translated(qreal dx, qreal dy) const この長方形を現在の位置から相対的にx軸に沿って dx 及びy軸に沿って dy 移動させた新しい長方形を返します。 正の値はこの長方形を右及び下に移動させます。 パラメータ dx X軸方向の移動量 dy Y軸方向の移動量 QRectF QRectF translated(const QPointF offset) const この関数はオーバーロード関数です。 この長方形を現在の位置から相対的にx軸に沿って dx、 及びy軸に沿って dy 移動させた新しい長方形を返します。 パラメータ offset 移動量 その他 QRectF QRectF normalized() const 正規化した長方形を返します。つまり、この長方形を非負の幅及び高さを持つ長方形に変形します。 width() 0 の場合は関数は左側の各頂点と右側の各頂点を交換します。height() 0 の場合は上側の各頂点と下側の各頂点を交換します。 [[QRect]] QRectF toAlignedRect() const この長方形を含むもっとも小さい整数精度の長方形を返します。 QRect QRectF toRect() const この長方形にもっとも近い整数精度の長方形を返します。 この長方形の左上と右下の頂点の座標に加算する + ... void QRectF adjust(qreal dx1, qreal dy1, qreal dx2, qreal dy2) この長方形の既存の座標にdx1、dx2、dx3及びdx4をそれぞれ加算します。 パラメータ dx1 この長方形の左上のx座標に加算する値 dy1 この長方形の左上のy座標に加算する値 dx2 この長方形に右下のx座標に加算する値 dy2 この長方形の右下のy座標に加算する値 QRectF QRectF adjusted(qreal dx1, qreal dy1, qreal dx2, qreal dy2) const この長方形の既存の座標にdx1、dx2、dx3及びdx4をそれぞれ加算した新しい長方形を返します。 パラメータ dx1 この長方形の左上のx座標に加算する値 dy1 この長方形の左上のy座標に加算する値 dx2 この長方形に右下のx座標に加算する値 dy2 この長方形の右下のy座標に加算する値 注意 この長方形は変更されません。 長方形同士の共通部分を取得する(AND演算) + ... bool QRectF intersects(const QRectF rectangle) const この長方形が指定した長方形と交わる場合はtrue、そうでない場合はfalseを返します。(つまり、両方の長方形に含まれる少なくとも一つ以上のピクセルが存在する場合です) 共通の長方形は intersected() 関数を使用して取得できます。 パラメータ rectangle もう一方の長方形 QRectF QRectF intersected(const QRectF rectangle) const この長方形と指定した長方形の共通部分を新しい長方形で返します。 r.intersected(s) は r s と同じです。 パラメータ rectangle もう一方の長方形 QRectF QRectF operator (const QRectF rectangle) const この長方形と指定した長方形の共通部分を新しい長方形で返します。 共通部分がない場合は空の長方形を返します。 パラメータ rectangle もう一方の長方形 QRectF QRectF operator =(const QRectF rectangle) この長方形は指定した長方形との共通部分になります。 パラメータ rectangle もう一方の長方形 長方形同士を結合する(OR演算) + ... QRectF QRectF united(const QRectF rectangle) const この長方形及び指定した長方形が両方収まる新しい長方形を返します。 パラメータ rectangle もう一方の長方形 QRectF QRectF operator|(const QRectF rectangle) const この長方形及び指定した長方形が両方収まる新しい長方形を返します。 パラメータ rectangle もう一方の長方形 QRectF QRectF operator|=(const QRectF rectangle) この長方形に指定した長方形を結合させます。 パラメータ rectangle もう一方の長方形 長方形同士を加算する + ... QRectF QRectF marginsAdded(const QMarginsF margins) const この長方形に指定した長方形を加算して拡大し、新しい長方形で返します。 パラメータ margins 加算する長方形 QRectF QRectF operator+=(const QMarginsF margins) この長方形に指定した長方形を加算して拡大します。 パラメータ margins 加算する長方形 非メンバ関数 QRectF operator+(const QMarginsF lhs, const QRectF rhs) 2つの長方形同士を加算させます。 パラメータ lhs 左 rhs 右 非メンバ関数 QRectF operator+(const QRectF lhs, const QMarginsF rhs) 2つの長方形同士を加算させます。 パラメータ lhs 左 rhs 右 長方形同士を減算する + ... QRectF QRectF marginsRemoved(const QMarginsF margins) const この長方形に指定した長方形を減算して縮小し、新しい長方形で返します。 パラメータ margins 減算する長方形 QRectF QRectF operator-=(const QMarginsF margins) この長方形に指定した長方形を減算して縮小します。 パラメータ margins 減算する長方形 非メンバ関数 QRectF operator-(const QRectF lhs, const QMarginsF rhs) 2つの長方形同士を減算させます。 パラメータ lhs 減算される長方形 rhs 減算する長方形 長方形同士を比較する + ... 非メンバ関数 bool operator==(const QRectF r1, const QRectF r2) 長方形 r1 と r2 が異なる場合はtrue、そうでない場合はfalseを返します。 非メンバ関数 bool operator!=(const QRectF r1, const QRectF r2) 長方形 r1 と r2 が異なる場合はtrue、そうでない場合はfalseを返します。
https://w.atwiki.jp/karanotamago/pages/157.html
ページ位置[006-005] #メディア 実験用メディア[005] 三角形や斜線で構成された四角形 #分類 試験的な文章と画像 内容細目 [01]概要 [02]対象の画像 [03]座標の宣言 [04]長方形の宣言 [05]長方形の配置 [06]斜線の配置 [07]お知らせ [08]次回更新予定 [01]概要 画像の詳細を文章で表記することを目的とした、 試験的なメディアですわ。 今回は長方形の頂点同士を結ぶことを活用して、 三角形や斜線で構成された四角形の 表記に挑戦でしてよ。 [02]対象の画像 [pix/001]幅の外縁と [pix-xy/198,198]の長方形から成る [pix-xy/200,200]の画像。 [03]座標の宣言 左上の手頃な座標 [xy/020,020] 左下の手頃な座標 [xy/020,140] 右上の手頃な座標 [xy/100,040] [04]長方形の宣言 特に指定していなければ色は [rgb/000-000-000]ですわ。 長方形[a] 横と縦の長さは[pix-xy/040,040] 長方形[b] [pix-xy/040,040] 長方形[c] [pix-xy/088,008] 長方形[d] [pix-xy/008,048] 長方形[e] [pix-xy/072,012] 長方形[f] [pix-xy/012,072] 斜線用の長方形[blue] 横と縦の長さは[pix-xy/004,004] どんな色[rgb/000-120-255] 斜線用の長方形[red] [pix-xy/008,004] [rgb/255-080-080] 斜線用の長方形[yellow] [pix-xy/004,008] [rgb/255-200-040] [05]長方形の配置 左上の手頃な座標[+0,+0] [xy/020,020]から長方形[a]を描画。 左上の手頃な座標[+40,+40] [xy/060,060]から長方形[b]を描画。 左下の手頃な座標[+0,+0] [xy/020,140]から長方形[c]を描画。 左下の手頃な座標[+40,-40] [xy/060,100]から長方形[d]を描画。 右上の手頃な座標[+0,+0] [xy/100,040]から長方形[e]を描画。 右上の手頃な座標[+20,-20] [xy/120,020]から長方形[f]を描画。 [06]斜線の配置 長方形[a]と長方形[b]を 長方形[blue]で左下左下接続、 長方形[blue]で右上右上接続。 長方形[c]と長方形[d]を 長方形[blue]で左上左上接続、 長方形[blue]で右上右上接続。 長方形[e]と長方形[f]を 長方形[blue]で左上左上接続、 長方形[red]で右上右上接続。 長方形[e]と長方形[f]を 長方形[yellow]で左下左下接続、 長方形[blue]で右下右下接続。 [07]お知らせ [@wiki]のシステム変更により 「からたま寿陵館」の URLが以下のものに変更されましたわ。 以前に使用していたリンクは そのままリダイレクトされるそうなので、 過去の記事や[Twitter]に記載したリンクなどは これまでと同じように参照出来ましてよ。 #新規のURL https //w.atwiki.jp/karanotamago/ #以前のURL https //www65.atwiki.jp/karanotamago/ [08]次回更新予定 歌唱[015] [2019/09/21]
https://w.atwiki.jp/frostar/pages/76.html
http //www.hyuki.com/codeiq/ 問題3 問題概要 与えられた長方形に対し、コンパスで縦の長さと同じ正方形を描いていく。 かけなくなったら最後の辺をはさみで切り、残った部分(正方形が描かれていない部分)を新たな長方形とし、同じ作業を繰り返す。 40回だけはさみを使う最小の長方形を見つける。 ただし、長方形は縦の長さ 横の長さである。 解法 小さいほうから考えて、s回はさみを使うときの長方形を算出します。 長方形の大きさについて縦×横と表記することにします。 s=0の時の最小の長方形は1×1の正方形2個で構成された1×2の長方形です。 s=1の時の最小の長方形をn×mとするとn×nの正方形を切り取ってできる長方形が1×2になればよいと考えることができます。 n×mの長方形からn×nの正方形を切り取った後の長方形は縦がn、横がm-nの長方形です。 ただし、この時(m-n) nであることから横が短い長方形になっているので、縦と横を入れ替えたn×(m-n)の長方形ができるといえます。 これを一般化すると s回はさみを使って得られる長方形を(m-n)×nとすると、s+1回はさみを使って得られる最小の長方形はm×n ここで、x=m-n、y=nとすると s回はさみを使って得られる長方形をx×yとすると、s+1回はさみを使って得られる最小の長方形はx×(y+x) 初期条件はs=0の時、x=1、y=2なので これに対してs回y+xを繰り返せば正解が求まります。 ただし、x yである必要があるため、1回の操作ごとにxとyの値を入れ替える必要があることに注意が必要です。 以上から作成したプログラムが以下の通りです。 ただし、x=width、y=heightです。 public static void cut(int s){ int height = 1; int width = 2; for(int i=0;i s;i++){ height+=width; int tmp = height; height = width; width = tmp; } System.out.println(height+"x"+width); }
https://w.atwiki.jp/karanotamago/pages/153.html
ページ位置[006-004] #メディア 実験用メディア[004] 長方形の頂点を結ぶ #分類 試験的な文章と画像 [01]概要 [02]対象の画像 [03]座標の宣言 [04]長方形の宣言 [05]長方形の配置 [06]斜線の配置 [07]斜線の配置 [08]その他 [09]次回更新予定 [01]概要 画像の詳細を文章で表記することを目的とした、 試験的なメディアですわ。 今回は長方形の頂点を結ぶことに挑戦でしてよ。 [02]対象の画像 [pix/004]幅の外縁と [pix-xy/192,192]の長方形から成る [pix-xy/200,200]の画像。 [03]座標の宣言 ウサギさん一番目座標 [xy/020,020] ゾウさん二番目座標 [xy/140,020] タヌキさん三番目座標 [xy/020,136] キツネさん四番目座標 [xy/092,136] [04]長方形の宣言 長方形[a] [pix-xy/080,120] [rgb/000-000-000] 長方形[b] [pix-xy/072,112] [rgb/255-255-255] 長方形[c] [pix-xy/040,080] [rgb/000-000-000] 長方形[d] [pix-xy/032,072] [rgb/255-255-255] 長方形[blue] [pix-xy/012,004] [rgb/000-120-255] 長方形[red] [pix-xy/008,004] [rgb/255-080-080] [05]長方形の配置 ウサギさん一番目座標[+0,+0] [xy/020,020]から長方形[a]を描画。 ウサギさん一番目座標[+4,+4] [xy/024,024]から長方形[b]を描画。 ゾウさん二番目座標[+0,+0] [xy/140,020]から長方形[c]を描画。 ゾウさん二番目座標[+4,+4] [xy/144,024]から長方形[d]を描画。 [06]斜線の配置 タヌキさん三番目座標[+0,+0] [xy/020,136]から長方形[blue]を描画。 タヌキさん三番目座標[+12,-4] [xy/032,132]から長方形[blue]を描画。 繰り返して タヌキさん三番目座標[+120,-40] [xy/140,096]から長方形[blue]を描画、 まで。 [07]斜線の配置 キツネさん四番目座標[+0,+0] [xy/092,136]から長方形[red]を描画。 キツネさん四番目座標[+8,-4] [xy/100,132]から長方形[red]を描画。 繰り返して キツネさん四番目座標[+80,-40] [xy/172,096]から長方形[red]を描画、 まで。 [08]その他 左下の図形 [xy/020,150]は 小さくした時のイメージですわ。 [09]次回更新予定 おはなし[016] [2019/07/20]