dnaugsuz
你们真没有做过绘制的人嘛 噢对,这里是 Python 群…… 基本都是后端或者框架使用者 能不能问一下绘制算法是 ys.forEach((y,x) => g.lineTo(x, h-h* y/yBounds )) 的情况下 x 轴(y=0) 的绘制点 y 如何定义 y 轴的又如何定义…… 就连化 x 轴(y=y_func(vy+yzero) 其中 vy是y offset yzero 是y=0时z ,的方法都是我试出来的 而且中途还修了一个低级数据语义bug 哭死了
(其实是我根本没想好
就增加一个「相对x轴」功能,默认关闭
嗯……刚才想了几个特性
首先是 Desmos 的跟踪函数曲线,这个比较简单, click 的时候 mouse 若有
目前函数列表是没做的情况,做了估计要支持 enabled, color, expr 的编辑(是)
然后是缩放动画(补间函数可参考这个) 以及手动缩放钮,应该安排下, touchscreen 的 press 也没 handle
整个 navi panel 也不能最小化看整体图像,得做一下
Nivalis 的 variable slider 是很棒的设计, 有必要加一个
另外
隐式绘图 (画圆什么的) 可能优化的情况比较多,我也不了解代数符号系统那边什么情况,和 yuuta 一样,暂时只支持 x 变量
只能说 #math #cplusplus #js #web #tools 大佬 始终是大佬 ,而且 JVM 端大佬也不少
#Linux 系也有 KDE 的 KAlgebra 和普通工程计算器 KCalc
https://c3d.libretexts.org/CalcPlot3D/index.html 这还有个 3D 的
https://wiki.archlinux.org/index.php/List_of_applications/Science#Computer_algebra_system #listing
KDE 还指什么 Kernel Dense Estim. 的图 #lib #Python https://seaborn.pydata.org/index.html
草
with(window) { width, height } 和 x,y 的对应关系(就增加一个「相对x轴」功能,默认关闭
嗯……刚才想了几个特性
首先是 Desmos 的跟踪函数曲线,这个比较简单, click 的时候 mouse 若有
y_func(x)==y ,把它高亮下,直到 mouseup 时显示 y_func(x) 就可以了目前函数列表是没做的情况,做了估计要支持 enabled, color, expr 的编辑(是)
然后是缩放动画(补间函数可参考这个) 以及手动缩放钮,应该安排下, touchscreen 的 press 也没 handle
整个 navi panel 也不能最小化看整体图像,得做一下
Nivalis 的 variable slider 是很棒的设计, 有必要加一个
另外
dim2Cfg 这个配置对象,也应该给做个 modal dialog 的配置编辑器隐式绘图 (画圆什么的) 可能优化的情况比较多,我也不了解代数符号系统那边什么情况,和 yuuta 一样,暂时只支持 x 变量
只能说 #math #cplusplus #js #web #tools 大佬 始终是大佬 ,而且 JVM 端大佬也不少
#Linux 系也有 KDE 的 KAlgebra 和普通工程计算器 KCalc
https://c3d.libretexts.org/CalcPlot3D/index.html 这还有个 3D 的
https://wiki.archlinux.org/index.php/List_of_applications/Science#Computer_algebra_system #listing
KDE 还指什么 Kernel Dense Estim. 的图 #lib #Python https://seaborn.pydata.org/index.html
草
KDE.org
KAlgebra Mobile
Graph Calculator
#Math #dev https://www.geogebra.org/m/h9vhqujn 啊不得不承认虽然许多数学应用不开源(想必开源也无人维护,唉),但 本地化 #i18n 和无障碍访问性 做得是无可挑剔。 果然 #web HTML 虽然有些缺陷,却是最为成功的软件和文档平台
https://calcplot3dblog.wordpress.com/
[Mathway | About Us](https://www.mathway.com/about)
[Box and Whisker Plot Calculator](https://www.easycalculation.com/statistics/box-plot-grapher.php)
[CalcPlot3D](https://c3d.libretexts.org/CalcPlot3D/index.html) 不过有些人的 UI/UX 设计的确很难看...
[Mathway | About Us](https://www.mathway.com/about)
[Box and Whisker Plot Calculator](https://www.easycalculation.com/statistics/box-plot-grapher.php)
[CalcPlot3D](https://c3d.libretexts.org/CalcPlot3D/index.html) 不过有些人的 UI/UX 设计的确很难看...
#linux #Learn #Java #math #build #bash fix for Desoms (Kt, Java:Algebra)
1. Java Desmos 求解后端
2. Kotlin Desmos 简单重写
手动复制粘贴 https://paste.ubuntu.com/p/Q4DnzrZ37Z/ 或(源地址)到 Window.kt ,因为 国内 #China 许多地方不仅 #GitHub raw 连 pastebin 都连不上 🌚🌝 #freedom
然后
感觉 maven 依赖这么多插件 archetype, install, exec 完成日常任务,有点不平衡吧……
此外还看到了生成本地文件依赖的 Maven #doc https://stackoverflow.com/questions/6704813/maven-generating-pom-file
#parser https://github.com/mariuszgromada/MathParser.org-mXparser 我草这玩意又不支持逆向计算,有啥好吹的
还夸张地弄了那么多图,太那啥了
http://scalarmath.org/wp-content/uploads/2019/01/scalar-promo-screens.png 弄个心型函数还要用户自己推导正向公式, 就凭这? 一个 evaluator 和 Python, JS eval 之类的东西有什么区别
不愧是 Java EE 搞出来的混乱怪物,就喜欢一些毫无意义的老套封装
1. Java Desmos 求解后端
git clone https://github.com/galbar07/Desmos.git DesmosJ &&cd DesmosJ因为 mvng 没有写完不能用脚本生成 POM 修复了 emm ,当然有 IDE 就能直接用(不过这年头 只会用 IDE 建项目 对细节一无所知的人真的有创造力吗 😑 )
sed 's/import org.junit.jupiter.api.BeforeEach;//;s/@BeforeEach//;' -i tests/Functions_GUITest.java
javac -cp `ls JAR/gson-*.jar`:`ls ~/.m2/repository/junit/junit/4.0/junit-*.jar` ex1/*.java tests/Functions_GUITest.java
java -cp . ex1.StdDraw
#java -cp ".:`ls JAR -m|sed 's/, /:/g'`" tests.Functions_GUITest
java -cp `find JAR -type f -printf '%p:'`. tests.Functions_GUITest
2. Kotlin Desmos 简单重写
手动复制粘贴 https://paste.ubuntu.com/p/Q4DnzrZ37Z/ 或(源地址)到 Window.kt ,因为 国内 #China 许多地方不仅 #GitHub raw 连 pastebin 都连不上 🌚🌝 #freedom
mvn archetype:help
#mkdir DesmosKt &&cd DesmosKt
#mvn archetype:generate -DgroupId=com.example - DartifactId=desmos -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate -DgroupId=me.nanjingchj -DartifactId=DesmosKt -DarchetypeArtifactId=kotlin-archetype-jvm -DarchetypeGroupId=org.jetbrains.kotlin -DarchetypeVersion=1.4.21 -DinteractiveMode=false
cd DesmosKt
mkdir -p src/main/kotlin/me/nanjingchj/desmos/
cat>`find -type d -name desmos`/Window.kt
mvnDeps=`python -c 'from lxml import etree,builder; s="org.mariuszgromada.math:MathParser.org-mXparser:4.4.2";E=builder.E;e=E("dependency", *(E(k, v) for v,k in zip(s.split(":"), "groupId artifactId version".split(" ")))); print(etree.tostring(e).decode())'`
sed "38i\ ${mvnDeps}" -i pom.xml
echo 'object Main{@JvmStatic fun main(vararg a:String){System.setProperty("sun.java2d.opengl","True"); me.nanjingchj.desmos.Window()} }'>`find -type d -name kotlin|head -n1`/Main.kt 然后
mvn package exec:java -Dexec.mainClass=Main 即可感觉 maven 依赖这么多插件 archetype, install, exec 完成日常任务,有点不平衡吧……
此外还看到了生成本地文件依赖的 Maven #doc https://stackoverflow.com/questions/6704813/maven-generating-pom-file
mvn install:install-file #parser https://github.com/mariuszgromada/MathParser.org-mXparser 我草这玩意又不支持逆向计算,有啥好吹的
还夸张地弄了那么多图,太那啥了
http://scalarmath.org/wp-content/uploads/2019/01/scalar-promo-screens.png 弄个心型函数还要用户自己推导正向公式, 就凭这? 一个 evaluator 和 Python, JS eval 之类的东西有什么区别
不愧是 Java EE 搞出来的混乱怪物,就喜欢一些毫无意义的老套封装
GitHub
GitHub - galbar07/Desmos: Desmos
Desmos. Contribute to galbar07/Desmos development by creating an account on GitHub.
duangsuse::Echo
计算机绘图,我该去哪里问?
《中国人什么时候能站起来》 迫真 🌝🇨🇳
不就画个图嘛,有什么不能在国内问的,居然都这么懂
Python 入门还都画 Turtle 呢,小学信息技术还用 Scratch 呢,草
不就画个图嘛,有什么不能在国内问的,居然都这么懂
Python 入门还都画 Turtle 呢,小学信息技术还用 Scratch 呢,草
#learn #java #service https://medium.com/@cbuelvasc/test-automation-in-kotlin-with-selenium-testng-and-page-object-model-e2252dbc492a + JUnit
#Kotlin https://kotlinlang.org/docs/reference/using-maven.html 🌝 从 Gradle 到 Maven,我是不是在开倒车(反正只是 JVM 又不是 Android
#Kotlin https://kotlinlang.org/docs/reference/using-maven.html 🌝 从 Gradle 到 Maven,我是不是在开倒车(反正只是 JVM 又不是 Android
Medium
Test Automation in Kotlin with Selenium, TestNG and Page Object Model
Nowadays, automation testing has proved to be an important component within the cycle of software development and even more for the agile…
#TeX #Python #math https://github.com/dwalone/Latex2Python/blob/master/latex2python.py#L75 🌚 把
作者也是挺机灵,
可是他重复了几遍 算 (i, i1) 再拿 i1 去算 i2 的操作,杂乱的 pos1, pos2 命名都没有注意到这是 zipWithNext 式处理,实现了个
\frac{a}{b} 换成 (a/b) 作者也是挺机灵,
findCloseParen(str)->int 是很方便的半解析做法可是他重复了几遍 算 (i, i1) 再拿 i1 去算 i2 的操作,杂乱的 pos1, pos2 命名都没有注意到这是 zipWithNext 式处理,实现了个
findFCall(s)->str[] 函数……GitHub
Latex2Python/latex2python.py at master · dwalone/Latex2Python
Desmos to Python / SymboLab to Python / LaTeX to Python syntax converter for mathematical expressions - dwalone/Latex2Python
列一些有趣的社区项目 #math #listing #Java
https://www.desmos.com/calculator/i6fijibmbz
#GUI 系列:
https://github.com/darsam44/Mini-desmos (吐嘈: 真的不迷你)
https://github.com/DanielZhangD/Javmos
https://github.com/LitterallyTheCoolestGuy69/Desmos-But-Scuffed
#Python 转换/等式代码生成脚本系列:
https://github.com/MrNewdary/svg2desmos/blob/main/svg2desmos.py
https://github.com/anematode/parametrizer/blob/master/undeletable.py
https://github.com/allesspassig/despy/blob/master/despy.py
https://github.com/emily-yu/image-to-desmos OpenCV #cv
#music https://github.com/AlexApps99/MIDI2Desmos 听 MIDI 函数图系列...
多项式课系列:
https://github.com/galbar07/Desmos
https://github.com/yonatan555/Desmos-Polynom
https://github.com/JiangTianXiang/Grade-12-Calculus-Graphing-Calculator
https://github.com/WhoIsKatie/Javmos
https://github.com/TimChoy/javmos
https://github.com/DvirTomer/Desmos-Polynom
乱入:
https://github.com/andrewpareles/Calculator/blob/master/main.ml
https://github.com/Tuttivers/ExponentialSeekbar-sample/blob/master/NearMeSeekBar.kt#L75 #Kotlin #Android
https://mukunthag.github.io/SHM/ 振荡器什么的...
https://github.com/Rob--/root-approximations/blob/master/evaluatex.js#L190 #JavaScript #lib #parsing 几百行的符号代数系统...
可移植性/项目管理极差的 GUI:
https://github.com/Pi-Man/Graphing-Calculator/tree/master/Graphing-Calculator
https://github.com/RohanK22/cppmathtool
http://well-made-territory.surge.sh/Desmos.html
https://github.com/softchickenidiot/3D-Grapher/tree/master/3D Grapher
https://www.desmos.com/calculator/i6fijibmbz
#GUI 系列:
https://github.com/darsam44/Mini-desmos (吐嘈: 真的不迷你)
https://github.com/DanielZhangD/Javmos
https://github.com/LitterallyTheCoolestGuy69/Desmos-But-Scuffed
#Python 转换/等式代码生成脚本系列:
https://github.com/MrNewdary/svg2desmos/blob/main/svg2desmos.py
https://github.com/anematode/parametrizer/blob/master/undeletable.py
https://github.com/allesspassig/despy/blob/master/despy.py
https://github.com/emily-yu/image-to-desmos OpenCV #cv
#music https://github.com/AlexApps99/MIDI2Desmos 听 MIDI 函数图系列...
多项式课系列:
https://github.com/galbar07/Desmos
https://github.com/yonatan555/Desmos-Polynom
https://github.com/JiangTianXiang/Grade-12-Calculus-Graphing-Calculator
https://github.com/WhoIsKatie/Javmos
https://github.com/TimChoy/javmos
https://github.com/DvirTomer/Desmos-Polynom
乱入:
https://github.com/andrewpareles/Calculator/blob/master/main.ml
https://github.com/Tuttivers/ExponentialSeekbar-sample/blob/master/NearMeSeekBar.kt#L75 #Kotlin #Android
https://mukunthag.github.io/SHM/ 振荡器什么的...
https://github.com/Rob--/root-approximations/blob/master/evaluatex.js#L190 #JavaScript #lib #parsing 几百行的符号代数系统...
可移植性/项目管理极差的 GUI:
https://github.com/Pi-Man/Graphing-Calculator/tree/master/Graphing-Calculator
https://github.com/RohanK22/cppmathtool
http://well-made-territory.surge.sh/Desmos.html
https://github.com/softchickenidiot/3D-Grapher/tree/master/3D Grapher
Desmos
Final Project
#web #js #ux #doc PointerEvent
https://www.davrous.com/2015/08/10/unifying-touch-and-mouse-how-pointer-events-will-make-cross-browsers-touch-support-easy/
#lib https://github.com/jquery/PEP
#doc https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Using_Touch_Events
https://rbyers.github.io/paint.html
http://hammerjs.github.io/getting-started/ Pinch (touch scale)
https://www.davrous.com/2015/08/10/unifying-touch-and-mouse-how-pointer-events-will-make-cross-browsers-touch-support-easy/
#lib https://github.com/jquery/PEP
#doc https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Using_Touch_Events
https://rbyers.github.io/paint.html
http://hammerjs.github.io/getting-started/ Pinch (touch scale)
David Rousset
Unifying touch and mouse: how Pointer Events will make cross-browsers touch support easy
I often get questions from developers like, “with so many touch-enabled devices on phones and tablets, where do I start?” and “what is the easiest way to build for touch-input?” Short answer: “It’s complex.” Surely there’s a more unified way to handle multi…
duangsuse::Echo
#linux #Learn #Java #math #build #bash fix for Desoms (Kt, Java:Algebra) 1. Java Desmos 求解后端 git clone https://github.com/galbar07/Desmos.git DesmosJ &&cd DesmosJ sed 's/import org.junit.jupiter.api.BeforeEach;//;s/@BeforeEach//;' -i tests/Functions_GUITest.java…
编译完以后是这个样子。 function list 是换行符切分,感觉更新做得非常草 不重视性能问题,函数的颜色是最大10个 多了变默认颜色
https://drakeluce.com/projects/betterthandesmos/ #js 练手:给它加 navigation (当然由于没有任何可注入项 不可以移动图像)
嘛,作者的 individual Y zoom 写错了
window.onwheel=(ev,id=s=>document.getElementById(s)) => { if (ev.target.id!="btdCanvas")return; ev.preventDefault(); id("modifierZoom"+(id("combineZoom").checked?"":"Y") ).valueAsNumber+= -ev.deltaY; id("settingsForm").dispatchEvent(new Event("change")) }; 嘛,作者的 individual Y zoom 写错了
GitHub
ihatecsv/betterthandesmos
A graphing calculator, based on evaluating JavaScript expressions! - ihatecsv/betterthandesmos
Forwarded from Foolish TraceWind (Asm 张三bot)
This media is not supported in your browser
VIEW IN TELEGRAM
dnaugsuz
你们真没有做过绘制的人嘛 噢对,这里是 Python 群…… 基本都是后端或者框架使用者 能不能问一下绘制算法是 ys.forEach((y,x) => g.lineTo(x, h-h* y/yBounds )) 的情况下 x 轴(y=0) 的绘制点 y 如何定义 y 轴的又如何定义…… 就连化 x 轴(y=y_func(vy+yzero) 其中 vy是y offset yzero 是y=0时z ,的方法都是我试出来的 而且中途还修了一个低级数据语义bug 哭死了
项目 死了。
不知道,我自己也不清楚 [x] 集是怎么定义的,现在想想也不知道该怎么定义,不管怎么定义
最少需要知道如何绘制 x 轴 legend ,不然 y 轴都没法画,网格更没法画(只能画平行于x轴的线 不知有何意义),根本不知道点和绘制视口的对应关系。 一开始就是瞎猜的 更难就不会了
但目前看来, draw 操作 和 deltaX 都一点用都没有,根本是瞎试出来的,白白浪费时间
我会最后增加一个 DOM 的 expr list ,仿佛绘制功能已经完善无需修改,至此停止更新。
目前在看 Better than Desmos 这个计算器的绘制方法(它是 fixed ,那个的绘制和 navigable 根本是两回事) 以及 Window.kt ,争取拿 #Kotlin 实现一个吧
不知道,我自己也不清楚 [x] 集是怎么定义的,现在想想也不知道该怎么定义,不管怎么定义
Math.sin, i=>i>10? -i:i 等函数都画不出来最少需要知道如何绘制 x 轴 legend ,不然 y 轴都没法画,网格更没法画(只能画平行于x轴的线 不知有何意义),根本不知道点和绘制视口的对应关系。 一开始就是瞎猜的 更难就不会了
但目前看来, draw 操作 和 deltaX 都一点用都没有,根本是瞎试出来的,白白浪费时间
我会最后增加一个 DOM 的 expr list ,仿佛绘制功能已经完善无需修改,至此停止更新。
目前在看 Better than Desmos 这个计算器的绘制方法(它是 fixed ,那个的绘制和 navigable 根本是两回事) 以及 Window.kt ,争取拿 #Kotlin 实现一个吧
GitHub
njchensl/Desmos
Desmos clone (graphing calculator). Contribute to njchensl/Desmos development by creating an account on GitHub.
https://stackoverflow.com/questions/48124372/pointermove-event-not-working-with-touch-why-not
#web #dev 触屏支持
吃一堑长一智,这个下次就有经验了……😅 #recommended #html
#web #dev 触屏支持
吃一堑长一智,这个下次就有经验了……😅 #recommended #html
Stack Overflow
`pointermove` event not working with touch. Why not?
I have this pen:
https://codepen.io/anon/pen/eyKeqK
If you try it on a touch-screen device (f.e. visit the pen on your phone) you'll notice that when you drag, the white light (the little sphere)...
https://codepen.io/anon/pen/eyKeqK
If you try it on a touch-screen device (f.e. visit the pen on your phone) you'll notice that when you drag, the white light (the little sphere)...
#HTML #JS #DontKnow 你知道吗? 🤔
HTMLElement 的
如果不用 JQ ,可选注册
element 和 node 的区别在于,前者只能是 <a> <b> <div> 这样的元素,后者可以是
HTML 里基于 XML 的部分有三种情况:
有许多方法可以缩写 HTML ,最常见的是基于 CSS 选择器的 emmet.io 和基于缩进的 模板语言 #Ruby slim-lang.com ,而
想在社交平台分享自己的网站, OpenGraph 了解下?
-
-
- JS 最不常用的两个关键字:
如果用
HTMLElement 的
remove() 和 replaceWith(e1) 都不需要手动拿 e.parentElement ,只有 insertBefore(e1, e) 需要在 parent 上如果不用 JQ ,可选注册
document "DOMContentLoaded" 或 window "load" 事件element 和 node 的区别在于,前者只能是 <a> <b> <div> 这样的元素,后者可以是
#text 文本标签。HTML 里基于 XML 的部分有三种情况:
<meta charset="UTF-8"> 的单独标签、 <div></div> 的配对标签(with childNodes)、 <link rel="stylesheet"/> 的折叠(collapsed)标签,有些配对标签也有折叠形式,但折叠和 no children 是不同情况。有许多方法可以缩写 HTML ,最常见的是基于 CSS 选择器的 emmet.io 和基于缩进的 模板语言 #Ruby slim-lang.com ,而
DOMParser 本身也支持兼容解析修正一些不完整的文档。想在社交平台分享自己的网站, OpenGraph 了解下?
-
!!"" 和 !!0 、 !![] 都是 true ,第一点往往造成隐患 必须详细检查-
undefined == null ,所以有时用 === 区别严格相等性- JS 最不常用的两个关键字:
delete o[k]; 和 v=with(o,o1) { attr }
许多时候:如果用
e.onclick = 的简写,在任何地方的(其他)脚本重复注册时会导致覆盖,所以尽可能用 addEventListener
JS 里较短参数的函数兼容较长处的类型限制(允许无视参数),但在调用时省略默认参数可能造成性能问题,在绘图/大批/频繁处理时,需要多用图形界面的 profilerogp.me
Open Graph protocol
The Open Graph protocol enables any web page to become a rich object in a social graph.
duangsuse::Echo
https://github.com/sxyu/nivalis 草,这是标准实现... 支持看 intersection 和 max/min value ,但没有 desmos 的 click&follow y-value 功能
Mivik 大佬来晚一步,不过他解决的也不是我连坐标系都没搞一致这个事情 😰
实际上你可以借鉴一下这篇论文里面提到的高精度绘图方式:https://www.dgp.toronto.edu/public_user/mooncake/papers/SIGGRAPH2001_Tupper.pdf
(隐式绘图)大体思路是用一种算法追踪变量的取值和合法性(这就要后端符号系统支持 去推导了)然后判断一个屏幕区间里面是否包含有函数图像,如果没有就直接return,否则均分为几块向下递归,直到递归到像素单位为止
相信对懂编译原理的 OI 生是没问题,我估计还要考虑考虑怎么模式匹配做恒等变形,以及一大堆前导内容……
实际上你可以借鉴一下这篇论文里面提到的高精度绘图方式:https://www.dgp.toronto.edu/public_user/mooncake/papers/SIGGRAPH2001_Tupper.pdf
(隐式绘图)大体思路是用一种算法追踪变量的取值和合法性(这就要后端符号系统支持 去推导了)然后判断一个屏幕区间里面是否包含有函数图像,如果没有就直接return,否则均分为几块向下递归,直到递归到像素单位为止
相信对懂编译原理的 OI 生是没问题,我估计还要考虑考虑怎么模式匹配做恒等变形,以及一大堆前导内容……