惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
H
Help Net Security
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
D
Docker
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
CsGrafeq: 比 Desmos 更“能折腾”的几何函数画板(.NET + Aval...
StuLittleLi · 2026-05-09 · via 博客园_首页

CsGrafeq: 比 Desmos 更“能折腾”的几何函数画板(.NET + Avalonia)

一个由高中生独立开发的跨平台几何绘图与隐函数作图软件
GitHub:https://github.com/jyswjjgdwtdtj/CsGrafeq

当然不敢说“全面碾压”,但在几何构造 + 隐函数绘图这条路线上,它确实更自由、更好玩,也更适合用来“探索”。



1. 项目一句话介绍

CsGrafeq 是一个面向学习与探索的几何草图工具:
你可以像在几何画板上一样进行点、线、圆等对象的构造与拖拽,也可以以高质量地绘制 隐函数图像(例如 图1 exp(sin(x)+cos(y))=sin(exp(x+y))),用于数学学习、作图验证与直观理解。

关键词:跨平台 / 几何构造 / 隐函数绘图 / .NET / Avalonia


2. 我为什么要做这个(动机)

作为一个“货真价实”的学生,曾经也至少刷过百道平面几何大题,在学解析几何、圆锥曲线、函数图像时,经常遇到这些痛点:

  1. 图像不够直观:课堂常用的静态图难以感受参数变化带来的影响
  2. 工具门槛或平台限制:很多工具要么很老旧、要么只能在特定平台运行
  3. 想“动手做”但缺少合适的软件:既想画几何构造,又想把方程的图像画出来(尤其是隐函数)
  4. 功能落后:很多软件只能绘制一元函数,对断点、复杂结构等情况不够友好

所以我想做一个工具:

  • 开箱即用 适合学习
  • 跨平台(Windows / Linux / macOS 皆可)
  • 把几何构造与函数图像结合,让数学“可拖拽、可观察、可验证”

同时,这也是我学习软件工程与图形编程的一次完整实践:从需求、设计、实现、调试、优化到开源维护,尽量做成一个“像样的”项目。



3. CsGrafeq 能做什么(核心功能/使用场景)

下面是我希望 CsGrafeq 覆盖的主要场景(也欢迎大家提需求):

3.1 几何草图与构造

  • 点、线段、直线、圆等几何对象的创建与编辑
  • 拖拽点观察几何关系变化
  • 适合做:三角形性质验证、辅助线探索、作业验算、思路演示等

3.2 隐函数绘图(Implicit Function Plotting)

可以绘制类似下面这种形式的曲线/图形:

  • f(x, y) = 0
  • 例如:x^2 + y^2 - 1 = 0(单位圆)
  • 或更复杂的曲线,用于观察形状、交点、连通性等

很多“好看的曲线”无法写成形如 f(x)=...y=...,而是f(x,y)=0,或作为三维曲面的二维切片



tan(sin(x)+cos(y))=sin(tan(x+y))


4. 项目优势(我在意的点)

4.1 跨平台:一次开发,多端运行

本项目基于 .NET + Avalonia,目标是让它能在多个系统上运行,而不是把工具限制在单一平台。(虽然暂时因为没有解决也没有精力解决将表达式树编译为wasm的jit和安卓端java可执行的函数)

Avalonia 是一个跨平台 UI 框架,它让我可以用 C# 编写界面,并兼顾 Windows/Linux/macOS。

![platforms](https://img2024.cnblogs.com/blog/3653212/202605/3653212-20260509220401474-1019128907.jpg" width="50%">
(至少有计划不是吗【手动狗头】)

4.2 交互优先:为了“学习”和“探索”

我做这个工具不是为了堆一堆菜单功能,而是想做到:

  • 操作直观
  • 拖拽反馈及时
  • 让使用者能“玩”出数学直觉

4.3 开源:欢迎围观、提建议、一起改

项目已开源在 GitHub,欢迎:

  • 提 Issue:反馈 bug / 提需求
  • 点 Star:给我一点继续优化的动力
  • 提 PR:如果你也想参与实现某个功能(我也很想学习协作流程)

GitHub:https://github.com/jyswjjgdwtdtj/CsGrafeq


5. 作为高中生做这个项目,我想表达什么

很多人觉得“学生写软件”离自己很远,但这个项目从初中开始构思,经过数年从基础脚本,到更高级的语言,与一年多的功能开发、界面打磨、修 bug、做优化,我也从“会写点脚本”成长为更成熟的开发者。

在做这个项目的过程中,最大的收获是:

  • 学会把一个想法拆成可执行的任务
  • 学会调试与迭代:不是一次写完,而是不断改进
  • 学会写“能被别人使用”的东西,而不只是跑通 demo
  • 更重要的是:我发现只要愿意投入时间,做出一个真实可用的工具并不是遥不可及的事

如果你也是学生(或者正在自学编程/数学),希望这个项目能给你一点点启发:
不要只停留在“我想做”,把它做出来,你就赢了一大半。

代码量:
codeline


6. 下载与使用


7. 未来计划(Roadmap)

我接下来想继续完善的方向包括(先列一些你愿意做/正在做的):

  1. 更多几何约束/构造工具(平行、垂直、中点、角平分线等)
  2. 提升性能(如使用GPU渲染,尽管目前发现似乎不如CPU快)
  3. 导出图片/导出文件(目前存在一些问题)
  4. 更友好的参数与表达式输入体验(比如“原生数学公式”的渲染式输入 但这几乎是一个全新的高难度项目;我在某个老版本做过一个体验不太好的尝试)

8. 最后:如果你觉得有意思

  • 欢迎点个 Star:https://github.com/jyswjjgdwtdtj/CsGrafeq
  • 欢迎提 Issue:告诉我哪里不好用、哪里可以改
  • 如果你是同学/老师,也欢迎拿去课堂演示或学习使用(我会很开心)

当初中生在手搓发动机,jumping在主=6时,的的确确有中学生能用课余时间做出一个正儿八经的项目!

谢谢你看到这里!