Este repositório transforma matemática fundamental em implementações práticas para Computação Gráfica, Inteligência Artificial, GPU e Visão Computacional.
MATEMÁTICA → FUNÇÃO → CÓDIGO → GPU / IA / VISÃO
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)
print(np.dot(a, b))def dot(a, b):
return sum(x*y for x, y in zip(a, b))Aplicações:
- Similaridade em IA
- Iluminação em CG
- Projeções vetoriais
import numpy as np
a = np.array([1, 0, 0])
b = np.array([0, 1, 0])
print(np.cross(a, b))Aplicações:
- Normais de superfícies
- Física 3D
- Renderização
import numpy as np
point = np.array([2, 3, 1])
T = np.array([
[1, 0, 5],
[0, 1, 2],
[0, 0, 1]
])
print(T @ point)Aplicações:
- Rotação
- Escala
- Translação
Uso em pipelines gráficos:
- OpenGL
- Vulkan
- Ray Tracing
Forma: (x, y, z, 1)
import numpy as np
def distance(p1, p2):
return np.linalg.norm(np.array(p1) - np.array(p2))Aplicações:
- KNN
- Tracking (YOLO)
- Clustering
def line(p0, d, t):
return p0 + t * dCada thread processa um elemento
__global__ void add(float* a, float* b, float* c) {
int i = threadIdx.x;
c[i] = a[i] + b[i];
}y = Wx + b
import numpy as np
x = np.array([1.0, 2.0])
W = np.array([[0.5, 0.2],
[0.1, 0.7]])
b = np.array([0.1, 0.2])
y = W @ x + b
print(y)import cv2
img = cv2.imread("frame.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("gray", gray)
cv2.waitKey(0)math-for-gpu-ai/
│
├── linear_algebra/
│ ├── vectors.py
│ ├── matrices.py
│
├── geometry/
│ ├── lines.py
│ ├── intersections.py
│
├── gpu/
│ ├── cuda_kernels.cu
│
├── ai/
│ ├── neural_net.py
│
├── vision/
│ ├── opencv_basics.py
│ ├── yolo_demo.py
│
└── README.md
Transformar matemática em sistemas reais:
- IA
- GPU
- Visão computacional
- Computação gráfica