# ImplicitPlotter **Repository Path**: byx2000/ImplicitPlotter ## Basic Information - **Project Name**: ImplicitPlotter - **Description**: A command-line tool that can plot graph of any binary implicit function equation or inequality, supporting both Cartesian and polar coordinates. - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-05 - **Last Updated**: 2025-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ImplicitPlotter ImplicitPlotter is a command-line tool that can plot graph of any binary implicit function equation or inequality, supporting both Cartesian and polar coordinates. The plotting algorithm is based on [interval arithmetic](https://www.dgp.toronto.edu/public_user/mooncake/papers/SIGGRAPH2001_Tupper.pdf). ## Usage ``` Usage: ImplicitPlotter [options] Options: --relation (REQUIRED) Implicit function expression to be plotted. --output (REQUIRED) Save path of the output image. --width The width of the output image. [default: 500] --height The height of the output image. [default: 500] --xmin The minimum value of x. [default: -10] --xmax The maximum value of x. [default: 10] --ymin The minimum value of y. [default: -10] --ymax The maximum value of y. [default: 10] --drawColor Plotting color. [default: #C80078D7] --backgroundColor Image background color. [default: #FFFFFFFF] --timeout Draw timeout (milliseconds). [default: 10000] ``` ## Example ### Curve ```shell ImplicitPlotter --relation "sin(x^2-y^2)=sin(x+y)+cos(x*y)" --output "./output.png" --width 1000 --height 1000 --xmin -10 --xmax 10 --ymin -10 --ymax 10 --drawColor "#0078D7" ``` ![Heart](./img/Curve.png) ### Heart ```shell ImplicitPlotter --relation "17*x^2-16*abs(x)*y+17*y^2+150/abs(5*x+sin(5*y))<225" --output "./output.png" --width 1000 --height 1000 --xmin -6 --xmax 6 --ymin -6 --ymax 6 --drawColor "#ED4336" ``` ![Heart](./img/Heart.png) ### Face ```shell ImplicitPlotter --relation "1/15*(6-y)+1/6400000*(8*x^2+4*(y-3)^2)^3+cos(max((x+y)*cos(y-x),(y-x)*cos(x+y)))