小编lus*_*oog的帖子

约翰麦卡锡对*色情编程*的意思是什么?

Lisp历史中,麦卡锡写道:

翻译的出乎意料的外表倾向于冻结语言的形式,并且一些决定对于"递归函数......"而言相当轻松,后来证明是不幸的.这些包括用于条件表达式的COND表示法,其导致不必要的括号深度,并且使用数字零来表示空列表NIL和真值false.除了鼓励色情编程外,对地址0进行特殊解释也给后来的所有实施带来了困难.

他在说什么?

lisp history terminology

24
推荐指数
5
解决办法
1779
查看次数

通过随机点绘制好看的Bezier曲线

我正在使用带有RaphaelJS的javascript通过输出到SVG的随机点绘制一条平滑线.该线严格水平,不会在X轴返回.目前,我使用立方贝塞尔曲线从一点到另一点画线.

问题是,线条看起来不够好.两条曲线在一个点处具有难看的连接,其中一条曲线结束而另一条曲线开始,在关节中具有相当随机的角度.如何使前一曲线平滑地转换为下一曲线,同时仍保持线路通过给定点?

javascript math svg graph raphael

14
推荐指数
2
解决办法
1万
查看次数

你如何保持`roll`操作符直线?

在后记中,roll操作员非常通用且难以可视化.你如何确保你正朝着正确的方向前进?

我希望得到一个可靠的处理,roll因为我希望能够使用变量转换函数

/f { % x y z
    /z exch def
    /y exch def
    /x exch def
    x dup mul
    y dup mul
    z dup mul add add % x^2+y^2+z^2
} def
Run Code Online (Sandbox Code Playgroud)

使用堆栈操作进入函数,更像是

/f { % x y z
    3 1 roll dup mul % y z x^2
    3 1 roll dup mul % z x^2 y^2
    3 1 roll dup mul % x^2 y^2 z^2
    add add % x^2+y^2+z^2
} def
Run Code Online (Sandbox Code Playgroud)

要么

/f { % …
Run Code Online (Sandbox Code Playgroud)

postscript

11
推荐指数
1
解决办法
1024
查看次数

求解表示为字符串的线性方程

我给了一个字符串2*x + 5 - (3*x-2)=x + 5,我需要解决x.我的思维过程是我将它转换为表达式树,比如,

          =
        /  \
       -    +
      /\    /\
     +  -   x  5
    /\  /\ 
   *  5 * 2
  /\   /\
 2  x  3 x
Run Code Online (Sandbox Code Playgroud)

但是如何从这里实际减少树?还有其他想法吗?

algorithm expression-trees

10
推荐指数
1
解决办法
1184
查看次数

阅读各种汇编语言的材料?

这是一个wiki问题,为各种体系结构学习汇编语言收集有用的参考资料.

我最近尝试从1964年开始阅读Basic Pdp-1 Lisp的源代码,并且需要广泛搜索参考资料,以便从代码中获得最微小的意义.我觉得我收集的链接可能对尝试阅读类似年份代码的人有用,比如SpaceWar!

所以一个好的答案应包括:

  • 架构的名称
  • 汇编语言中的一个非平凡的程序
    (这是问题的真正焦点:一个经典的程序,值得学习汇编以便阅读它.)
  • 用于理解程序的手册和指导参考

我将通过收集的参考资料开始阅读Pdp-1 LISP.

architecture assembly history

5
推荐指数
1
解决办法
416
查看次数

如何使用 x 资源在 x 窗口程序中删除小部件的边框?

我想更改 gv 的 GUI 丑陋的默认外观。我使用 editres 来获取 gv 的 x 资源树,并尝试使用以下设置删除按钮的边框:

GV.control.MButton.borderWidth: 0
GV.control.MButton.borderColor: white
Run Code Online (Sandbox Code Playgroud)

它们都不起作用。后来我发现相关资源可能是:

GV.control.MButton.unsetFrameStyle: sunken/raised/ledged
Run Code Online (Sandbox Code Playgroud)

凹陷、凸起、壁架 3 个选项确实改变了框架的风格。但我找不到使框架成为简单线条或消失的选项。

似乎 gv 基于 Xaw3d(我不确定)。不知道这些资源是Xlib、Xt、Xaw提供的还是gv自己提供的。它们不太可能是特定于 gv 的。如果它们是由 Xlib、Xt 或 Xaw 提供的,一旦找到要设置的正确资源和选项,我就可以以相同的方式更改类似 x 窗口程序的外观。

所以我的问题是如何找到正确的 x 资源和选项来删除 x 小部件的边框?

PS:editres 只提供资源列表,不提供选项列表。如果我将它们用于 gv,appres 和 listres 会显示一个非常短的资源设置列表。

linux x11 widget xlib xt

5
推荐指数
1
解决办法
413
查看次数

Bezier Patches如何在犹他州茶壶中工作?

我过早地发布了一个代码高尔夫挑战来使用这个数据集(只是茶壶)绘制犹他茶壶.(经过修订和发布的茶壶挑战)但是当我深入研究数据以便掀起一个小例子时,我意识到我不知道这些数据是怎么回事.我对2D中的Bezier曲线有很好的理解,实现了deCasteljau.但对于3D它的工作原理是否相同?

是! 它确实!

数据包含每个包含16个顶点的补丁.这些是如何布局的标准顺序?如果它们对应于2D曲线,则四个角点实际接触表面,其余12个是控制,对吧?

是!

我的"原始计划"是将形状简化为矩形,将它们投影到画布上,然后绘制灰色的填充形状,通过与光矢量垂直的贴片的点积计算.如果我将它简化到那么远,它甚至会看起来像茶壶吗?是否必须使用光线追踪来获得可识别的图像?

这是主观的.:-(

虽然这可能看起来像几个问题,但它们都是这一个问题的所有方面:"请,请好的Guru,在一些Bezier Patches上学习我?我需要知道什么才能画出茶壶?"


这是我到目前为止编写的代码.(使用此矩阵库:mat.ps)

%!
%%BoundingBox: 115 243 493 487
%-115 -243 translate

(mat.ps)run  %include matrix library

/tok{ token pop exch pop }def
/s{(,){search{ tok 3 1 roll }{ tok exit }ifelse }loop }def
/f(teapot)(r)file def
/patch[ f token pop { [ f 100 string readline pop s ] } repeat ]def
/vert[ f token pop { [ f 100 string readline pop s …
Run Code Online (Sandbox Code Playgroud)

3d graphics bezier postscript bspline

5
推荐指数
1
解决办法
2472
查看次数

如何在32位中引发浮点错误

如何引发32位浮点错误(通常称为协处理器错误[INT 16:8086].

c assembly intel interrupt x86-16

5
推荐指数
1
解决办法
186
查看次数

如何将C数学运算符(+ - */%)传递给函数result = mathfunc(x,+,y);?

我正在C语言程序中为多精度整数编写一些数学例程,我希望能够轻松编写表达式,但用我自己的函数处理数学运算.所以我想要一些让我这样做的方法:

MPI x=mpi(5),y=mpi(6),z;
z=mpimath(x,+,y);
Run Code Online (Sandbox Code Playgroud)

通过以某种方式对角色进行编码,这在C中是否可行?我知道没有运算符重载所以它必须是函数调用,+-sign不能是函数名的一部分.

c

5
推荐指数
1
解决办法
198
查看次数

使用涂料矢量来访问多维数组的任意轴向切片?

我正在构建一套函数来处理多维数组数据结构,我希望能够定义数组的任意切片,这样我就可以实现两个任意矩阵(又称Tensorsnd数组)的广义内积.

一个APL论文我看了(老实说,我无法找到它-我已经看了这么多)定义的矩阵产品上左矩阵X,其尺寸A;B;C;D;E;F和右矩阵Y,尺寸G;H;I;J;K,其中F==G作为

Z <- X +.× Y
Z[A;B;C;D;E;H;I;J;K] <- +/ X[A;B;C;D;E;*] × Y[*;H;I;J;K]
Run Code Online (Sandbox Code Playgroud)

其中+/和的和,并且×将元素逐个元素应用于两个相同长度的向量.

所以我需要左边的"行"切片和右边的"列"切片.我当然可以使用转置,然后使用"行"切片来模拟"列"切片,但我宁愿更优雅地做.

维基百科关于切片的文章引出了关于涂料载体的存根,这似乎是我正在寻找的奇迹治疗,但是没有太多可以继续下去.

如何使用涂料矢量来实现任意切片?

(很久以后我注意到了一个有一些细节的数组的Stride.)

c transpose slice multidimensional-array matrix-multiplication

5
推荐指数
1
解决办法
925
查看次数