#cg #tool https://www.youtube.com/watch?v=jCd6XfWLZsg
#sql https://apvarun.github.io/graphize/
https://orml.openrndr.org/orml/#:~:text=orml-dbface
https://pixijs.com/8.x/tutorials/getting-started#4
http://fabricjs.com/demos/
唉呀 Creative Programming 的业余和部署差异怎么就那么大呢
ShaderToy.com 和 p5js.org 可以说是3D和粒子模拟的老牌了
我觉得可以和 https://ncase.me/joy/demo/turtle/ turtletoy.net 的小乌龟 儿童编程 比, 还有 CSS houdini.how
和 https://eternal.rob.computer/ cables.gl
http://paperjs.org/examples/candy-crash/ animejs.com 这些是不够力的
https://github.com/jagenjo/litegraph.js?tab=readme-ov-file#projects-using-it comfyUI #blender
https://github.com/cai-hust/manim-tutorial-CN
https://rossning92.github.io/movy/?file=examples/demo/movy-logo.js
http://tridiv.com/
用散点transform:画吗.. https://petertyliu.github.io/toaster/
用 CSS + HTML 画三维物体的可视化编辑器。
#sql https://apvarun.github.io/graphize/
https://orml.openrndr.org/orml/#:~:text=orml-dbface
https://pixijs.com/8.x/tutorials/getting-started#4
http://fabricjs.com/demos/
唉呀 Creative Programming 的业余和部署差异怎么就那么大呢
ShaderToy.com 和 p5js.org 可以说是3D和粒子模拟的老牌了
bunny.rotation += 0.1 * time.deltaTime;
这种程度CG还搞模块化我觉得可以和 https://ncase.me/joy/demo/turtle/ turtletoy.net 的小乌龟 儿童编程 比, 还有 CSS houdini.how
和 https://eternal.rob.computer/ cables.gl
http://paperjs.org/examples/candy-crash/ animejs.com 这些是不够力的
https://github.com/jagenjo/litegraph.js?tab=readme-ov-file#projects-using-it comfyUI #blender
https://github.com/cai-hust/manim-tutorial-CN
https://rossning92.github.io/movy/?file=examples/demo/movy-logo.js
http://tridiv.com/
用散点transform:画吗.. https://petertyliu.github.io/toaster/
用 CSS + HTML 画三维物体的可视化编辑器。
YouTube
Top 6 Tools to Turn Code into Beautiful Diagrams
Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter: https://bit.ly/bytebytegoytTopic
Animation tools: Adobe Illustrator and After Effects.
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd…
Animation tools: Adobe Illustrator and After Effects.
Checkout our bestselling System Design Interview books:
Volume 1: https://amzn.to/3Ou7gkd…
#learn #cg #go #bilibili #algorithm
> https://www.bilibili.com/video/BV16g411B7Ff
尝试实现下视频里的”大一“代码,感兴趣的话可以深耕
并不天才啊,就是 https://www.desmos.com/calculator/ 里像素化个灰度函数 (y-abs(x)^c)^2+x^2=1
可以把每个运算当成对样条的变换,例如删掉abs(x)不会对称
https://mathworld.wolfram.com/HeartCurve.html
推荐这个超好玩的 https://www.shadertoy.com/results?query=Boids
https://golang.google.cn/tour/moretypes/18
你可以 在Go入门试玩一下
或者下载 Jupyter , p5js
推荐 https://jupyterlite.github.io/demo/lab/index.html?path=p5.ipynb
> 我记得大学的时候,我实现一个水波纹,搞了快一星期
那是因为你的工具没用对
只要降低五花八门IDE的杂音,只交互式写代码就可以了
创作式编程就是需要注意力
https://codelabclub.github.io/blog/2020/06/28/当我们谈论编程时,其实是在谈论玩乐与创作/
就是吧,你用jspy写,不关心杂七杂八的部署问题
就ok了
> 像素着色器才能并行,利用GPU的性能
当时就是C++写的,有个很垃圾的国产引擎(cocos2dx)
numpy,torch也行啊…… GLSL也不是很难
性能不是最重要的,主要是效果好
其实你在墙外,会搜关键字就能比许多人强了
因为编程的本质是摘抄缝合
像百度那种垃圾搜索引擎是不用看的
用那种工具搜那种圈子的程序员没有进步能力
https://coolshell.cn/ 已猝死的陈大佬说的很清楚,程序员的第一工作就是拉黑内容农场
陈大佬自己也开公司呢,不过去年猝死了
挺可惜 他也是个公知
他明明是个很广的全栈程序员
可惜天妒英才, 每次都是优秀的程序员死,称职的活
然后七大姑八大夷拿这个去劝退称职的程序员
>那么要用哪种搜索引擎好?墙外那些吗?
duck.com bing.com 什么的啊
反正不能用墙内的
对程序员来说一手资料是最重要的
英文wiki都比中文全面
其实不要以为只有抖音快手在洗稿,GFW只是内对外的墙
中国内部各圈层的资讯都是极不流通的
所以张雪峰这种人能火
> https://www.bilibili.com/video/BV16g411B7Ff
尝试实现下视频里的”大一“代码,感兴趣的话可以深耕
并不天才啊,就是 https://www.desmos.com/calculator/ 里像素化个灰度函数 (y-abs(x)^c)^2+x^2=1
可以把每个运算当成对样条的变换,例如删掉abs(x)不会对称
https://mathworld.wolfram.com/HeartCurve.html
推荐这个超好玩的 https://www.shadertoy.com/results?query=Boids
https://golang.google.cn/tour/moretypes/18
你可以 在Go入门试玩一下
或者下载 Jupyter , p5js
推荐 https://jupyterlite.github.io/demo/lab/index.html?path=p5.ipynb
> 我记得大学的时候,我实现一个水波纹,搞了快一星期
那是因为你的工具没用对
只要降低五花八门IDE的杂音,只交互式写代码就可以了
创作式编程就是需要注意力
https://codelabclub.github.io/blog/2020/06/28/当我们谈论编程时,其实是在谈论玩乐与创作/
就是吧,你用jspy写,不关心杂七杂八的部署问题
就ok了
> 像素着色器才能并行,利用GPU的性能
当时就是C++写的,有个很垃圾的国产引擎(cocos2dx)
numpy,torch也行啊…… GLSL也不是很难
性能不是最重要的,主要是效果好
其实你在墙外,会搜关键字就能比许多人强了
因为编程的本质是摘抄缝合
像百度那种垃圾搜索引擎是不用看的
用那种工具搜那种圈子的程序员没有进步能力
https://coolshell.cn/ 已猝死的陈大佬说的很清楚,程序员的第一工作就是拉黑内容农场
陈大佬自己也开公司呢,不过去年猝死了
挺可惜 他也是个公知
他明明是个很广的全栈程序员
可惜天妒英才, 每次都是优秀的程序员死,称职的活
然后七大姑八大夷拿这个去劝退称职的程序员
>那么要用哪种搜索引擎好?墙外那些吗?
duck.com bing.com 什么的啊
反正不能用墙内的
对程序员来说一手资料是最重要的
英文wiki都比中文全面
其实不要以为只有抖音快手在洗稿,GFW只是内对外的墙
中国内部各圈层的资讯都是极不流通的
所以张雪峰这种人能火
Bilibili
国产剧里天才程序员期中考试写的爱心代码,真的现实么?我来复刻一下!_哔哩哔哩_bilibili
这期视频聊一下最近开播的国产剧《点燃我,温暖你》里面的一个桥段,天才程序员男主李峋期中考试中完成的爱心代码,究竟可行么?, 视频播放量 1104117、弹幕量 3326、点赞数 40044、投硬币枚数 12639、收藏人数 12505、转发人数 23722, 视频作者 码农高天, 作者简介 清华毕业,加州工作,微软码农。每周六中午直播。知乎:高天。微博:码农高天。知识星球:码农高天的Python营地。,相关视频:国产程序员剧里的爱心代码,算是完美复刻吗?,【爱心表白代码】多久没有跟爱的人一起浪漫了呀~敲…
duangsuse::Echo
#learn #cg #go #bilibili #algorithm > https://www.bilibili.com/video/BV16g411B7Ff 尝试实现下视频里的”大一“代码,感兴趣的话可以深耕 并不天才啊,就是 https://www.desmos.com/calculator/ 里像素化个灰度函数 (y-abs(x)^c)^2+x^2=1 可以把每个运算当成对样条的变换,例如删掉abs(x)不会对称 https://mathworld.wolfram.com/HeartCurve.html…
This media is not supported in your browser
VIEW IN TELEGRAM
#cg #code 国产剧《点燃我,温暖你》/110w 里面的一个桥段,天才程序员男主李峋期中考试中完成的爱心代码
效仿评论区就自己写了个…… 另外GL里字体/for循环是较难的
在 https://www.shadertoy.com/view/llGSzw main尾部加上
原up清华毕业,加州工作,微软码农 收获5w播放, 我寻思这好像也不难…… Shader试错比IDE还容易
B站大佬也挺多的,这种开源易懂的少
其实glsl会 desmos.com 都能模拟的
https://www.geogebra.org/calculator 这些工具超好用
主要还是靠工具和html,svg 这些基础知识
现在numpy+opencv 也普及了,PIL那样的canvas库也会慢慢淘汰吧
一切皆向量 一切皆矩阵
canvas就是一个比较装B的
但学了svg后 就真不是啥
反而gl滤镜更有趣
因为现在对app程序员的要求太低了
转个str, list 绑下sql就能用, 涉猎范围都被框架堵住了
效仿评论区就自己写了个…… 另外GL里字体/for循环是较难的
float heart(vec2 P) {
float t= mix(.3,.8, mod(iTime,1.2)),//心跳
r=pow(P.y-pow(abs(P.x),t), 2.)+pow(P.x,2.) -1.;//灰度函数
return r<.3? mix(1.,4.,-r) : r; //黑心换白心
}
在 https://www.shadertoy.com/view/llGSzw main尾部加上
fragColor = heart(fragCoord.xy/iResolution.xy/.2 -2. - sin(iTime)) ;
原up清华毕业,加州工作,微软码农 收获5w播放, 我寻思这好像也不难…… Shader试错比IDE还容易
B站大佬也挺多的,这种开源易懂的少
其实glsl会 desmos.com 都能模拟的
https://www.geogebra.org/calculator 这些工具超好用
主要还是靠工具和html,svg 这些基础知识
现在numpy+opencv 也普及了,PIL那样的canvas库也会慢慢淘汰吧
一切皆向量 一切皆矩阵
canvas就是一个比较装B的
但学了svg后 就真不是啥
反而gl滤镜更有趣
因为现在对app程序员的要求太低了
转个str, list 绑下sql就能用, 涉猎范围都被框架堵住了
duangsuse::Echo
#cg #code 国产剧《点燃我,温暖你》/110w 里面的一个桥段,天才程序员男主李峋期中考试中完成的爱心代码 效仿评论区就自己写了个…… 另外GL里字体/for循环是较难的 float heart(vec2 P) { float t= mix(.3,.8, mod(iTime,1.2)),//心跳 r=pow(P.y-pow(abs(P.x),t), 2.)+pow(P.x,2.) -1.;//灰度函数 return r<.3? mix(1.,4.,-r) : r; //黑心换白心…
#cg 用了半天AI都不能创建一个shader
纯frag shader 要想画粒子特效,只能用vec4图片编码vec2 来模拟gl vertex (本质是全局数组 https://stackoverflow.com/questions/48384564/webgl-glsl-time-variable-similar-to-shadertoy)
https://www.shadertoy.com/view/Nty3D3
GPU 每个线程只1个rgba矩阵可变,禁止手动for(;;)全局变量。 GLSL设计的这么僵化,还不如numpy和taichi呢
GL人都是作品靠试错就摆好了,即性粘贴型画师,比jspy还复用白痴 😅可见编译太快联动性会变差
包括Unity等有建工程的
其实是不配称程序员的,和gpt一样 代码没有复用度,全是脚本 用完即弃
但是数学家和物理学家就是这样,不重视自顶向下 复用
https://developer.mozilla.org/zh-CN/docs/Web/API/WebGPU_API#:~:text=像素的颜色
>编程用 frag Shader 绘制爱心跳动, 心形的内部是白色, 背景是白噪声
>create a 2d ball particles collision demo in ShaderToy
> update BufferA & mainImage separately; note: shaders won't save state
它只会用 matplotlib画..
不过,圆角矩形什么简单图像,AI依然是有可能写出的。需要几个宏
> 用 re.sub 去除 "www.bilibili.com/?" 这样链接的 query参数
qwen 实在是太逆天了正则 match group 连AI都不会弄
脑残 我是说全文替换 该死的垃圾AI被双引号骗了
纯frag shader 要想画粒子特效,只能用vec4图片编码vec2 来模拟gl vertex (本质是全局数组 https://stackoverflow.com/questions/48384564/webgl-glsl-time-variable-similar-to-shadertoy)
https://www.shadertoy.com/view/Nty3D3
GPU 每个线程只1个rgba矩阵可变,禁止手动for(;;)全局变量。 GLSL设计的这么僵化,还不如numpy和taichi呢
GL人都是作品靠试错就摆好了,即性粘贴型画师,比jspy还复用白痴 😅可见编译太快联动性会变差
包括Unity等有建工程的
其实是不配称程序员的,和gpt一样 代码没有复用度,全是脚本 用完即弃
但是数学家和物理学家就是这样,不重视自顶向下 复用
https://developer.mozilla.org/zh-CN/docs/Web/API/WebGPU_API#:~:text=像素的颜色
pacaur -S intel-media-driver libva-utils后访问chrome://flags/ 查看支持度
>编程用 frag Shader 绘制爱心跳动, 心形的内部是白色, 背景是白噪声
>create a 2d ball particles collision demo in ShaderToy
> update BufferA & mainImage separately; note: shaders won't save state
它只会用 matplotlib画..
不过,圆角矩形什么简单图像,AI依然是有可能写出的。需要几个宏
#define time iTime
#define resolution iResolution
#define main mainImage( out vec4 gl_FragColor, in vec2 gl_FragCoord )
> 用 re.sub 去除 "www.bilibili.com/?" 这样链接的 query参数
qwen 实在是太逆天了正则 match group 连AI都不会弄
脑残 我是说全文替换 该死的垃圾AI被双引号骗了
"http://baidu.com\n".repeat(2).replace(/http:\/\/(.*)/g, "ftp:\/$1");
Stack Overflow
WebGL/GLSL time variable similar to ShaderToy
Here is my vertex shader
attribute vec4 a_position;
varying vec4 v_color;
void main() {
gl_Position = vec4(a_position.xy, 0.0, 1.0);
v_color = gl_Position * 0.5 + 0.5;
}
Here is my fragment ...
attribute vec4 a_position;
varying vec4 v_color;
void main() {
gl_Position = vec4(a_position.xy, 0.0, 1.0);
v_color = gl_Position * 0.5 + 0.5;
}
Here is my fragment ...
#code #cg 今天是3.14 PI 🥧 day !我们用纯 #js+svg在200行以内,完成以下3个特效吧 🦄🌈
- 用WASD操控的网页广告炸弹, websiteasteroids.com 🔘
- 指向你鼠标的emoji 😄
- 可调节内外起伏的,转圈的加载环,多层豪华版 📍
首先,需要引入绝对的主角:表示点xy或速度av的Vec2。有方向,有质量!
https://p5.readthedocs.io/en/latest/tutorials/vector.html#vectors-more-algebra
emoji矩阵
转圈的花色环
请在 https://editor.p5js.org/ 执行,注意保留N2= 以下的库定义。 🤗
另外,对比一下 https://vorg.github.io/pex/docs/pex-geom/Vec2.html
的实现行数,本文在手机上也就是1屏
至于扩展性、调用难度上就见仁见智了
功能上推荐 http://victorjs.org/
xmas christmas 推荐: https://js1k.com/2010-xmas/demo/856 , https://github.com/duangsuse/tv/blob/main/参动之画/粒子/稿
https://github.com/PointRider/open-java https://github.com/yangjianxin1/TankBattle 打飞机/坦克大战 java
里面还放了个js colored mandelbrot
- 用WASD操控的网页广告炸弹, websiteasteroids.com 🔘
- 指向你鼠标的emoji 😄
- 可调节内外起伏的,转圈的加载环,多层豪华版 📍
首先,需要引入绝对的主角:表示点xy或速度av的Vec2。有方向,有质量!
https://p5.readthedocs.io/en/latest/tutorials/vector.html#vectors-more-algebra
console.log(x=N2().turn(.5,2), x.a==.5, x.a++) //回滚到0.5!
let L,P,vel, vKbd //画布L 点P 速度v
function draw() {
background(220);
P._p(vel); P._lim(L); if(P.x<0||P.y<0)vel.v*=-1//进1步并检测碰撞
P.i(translate);rotate(vel.a*2*PI);text("⇨",0,0)//(1,0) 时a==0
}
function setup() {
vKbd={w:N2(0,-1),s:N2(0,1), a:N2(-1,0),d:N2(1,0), q:-.1,e:.1}
L=N2(400, 400), P=L.__.mm(2); vel=N2(0)
L.i(createCanvas)
}
function keyPressed(k) {
(k=vKbd[key]).turn? vel._p(k) : //to(k)
k? vel.a+=k :0
}
N2=(x,y=x)=>new _N2(new Float32Array(2),x,y)
data=(kv,T)=>{
let s=(T+''), sub=(s,f)=>s.replace(/(\w+)/g,f), kvs=kv.split(','), cg='',
vec=(k,v)=>`${k.substr(1)}(v){let a=this._,i=${kvs.length-1};while(i-->0)a[i]${k[0]}=${v}; return this}`
if(kvs[0]=='_') {
'+p *pp -m /mm %lim \tto'.split(' ').forEach(k=> cg+=vec(k,'v')+'_'+vec(k,'v._[i]'))
kvs.slice(1).forEach((k,i)=> cg+=`get ${k}(){return this._[${i}]}set ${k}(v){this._[${i}]=v}`)
}
T=eval(sub(s,(m,k)=>kvs.includes(k)?`this.${k}`:k).replace('{\n',`{constructor(${kv}){${sub(kv, `this.$1=$1`)}}`+cg))(); this[T.name]=T
}
data('_,x,y', ({cos,sin,atan2,sqrt,PI}=Math,tr=2*PI)=>
class _N2 {
get a(){return atan2(y,x)/tr}
get v(){return sqrt(y**2+x**2)}
turn(a,v){x=v*cos(a*tr);y=v*sin(a*tr); return this}
get __(){return N2(x,y)}
i(f){return f(x,y)}
set a(a){this.turn(a,this.v)}
set v(v){this.v1(); this.pp(v)} v1(){let v=this.v; if(v!=0)this.mm(v)}
})
emoji矩阵
let Pa, dPtr=1
setInterval(()=>dPtr=random(10,40), 3000)
function draw(){
clear()
Pa.forEach(([x,P,a])=>{
let d=N2(mouseX,mouseY)._m(P)
push();P.i(translate);rotate((d.a+.25)*2*PI); a.x=d.v%dPtr; text(x,0,a.x); pop()})
}
function setup(){
skins=['\u{1F3FB}', '\u{1F3FC}', '\u{1F3FD}', '\u{1F3FE}', '\u{1F3FF}'];
emj=[['👩', skins],['👨', skins],
...[...'🧘🫅👷👮👰🤵🫅'].map(x=>
[x, [...skins, '♀️', '♂️']]),
['👩', ['\u{200D}\u{1F9B0}','♀️']],
['👩', ['⚕️', '⚖️', '✈️']]
].map(a=>emojiVars(...a)).flat()
let L=N2(400,400), mid=N2(.5)._pp(L), m=8
L.i(createCanvas)
Pa=emj.map((x,i)=> [x, N2(i/m>>0,i%m).pp(40)._p(mid).m(140), N2(1,0)] )
}
emojiVars=(base,[m, ...m1])=>!m1.length?[base]: emojiVars(base, m1).concat(/\p{Emoji_Modifier}/u.test(base) ? [] : emojiVars(base.replace(/\u200D|$/, m + '\u{200D}'), m1));
转圈的花色环
let L0=400,L, A,B, tr=P=>P.turn(random(1), L0)._p(L).mm(2)
let L1=420, cir,pt
function draw() {
tr(A);tr(B)
let i=2, d=(A.__._m(B));
stroke(lerp(cir[0].value(),cir[1].value(), d.v/L0), 50, 100, 15);
while(i-->0)line(A.x,A.y, B.x,B.y);
P.a+=.01+pt.x; P.v=(P.v+pt.y)%L0 //习题:为何负P.v不向内扩?
fill(random(360),100,100)
L.__.mm(2)._p(P).i((x,y)=>ellipse(x,y, 10,10))
}
function setup() {
L=N2(L1); A=N2(0),B=N2(0), pt=N2(.1,0)
P=N2(0,L1/2), cir=[createSlider(0,360,15),createSlider(0,360,340)]
L.i(createCanvas); colorMode(HSB)
}
function mousePressed() {
pt.x=mouseX;pt.y=mouseY; pt._mm(L)
pt.i(console.log)
}
请在 https://editor.p5js.org/ 执行,注意保留N2= 以下的库定义。 🤗
另外,对比一下 https://vorg.github.io/pex/docs/pex-geom/Vec2.html
的实现行数,本文在手机上也就是1屏
至于扩展性、调用难度上就见仁见智了
功能上推荐 http://victorjs.org/
xmas christmas 推荐: https://js1k.com/2010-xmas/demo/856 , https://github.com/duangsuse/tv/blob/main/参动之画/粒子/稿
https://github.com/PointRider/open-java https://github.com/yangjianxin1/TankBattle 打飞机/坦克大战 java
里面还放了个js colored mandelbrot
🦄1
#code #cg #apple 等待光标 🍬 https://www.shadertoy.com/view/XljXzV
带夹层
#define hsv(c) ( (c).z * ( 1. + (c).y* ( .6 * cos( 6.3*(c).x + vec3(0,23,21) ) -.4 ) ) ) // golfed
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
// Position normalised into (0, 1)
vec2 P = fragCoord.xy/iResolution.xy, M=iMouse.xy/iResolution.xy, d = 1.0 - (P * 2.0);
// Rotation
float L=length(d), r = acos(d.x / L) / M_PI, lv=M.y*50.;
if (d.y < 0.0) { r = M_PI-(r + M_PI); } // Sort out the bottom half (y=-1)
r+=sin(smoothstep(-M.y,M.x*2., .9*L));
r = floor( (r)*lv)/lv;
fragColor = vec4(2.*hsv( vec3(r/2., 1.0, 0.5)), 1.);
}
带夹层
// Position normalised into (0, 1)
vec2 P = fragCoord.xy/iResolution.xy, d = 1.0 - (P * 2.0);
float r = length(d), a = atan(d.y,d.x)/ 2./M_PI;
a+=cos(.6*r);
fragColor = vec4(hsv(vec3(a, 0.5 + 0.25*sin(iTime*a), 1.0)), 0.5);
Forwarded from dnaugsuz
#math #cg e^i 其实是一个向量意义的重载啦,和复利极限e (1块钱日取其半之和~2.7) 同名而已
Pi是周长和1/2弧度的比率,用于调用cos,sin实现极坐标 https://shuxuele.com/numbers/pi.html
GL里是直接用length(P-P0)<r 来画圆的,这也等效于算圆周率
☝️ 不过我注意的,是这个「有18个孩子的数学家的顶级」,他的智慧世人不懂,为什么也不能传给他哪怕1个孩子呢? 哲学和工程,果然无法对立统一吧
历史是螺旋上升的, 300年来数学生总是在复习上帝给出的真理,工程生却总是创造不笔算的方法和新的价值 https://tttttt.me/rynif/32903
Pi是周长和1/2弧度的比率,用于调用cos,sin实现极坐标 https://shuxuele.com/numbers/pi.html
GL里是直接用length(P-P0)<r 来画圆的,这也等效于算圆周率
pi = 4*num_cir/num_all
,算到超过133亿个随机点,才收敛到3.14159 。最优级数算法问AI☝️ 不过我注意的,是这个「有18个孩子的数学家的顶级」,他的智慧世人不懂,为什么也不能传给他哪怕1个孩子呢? 哲学和工程,果然无法对立统一吧
历史是螺旋上升的, 300年来数学生总是在复习上帝给出的真理,工程生却总是创造不笔算的方法和新的价值 https://tttttt.me/rynif/32903
#cg scrcpy: 为什么DLNA不能接受投屏? 这是因为它不支持不可定位的流? 到处搜Miracast Player sink apk 找不到
为何 miracast stream over sockets 就这么难播放?因为该协议要求网卡支持 p2pwifi,靠 WifiP2pManager.sendMessage wpa_supplicant 特权暴露可见的
Android 8.0及以后,官方故意限制了对setWFDInfo()接口的调用,让它不能像软HDMI那样自由
libstagefright/wifi-display/sink/ 在Android 4.3以后,Google移除掉了,这时 com.qualcomm.wfd.service 和 pgnishikawa-wfdsinkemu 还能用,能在两台安卓间scrcpy
AirScreen,在高版本中会弹窗提示功能已被Google禁用。除非你是系统应用或者有系统签名才能突破此限制
以及,用 https://github.com/albfan/miraclecast 转HLS
https://github.com/rzane/dlnanow
为何 miracast stream over sockets 就这么难播放?因为该协议要求网卡支持 p2pwifi,靠 WifiP2pManager.sendMessage wpa_supplicant 特权暴露可见的
Android 8.0及以后,官方故意限制了对setWFDInfo()接口的调用,让它不能像软HDMI那样自由
libstagefright/wifi-display/sink/ 在Android 4.3以后,Google移除掉了,这时 com.qualcomm.wfd.service 和 pgnishikawa-wfdsinkemu 还能用,能在两台安卓间scrcpy
AirScreen,在高版本中会弹窗提示功能已被Google禁用。除非你是系统应用或者有系统签名才能突破此限制
以及,用 https://github.com/albfan/miraclecast 转HLS
https://github.com/rzane/dlnanow
GitHub
GitHub - albfan/miraclecast: Connect external monitors to your system via Wifi-Display specification also known as Miracast
Connect external monitors to your system via Wifi-Display specification also known as Miracast - albfan/miraclecast
#learn #cpp Redis 作者展示 https://yabzhang.github.io/posts/project/reading_smallchat/
作为一个展示样例,这端代码展示了如何处理内存管理、网络套接字的使用、多路复用、客户端连接的管理、消息和指令的处理等逻辑。除去注释只有短短两百多行,用来学习和理解服务端编程已经足够了 ———— 麻雀虽小五脏俱全。
>晚上逛 Github 发现个好用的项目(替代sftp分发),可以用于传输文本和二进制流,支持 curl 和浏览器端,可选 E2EE,支持自建中转服务器,用于在几台服务器之间临时传文件很方便
https://github.com/nwtgck/piping-server
>piping server的衍生项目,配合piping server可以实现用adb远程控制Android设备,前端功能相当丰富,包括文件管理/终端/scrcpy屏幕共享
Demo:https://piping-adb.nwtgck.org/
项目:https://github.com/nwtgck/piping-adb-web
该项目依赖的上游透过WebUSB让用户可以在网页端通过adb管理Android设备 https://app.tangoapp.dev/guide
#rust #meme https://github.com/lvkv/whenfs 通过base64存储图片,类似 youtubefs
#cg https://swiftcafe.io/2016/10/29/pdf
https://github.com/Losses/pdf-postprocess
用 headless chromium 把 svg 转成 pdf,这样样式就全都对了。
Typst 编译到 PDF 就是走的 svg,谁愿意写 postscript
作为一个展示样例,这端代码展示了如何处理内存管理、网络套接字的使用、多路复用、客户端连接的管理、消息和指令的处理等逻辑。除去注释只有短短两百多行,用来学习和理解服务端编程已经足够了 ———— 麻雀虽小五脏俱全。
>晚上逛 Github 发现个好用的项目(替代sftp分发),可以用于传输文本和二进制流,支持 curl 和浏览器端,可选 E2EE,支持自建中转服务器,用于在几台服务器之间临时传文件很方便
https://github.com/nwtgck/piping-server
>piping server的衍生项目,配合piping server可以实现用adb远程控制Android设备,前端功能相当丰富,包括文件管理/终端/scrcpy屏幕共享
Demo:https://piping-adb.nwtgck.org/
项目:https://github.com/nwtgck/piping-adb-web
该项目依赖的上游透过WebUSB让用户可以在网页端通过adb管理Android设备 https://app.tangoapp.dev/guide
#rust #meme https://github.com/lvkv/whenfs 通过base64存储图片,类似 youtubefs
#cg https://swiftcafe.io/2016/10/29/pdf
https://github.com/Losses/pdf-postprocess
用 headless chromium 把 svg 转成 pdf,这样样式就全都对了。
Typst 编译到 PDF 就是走的 svg,谁愿意写 postscript
yabzhang.github.io
smallchat 源码阅读
smallchat1 是 redis 作者 antirez 所写的一个聊天室的小程序;代码短小精悍,很有意思。据说作者以此例向前端朋友展示系统编程的趣味 😄 2~
这里记录下阅读源码所获。
首先从 main 开始:
/* The main() function implements the main chat logic: * 1. Accept new clients connections if any. * 2. Check if any client sent us some new message.…
这里记录下阅读源码所获。
首先从 main 开始:
/* The main() function implements the main chat logic: * 1. Accept new clients connections if any. * 2. Check if any client sent us some new message.…
duangsuse::Echo
#os #design 作为编程语言爱好者,谈谈RCE这些bug的根源吧: 程序员没做错, Dennis Ritchie 们错了 😅 为什么“溢出”基本上是C的专属呢?因为老冯的时代,“汇编器是在浪费 CPU cycle” 这种反人性的设计,被推崇为《程序员的自我修养》 (x86汇编的应用与骇客少,不讨论单片机界的情况) #recommend 就像JS人不懂 1+"1", 1-"1" 为啥会不同, 初学C的人很奇怪为啥 1+1 可以而 "a"+"b" 却不行(还必须 strcat 或 sprintf),…
#life “中国人的一生就像被一个进度条拖着,一旦不能往前进,就是重回起点。——反正不是《人间失格》”
🤔 你们是否好奇,刚才对C语言本身甚至SQL的设计指点江山、挥斥方遒,甚至亲手写了个SQL方言的人,该住在哪个城市,是哪个学校的毕业生呢? 上海?深圳? 985? 211? 与仓颉/OpenArk合作的北大CS系 ?
请评价文章的内容,结合你之前认识技术人的资历,仔细思考,什么级别的人能搞出这种批评。 该不会是刚入门的《C语言程序设计》本科生吧,毕竟他们喜欢抱怨?
若认识的大佬较少,您也可以看看提供Linux镜像的中科大CS老师在写什么: https://github.com/USTC-Resource/USTC-Course
记住这个心理预期。
记住,我谁都不是。 我高二的数学成绩是40分(120满分的那种),我在一个三线小城上了职业技术学院,甚至因为懒得抄作业还是肄业,之后也从未被人录用过(虽然差点被破格转正一次 )
但我的写作都是发自真心,包括上面tg这个"雪花粒子"效果我都用JS弄过( #cg 类代码也贴过)
(js代码可以F12粘贴到 https://duangsuse.github.io/tv//参动之画/粒子/index.html 执行
刚才和棍父友好交流了下,得知他想让我参军的理由
- 现在报名的人多的很,你想还去不了
- 干12年出来就分工作,前三年只需要努力,5w(1.4k/mo) 补贴谁管它啊
- 去了就是人上人,就像那些千军万马过独木桥的「考研人」一样。 不争取进步有什么意思
- 反正不能[躺]在家里
不过因为政策和官网不一样,暂时是去不了了,真希望我能在明年之前做出成绩吧 🙉
今天开始你永远是中国人! ✊😤
🤔 你们是否好奇,刚才对C语言本身甚至SQL的设计指点江山、挥斥方遒,甚至亲手写了个SQL方言的人,该住在哪个城市,是哪个学校的毕业生呢? 上海?深圳? 985? 211? 与仓颉/OpenArk合作的北大CS系 ?
请评价文章的内容,结合你之前认识技术人的资历,仔细思考,什么级别的人能搞出这种批评。 该不会是刚入门的《C语言程序设计》本科生吧,毕竟他们喜欢抱怨?
若认识的大佬较少,您也可以看看提供Linux镜像的中科大CS老师在写什么: https://github.com/USTC-Resource/USTC-Course
记住这个心理预期。
但我的写作都是发自真心,包括上面tg这个"雪花粒子"效果我都用JS弄过( #cg 类代码也贴过)
(js代码可以F12粘贴到 https://duangsuse.github.io/tv//参动之画/粒子/index.html 执行
刚才和棍父友好交流了下,得知他想让我参军的理由
- 现在报名的人多的很,你想还去不了
- 干12年出来就分工作,前三年只需要努力,5w(1.4k/mo) 补贴谁管它啊
- 去了就是人上人,就像那些千军万马过独木桥的「考研人」一样。 不争取进步有什么意思
- 反正不能[躺]在家里
不过因为政策和官网不一样,暂时是去不了了,真希望我能在明年之前做出成绩吧 🙉
今天开始你永远是中国人! ✊😤
cs.pku.edu.cn
北京大学助力仓颉编程语言发展 携手华为深耕国产基础软件研究-北京大学计算机学院
北京大学助力仓颉编程语言发展携手华为深耕国产基础软件研究2024年6月21日,在华为开发者大会(HDC)上,华为发布了一款全新的编程语言—仓颉。仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。早在2019年,由北京大学计算机学院院长胡振江教授带领的北京大学程序语言研究室就已经与华为仓颉团队围绕仓颉语言的开发环境与工具课题展开长期合作,旨在推进中国自主研发的编程技...
👍1
duangsuse::Echo
#code #cg 今天是3.14 PI 🥧 day !我们用纯 #js+svg在200行以内,完成以下3个特效吧 🦄🌈 - 用WASD操控的网页广告炸弹, websiteasteroids.com 🔘 - 指向你鼠标的emoji 😄 - 可调节内外起伏的,转圈的加载环,多层豪华版 📍 首先,需要引入绝对的主角:表示点xy或速度av的Vec2。有方向,有质量! https://p5.readthedocs.io/en/latest/tutorials/vector.html#vectors-more-algebra…
#bilibili #dev 何同学 日常营销 🤡 👈 🤣 https://www.fxzhihu.com/question/4389622860/answer/35490177930
虽然这种 CG ASCII-art #tool 写起来也蛮傻的 (我也写过视频滤镜, 和支持中文字 PIL canvas 版),不如 GPM 有创意,但科普一下
>用OpenCV写 png2ascii.py ,刷新到ANSI终端,再在单帧的基础上支持播放 mp4
AI都会写,
#code
https://github.com/duangsuse-valid-projects/Share/blob/master/Others/py/apple.py#L125
^我可以再给它加个彩,用kdTree匹配 ANSI color 的功能 ( BashEsc[A_nearest(x)] ),但小何下载的那个 font-size&linear-grident 的功能 cool-retro-term 不支持
(好像只需要 mask-image: asciize(BadApple) 和同步下进度条…… 共享剪贴板程度的码力
跨越黑框框内外我写过 win/linux CLI, webUI 三平台可玩的2048/贪吃蛇PWA ,因为纯 $ cvlc 一类 ASCII字符画这确实烂活啊 😂
和 Oimo.io/about ; offscreenCanvas.com 这些真·视效人差好远 #cg #dalao
但
咱也不期待「何同学」能有啥高论,顶多笑笑“自主研发”的人 git clone 都懒得搞,直球翻墙 ~/下载/zip解压
毕竟国内创客环境、社区文化也就那样 (详见 yt Leonard 关于小米 CyberDog 的视频)
对吧?
虽然这种 CG ASCII-art #tool 写起来也蛮傻的 (我也写过视频滤镜, 和支持中文字 PIL canvas 版),不如 GPM 有创意,但科普一下
>用OpenCV写 png2ascii.py ,刷新到ANSI终端,再在单帧的基础上支持播放 mp4
AI都会写,
#code
import os, cv2, numpy as np
grays = [*" .-:=*+%@#"]
def ascii(img, wh=np.int32(os.popen('stty size', 'r').read().split()[::-1]) ):
g=np.array(grays)
a=cv2.cvtColor(cv2.resize(img, wh) , cv2.COLOR_BGR2GRAY)
b=np.int8(np.interp(a, (0,256), (0,len(g)) ))
return [*
(''.join(y) for y in g[b] )
]
s=os.popen('ls ~/Pictures/Screenshots/*').read()[:-1]
@get_ipython().pt_app.key_bindings.add('c-k')
def f(ev):
print(*ascii(cv2.imread(s)), sep="\n")
https://github.com/duangsuse-valid-projects/Share/blob/master/Others/py/apple.py#L125
^我可以再给它加个彩,用kdTree匹配 ANSI color 的功能 ( BashEsc[A_nearest(x)] ),但小何下载的那个 font-size&linear-grident 的功能 cool-retro-term 不支持
(好像只需要 mask-image: asciize(BadApple) 和同步下进度条…… 共享剪贴板程度的码力
跨越黑框框内外我写过 win/linux CLI, webUI 三平台可玩的2048/贪吃蛇PWA ,因为纯 $ cvlc 一类 ASCII字符画这确实烂活啊 😂
和 Oimo.io/about ; offscreenCanvas.com 这些真·视效人差好远 #cg #dalao
但
nc -T towel.blinkenlights.nl 23; putty telnet:nyancat.dakko.us
的星球大战还可看, 彩虹猫#请自己开个服
telnet stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.telnetd -L <(echo cacademo)
咱也不期待「何同学」能有啥高论,顶多笑笑“自主研发”的人 git clone 都懒得搞,直球翻墙 ~/下载/zip解压
毕竟国内创客环境、社区文化也就那样 (详见 yt Leonard 关于小米 CyberDog 的视频)
对吧?
FxZhihu / Fixup Zhihu
如何看待何同学最新视频“我用36万行备忘录做了个动画”? - @DBinary | FxZhihu
如果非要我评价: 第一是视频做的确实不错。 第二才是开源项目说是自己做的不太厚道。 第三是恰饭麻不寒碜。 但如果这里我们不讨论技术实现之外别的东西,这个项目的技术实现本身还是有点意思的,当然有意思归有意思,难度来说确实挺简单的,当然口说无凭,为此不才特意牺牲了一个中午的午睡时间,来重现这个技术栈,确实只需要一点点时间。 [图片] 在PainterEngine组件市场有组件市场,当中有支持视频解码的ffmpeg组件,这部分直接下载…
Milkice's NG
虽然平安果是圣诞节进入中国后本土化的产物,但美好的祝福从不需要节日作契机,祝大家平安夜安康,吃个平安果
This media is not supported in your browser
VIEW IN TELEGRAM
#cg #js 🎄 https://js1k.com/2010-xmas/demo/856
圣诞节,程序员圈的日常?
原理比 https://tttttt.me/dsuse/19402 的2D几何复杂点,使用了画家算法:z-index排序,正交绘制
2013春,作者解释了 🐝 的绘制算法 #visualize http://www.romancortes.com/blog/furbee-my-js1k-spring-13-entry/
圣诞节,程序员圈的日常?
原理比 https://tttttt.me/dsuse/19402 的2D几何复杂点,使用了画家算法:z-index排序,正交绘制
2013春,作者解释了 🐝 的绘制算法 #visualize http://www.romancortes.com/blog/furbee-my-js1k-spring-13-entry/
https://neozhaoliang.github.io/gifmaze-cn/ #cg #math #dalao
貌似是对
没有入选500LoC的原因,我猜是没有足够的“独特性”,优化相对于耦合度代价太高,因为,单纯用ffmpeg -pipe拼接帧也能提速,然后帧差+LZW压缩 可能不如FFT的劲爆,虽然PNG就是像素渐变色差+zip压缩。
捣鼓了半个月,效果还是很不错的
- GIF89a 协议允许每个打包的数据块指明其所使用的最小码字的长度,如果你事先知道这一帧图像用到的颜色数目,比如 4 种颜色,那么 2 个比特就足以表示这 4 种颜色,从而最小编码长度可以设置为 2
- 对于dirty rect,每帧编码时只针对这个子区域编码即可
貌似是对
def 迷宫生成(): yield pix[Nd(n x m, 0 or 1)], pix=❑
等算法可视化的gif编码优化了,没有入选500LoC的原因,我猜是没有足够的“独特性”,优化相对于耦合度代价太高,因为,单纯用ffmpeg -pipe拼接帧也能提速,然后帧差+LZW压缩 可能不如FFT的劲爆,虽然PNG就是像素渐变色差+zip压缩。
捣鼓了半个月,效果还是很不错的
- GIF89a 协议允许每个打包的数据块指明其所使用的最小码字的长度,如果你事先知道这一帧图像用到的颜色数目,比如 4 种颜色,那么 2 个比特就足以表示这 4 种颜色,从而最小编码长度可以设置为 2
- 对于dirty rect,每帧编码时只针对这个子区域编码即可
朝花夕拾
碉堡的小程序:用 Python 制作演示各种算法的 GIF 动画
本文要介绍的是我写的一个有趣的 Python
小程序,一个脱离了低级趣味的程序,一个有益于广大人民了解算法的程序。代码在
Github
上。
这个程序可以用来制作各种各样的算法动画,包含但不限于:
小程序,一个脱离了低级趣味的程序,一个有益于广大人民了解算法的程序。代码在
Github
上。
这个程序可以用来制作各种各样的算法动画,包含但不限于:
duangsuse::Echo
1.5h
程序员写这样一个简单的逻辑有多难: #dev #cg
[0 0 1 0 2 3 5 ..] -takeFirsts: it==0
->[0 0]
无非就是在y轴上做模式匹配,算个矩形高度
- 没想到吧,视频px<屏幕px
- 没想到吧,你以为顶上算对了,它才是算错的那个。 dpi的bug正好弥补了这一部分……
- 没注意吧,不是因为视频x=某个值时黑色扎进去了,AI写的是横灰度平均
- 而这正是bug的2个根源之一…… 😑
- 搞了一个小时,四个黑边只支持检测俩, 还会被白水印欺骗😅😅
- https://tttttt.me/dsuse/18702 #py 5行烂苹果再次完胜js
我在想,如果我真的对canvas什么都不懂,还要再卡多久。 hf.co 的新AI确实聪明,他也没聪明到提醒我坐标系变换这回事……😅
vibe 个什么啊
[0 0 1 0 2 3 5 ..] -takeFirsts: it==0
->[0 0]
无非就是在y轴上做模式匹配,算个矩形高度
- 没想到吧,视频px<屏幕px
- 没想到吧,你以为顶上算对了,它才是算错的那个。 dpi的bug正好弥补了这一部分……
- 没注意吧,不是因为视频x=某个值时黑色扎进去了,AI写的是横灰度平均
- 而这正是bug的2个根源之一…… 😑
- 搞了一个小时,四个黑边只支持检测俩, 还会被白水印欺骗😅😅
- https://tttttt.me/dsuse/18702 #py 5行烂苹果再次完胜js
我在想,如果我真的对canvas什么都不懂,还要再卡多久。 hf.co 的新AI确实聪明,他也没聪明到提醒我坐标系变换这回事……😅
vibe 个什么啊
duangsuse::Echo
#tool 🌠🔍⏫
#cg 现在可以使用 WebGPU 做 OpenProcessing.org , 虽然它主要用于免IO(2x加速)的 DNN infer ,但还能使用 WGSL
https://google.github.io/tour-of-wgsl/types/vectors/constructors/
优势: SFC单文件,不需要 polyfill header 和typehint,优雅吧? #rust
https://compute.toys/
https://pongasoft.github.io/webgpu-shader-toy/
https://google.github.io/tour-of-wgsl/types/vectors/constructors/
优势: SFC单文件,不需要 polyfill header 和typehint,优雅吧? #rust
@fragment
fn fragmentMain(@builtin(position) pos: vec4f) -> @location(0) vec4f {
return vec4f(pos.xy / inputs.size.xy, 0.5, 1);
}
https://compute.toys/
https://pongasoft.github.io/webgpu-shader-toy/
https://thatcreativecode.page
#tool #cg
creative coding 是个挺大的话题
我已经有了一些笔记,但恐怕还没时间接触
不过大佬确实非常非常多 😨 👍
https://iquilezles.org/articles/distfunctions2d/
https://animejs.com/
https://oimo.io/works
已经属于神人的级别,梵高多少沾一点,似乎他们不会写代码,不是「程序员」
但其实技术力比许多所谓的大牛高到不知哪里去了。
世外高人的感觉。 他们也不是「扫地僧」,只是编程范式和工具比所谓的 full-stack/CS/PL 人聪明,恰到好处,加不了彰显框架作者IQ的「私货」来妨碍其他人自创,或者说,代码基恰如其“份”。
这绝不是因为点开链接就能用。他们自己也会写网站,py js rust,但UIUX效果就是比圈外人好得多!
#tool #cg
creative coding 是个挺大的话题
我已经有了一些笔记,但恐怕还没时间接触
不过大佬确实非常非常多 😨 👍
https://iquilezles.org/articles/distfunctions2d/
https://animejs.com/
https://oimo.io/works
已经属于神人的级别,梵高多少沾一点,似乎他们不会写代码,不是「程序员」
但其实技术力比许多所谓的大牛高到不知哪里去了。
世外高人的感觉。 他们也不是「扫地僧」,只是编程范式和工具比所谓的 full-stack/CS/PL 人聪明,恰到好处,加不了彰显框架作者IQ的「私货」来妨碍其他人自创,或者说,代码基恰如其“份”。
这绝不是因为点开链接就能用。他们自己也会写网站,py js rust,但UIUX效果就是比圈外人好得多!