perovskite_client 0.2.0

Multiplayer voxel game written in Rust - Game client
Documentation
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt{2} r s_{y} \\cos{\\left(\\theta \\right)} - s_{x} + s_{z}}{e_{x} - \\sqrt{2} e_{y} r \\cos{\\left(\\theta \\right)} - e_{z} + \\sqrt{2} r s_{y} \\cos{\\left(\\theta \\right)} - s_{x} + s_{z}}$"
      ],
      "text/plain": [
       "(sqrt(2)*r*s_y*cos(\\theta) - s_x + s_z)/(e_x - sqrt(2)*e_y*r*cos(\\theta) - e_z + sqrt(2)*r*s_y*cos(\\theta) - s_x + s_z)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#@title plant-like intersection\n",
    "import sympy as sp\n",
    "\n",
    "sx, sy, sz = sp.symbols('s_x s_y s_z')\n",
    "ex, ey, ez = sp.symbols('e_x e_y e_z')\n",
    "\n",
    "t = sp.symbols('t')\n",
    "\n",
    "dx = ex - sx\n",
    "dy = ey - sy\n",
    "dz = ez - sz\n",
    "\n",
    "x = sx + t * dx\n",
    "y = sy + t * dy\n",
    "z = sz + t * dz\n",
    "\n",
    "r, th = sp.symbols('r \\\\theta')\n",
    "\n",
    "t0 = sp.solve(sp.Eq(x + y * r * sp.sin(th - sp.pi / 4), z + y * r * sp.cos(th - sp.pi / 4)), t)[0]\n",
    "sp.simplify(t0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{- \\sqrt{2} e_{x} r s_{y} \\cos{\\left(\\theta \\right)} - e_{x} s_{z} + \\sqrt{2} e_{y} r s_{x} \\cos{\\left(\\theta \\right)} + e_{z} s_{x}}{- e_{x} + \\sqrt{2} e_{y} r \\cos{\\left(\\theta \\right)} + e_{z} - \\sqrt{2} r s_{y} \\cos{\\left(\\theta \\right)} + s_{x} - s_{z}}$"
      ],
      "text/plain": [
       "(-sqrt(2)*e_x*r*s_y*cos(\\theta) - e_x*s_z + sqrt(2)*e_y*r*s_x*cos(\\theta) + e_z*s_x)/(-e_x + sqrt(2)*e_y*r*cos(\\theta) + e_z - sqrt(2)*r*s_y*cos(\\theta) + s_x - s_z)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x0 = sp.simplify(sx + t0 * dx)\n",
    "y0 = sp.simplify(sy + t0 * dy)\n",
    "z0 = sp.simplify(sz + t0 * dz)\n",
    "\n",
    "x0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{- e_{x} s_{y} + e_{y} s_{x} - e_{y} s_{z} + e_{z} s_{y}}{- e_{x} + \\sqrt{2} e_{y} r \\cos{\\left(\\theta \\right)} + e_{z} - \\sqrt{2} r s_{y} \\cos{\\left(\\theta \\right)} + s_{x} - s_{z}}$"
      ],
      "text/plain": [
       "(-e_x*s_y + e_y*s_x - e_y*s_z + e_z*s_y)/(-e_x + sqrt(2)*e_y*r*cos(\\theta) + e_z - sqrt(2)*r*s_y*cos(\\theta) + s_x - s_z)"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{- sx - sz}{ex + ez - sx - sz}$"
      ],
      "text/plain": [
       "(-sx - sz)/(ex + ez - sx - sz)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = sp.solve(sp.Eq(x, z), t)[0]\n",
    "t1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  -ex⋅sz + ez⋅sx \n",
      "─────────────────\n",
      "ex + ez - sx - sz\n",
      "\n",
      "ex⋅sy - ey⋅sx - ey⋅sz + ez⋅sy\n",
      "─────────────────────────────\n",
      "      ex + ez - sx - sz      \n",
      "\n",
      "  ex⋅sz - ez⋅sx  \n",
      "─────────────────\n",
      "ex + ez - sx - sz\n"
     ]
    }
   ],
   "source": [
    "x1 = sp.simplify(sx + t1 * dx)\n",
    "y1 = sp.simplify(sy + t1 * dy)\n",
    "z1 = sp.simplify(sz + t1 * dz)\n",
    "\n",
    "sp.pretty_print(x1)\n",
    "print()\n",
    "sp.pretty_print(y1)\n",
    "print()\n",
    "sp.pretty_print(z1)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}