アルちゃん

メンバーシップに加入する

私の脳髄の中身です。

  • ベーシック

    ¥500 / 月

マガジン

  • 基礎アルゴリズム:ソートとサーチとデータ構造

    プログラミングにまつわる記事のうち ソート、サーチ、データ構造、デザインパターンなどに関する記事群

  • 生成AIプロンプト

  • ハードと低レイヤー

    自作PC、CPU、GPU、ネットワーク機器、通信、電子回路などに関する記事が含まれる。また、OS、アセンブラなども含まれる場合がある。

  • 数学・物理・自然科学

    数学・物理・自然科学にかかる記事群。

  • ベクトル・線形代数

    ベクトル・線形代数にかかる記事群。

記事一覧

固定された記事

ストライプ生成マッスィーン

processingでできてます。 続編 使い方。 コピペ用コードcontrolP5はがんばって導入します。 import controlP5.*;ControlP5 cp;//BackgroundColor用Slider BackR;Slide…

5

探索

ソースはChatGPT4o 関連 探索アルゴリズムは、特定のデータセット内から指定されたクエリに一致する情報を効率的に見つけるための手法や手続きを指します。以下に主要な…

アルちゃん
18時間前

クイックセレクト (Quickselect)

C#include <stdio.h>void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp;}int partition(int arr[], int left, int right) { int pivot = arr[r…

アルちゃん
18時間前

深さ優先探索 (Depth-First Search, DFS) と 幅優先探索 (Breadth-First Search, BFS)

C#include <stdio.h>#include <stdlib.h>#define MAX 100// グラフの隣接リストのノードstruct Node { int vertex; struct Node* next;};// グラフstruct Graph { …

アルちゃん
18時間前

ハッシュ探索(Hash Search)

ハッシュテーブルを用意し、 テーブル上のインデックスをハッシュ関数で作成する。 ハッシュ関数はデータを受け、インデックスを返す。 探索にかかる時間はハッシュ関数が…

アルちゃん
18時間前

二分探索(Binary Search)

C#include <stdio.h>int binarySearch(int arr[], int l, int r, int x) { while (l <= r) { int m = l + (r - l) / 2; if (arr[m] == x) { …

アルちゃん
18時間前

線形探索 (Linear Search)

forなりforeachなりして順番に要素を取り出し IDなり名前なりを比較演算するやつ。 C#include <stdio.h>int linearSearch(int arr[], int n, int x) { for (int i = 0;…

アルちゃん
18時間前

シングルトン

ソースはChatGPT4o オブジェクト指向における再利用のためのデザインパターン 単行本 – 1999/10/1Erich Gamma (著) 継承に関してはGAME PROGRAMMING GEMS(P13)に記述が…

魔物図鑑その②~個体を作ろう~

500

GDI

DCデバイスコンテキスト 描画したいウィンドウからGetDCすることでDCを取得する。 DCには描画対象ウィンドウに対して どんな線のサイズで描画するか どんな色で描画するか…

Win32API

真偽不明の昔のメモ。 (新)2023年現在 (旧) traditional ストアアプリ以前のものをtraditionalと呼んでいると思われる。 WinMain新型の方を参照(2023年現在) ①WNDCLA…

3

曲率

途中ですしChatGPTですしミスも誤解もありますし。 参考というか前提 曲率(Curvature)は、曲線や曲面の局所的な曲がり具合を表す量です。曲線や曲面の様々な文脈や次元…

アルちゃん
3週間前
2

途中ですしChatGPTですしミスも誤解もありますし。 参考 途中でぶっこんでるオイラー法 テイラー展開 ただしまだ十分でない。 ベクトル解析のページでも触れた気がする…

アルちゃん
3週間前
3

ジオメトリノード(ver4.1)

まだ途中。 ノードの追加は追加ボタンかソケットのドラッグ。 パスの切断はCtrl+右ドラッグ modeling->geometry nodes ジオメトリノードは、Blender 2.92以降に導入され…

アルちゃん
1か月前
2

ブレセンハムのアルゴリズム

ある理想の直線が存在するとして、それをピクセル単位に分割された、離散化されたディスプレイ空間に適切に、自然に割り当てるにはどうしたらよいか。 ブレセンハムのア…

アルちゃん
1か月前
4

DDA(Digital Differential Analyzer)

線分を描画するためのアルゴリズム。 単純ではあるが除算が入ってしまう。ここから除算やfloat演算を取り除いたものがブレセンハム。 dxとdyを比較して、長い方でステップ…

アルちゃん
1か月前
ストライプ生成マッスィーン

ストライプ生成マッスィーン

processingでできてます。

続編

使い方。

コピペ用コードcontrolP5はがんばって導入します。

import controlP5.*;ControlP5 cp;//BackgroundColor用Slider BackR;Slider BackG;Slider BackB;float default_stroke_weight = 1;color default_stroke

もっとみる

探索

ソースはChatGPT4o

関連

探索アルゴリズムは、特定のデータセット内から指定されたクエリに一致する情報を効率的に見つけるための手法や手続きを指します。以下に主要な検索アルゴリズムについて解説します。

線形探索 (Linear Search)線形探索は最も基本的な検索アルゴリズムで、データセットの最初から最後まで順に比較していきます。以下のような特徴があります。

実装の容易さ: 非常に

もっとみる

クイックセレクト (Quickselect)


C#include <stdio.h>void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp;}int partition(int arr[], int left, int right) { int pivot = arr[right]; int i = left - 1; for (int

もっとみる

深さ優先探索 (Depth-First Search, DFS) と 幅優先探索 (Breadth-First Search, BFS)


C#include <stdio.h>#include <stdlib.h>#define MAX 100// グラフの隣接リストのノードstruct Node { int vertex; struct Node* next;};// グラフstruct Graph { int numVertices; struct Node** adjLists; int* vi

もっとみる

ハッシュ探索(Hash Search)

ハッシュテーブルを用意し、
テーブル上のインデックスをハッシュ関数で作成する。
ハッシュ関数はデータを受け、インデックスを返す。
探索にかかる時間はハッシュ関数がハッシュ、すなわちテーブルのインデックスをつくるにかかる時間だけである。
ただしハッシュが衝突したらそこから線形サーチに移行したりする。

以下GPT4o

基本概念ハッシュ探索は、データの格納と検索を効率的に行うためのアルゴリズムとデー

もっとみる

二分探索(Binary Search)


C#include <stdio.h>int binarySearch(int arr[], int l, int r, int x) { while (l <= r) { int m = l + (r - l) / 2; if (arr[m] == x) { return m; } if (arr[m] < x

もっとみる

線形探索 (Linear Search)

forなりforeachなりして順番に要素を取り出し
IDなり名前なりを比較演算するやつ。

C#include <stdio.h>int linearSearch(int arr[], int n, int x) { for (int i = 0; i < n; i++) { if (arr[i] == x) { return i; }

もっとみる

シングルトン

ソースはChatGPT4o

オブジェクト指向における再利用のためのデザインパターン 単行本 – 1999/10/1Erich Gamma (著)

継承に関してはGAME PROGRAMMING GEMS(P13)に記述があるが、理解はできてない。

シングルトンパターンは、あるクラスに対してインスタンスが一つしか存在しないことを保証するデザインパターンです。
Manager系クラスなど、呼び出

もっとみる

GDI

DCデバイスコンテキスト

描画したいウィンドウからGetDCすることでDCを取得する。
DCには描画対象ウィンドウに対して
どんな線のサイズで描画するか
どんな色で描画するか
といった情報を持つ。

我々はDCの持つ描画のための情報を適時切り替えることで対象ウィンドウに描画することができる。また、ウィンドウに限らずプリンタとかにも出力できる。


GetDCにウィンドウを渡すと基本的にはディス

もっとみる

Win32API

真偽不明の昔のメモ。

(新)2023年現在

(旧) traditional
ストアアプリ以前のものをtraditionalと呼んでいると思われる。

WinMain新型の方を参照(2023年現在)
①WNDCLASS作る。その際コールバックを設定(WindowProc)
飛んできたメッセージを実際に処理するのはコールバック。
②RegisterClassする。
③CreateWindowする。

もっとみる

曲率

途中ですしChatGPTですしミスも誤解もありますし。

参考というか前提

曲率(Curvature)は、曲線や曲面の局所的な曲がり具合を表す量です。曲線や曲面の様々な文脈や次元に応じて、曲率の定義は異なります。以下にいくつかの代表的な定義を示します。

平面曲線の曲率

平面上の曲線で、曲率 $${ \kappa }$$ は次のように定義されます。曲線を $${\mathbf{r}(t)}$$

もっとみる

途中ですしChatGPTですしミスも誤解もありますし。

参考

途中でぶっこんでるオイラー法

テイラー展開
ただしまだ十分でない。
ベクトル解析のページでも触れた気がする。

連立方程式をとくだのとかないだのとけないだのはこちらへん。

円の定義

円とは、中心から一定距離にあるすべての点の集まりです。

数学的には、中心が$${ (h, k) }$$で半径が$${r}$$の円の方程式は次のよ

もっとみる

ジオメトリノード(ver4.1)

まだ途中。

ノードの追加は追加ボタンかソケットのドラッグ。
パスの切断はCtrl+右ドラッグ

modeling->geometry nodes

ジオメトリノードは、Blender 2.92以降に導入された、手続き的にジオメトリを生成および変更するための新しいノードベースのシステムです。
モディファイアであって、元のモデルを変更しません。

各種定義Claude3による。ジオメトリノードに関し

もっとみる

ブレセンハムのアルゴリズム



ある理想の直線が存在するとして、それをピクセル単位に分割された、離散化されたディスプレイ空間に適切に、自然に割り当てるにはどうしたらよいか。

ブレセンハムのアルゴリズムが特筆すべきはすべてが整数演算であること。

描画したい直線が$${y=ax+b}$$であって、$${m=\frac{\Delta y}{\Delta x}}$$として除算を許容するならDDA(Digital differen

もっとみる

DDA(Digital Differential Analyzer)

線分を描画するためのアルゴリズム。
単純ではあるが除算が入ってしまう。ここから除算やfloat演算を取り除いたものがブレセンハム。
dxとdyを比較して、長い方でステップする。
例えばdxの方が長いなら、xを1ずつ増やしてステップする。
yは1以下であり、累積する。
つまりy座標はxに応じて1増えるかそのままかの2択である。
dxとdyを比較して、短い方でステップすると、この単純な2択が使えない。

もっとみる