天道酬勤,学无止境

graphics

Windows 10 NotifyIcon Icon always looks very pixilated

I am having trouble making a NotifyIcon in Windows 10 whose icon resource looks anything but a blurry mess. This happens with both icons from the SystemIcons class, or my own using Properties.Resources. I have tried creating a new instance of the icon with the Icon (Icon original, int width, int height) constructor, and all sorts of other mad things, including this nugget: Icon ico = Icon.FromHandle((new Icon(Resources.InfoIcon, 256, 256).ToBitmap()).GetHicon()); to no avail. Any advice would be appreciated!

2021-06-24 09:37:39    分类:问答    c#   .net   winforms   graphics   icons

计算机图形学:在世界中移动(Computer Graphics: Moving in the world)

问题 我已经实施的 我已经实现了一个应用程序,它能够在屏幕上呈现多边形列表,具有特定的静态相机设置(位置、观察和向上矢量),所有这些都在没有 OpenGL 的纯 Java AWT 中。 我首先应用模型视图矩阵,然后是投影到二维矩阵,然后是视口矩阵。 我还在世界上实现了一些基本的变换矩阵,例如平移、围绕lookAt 点的X/Y/Z 轴旋转和围绕lookAt 点的缩放。 我现在想要达到的目标 我希望能够在世界上“移动”。 具体来说,我想用键盘箭头向前、向后、向左和向右导航,并且能够用鼠标查看不同的点。 就像在真实游戏中一样。 我想这是通过每次更改相机参数并再次渲染世界来完成的。 然而,有那么简单吗? 在世界中移动只是将 x,y 值添加到相机位置并查看一个点? 另外,移动鼠标只是在看一个点上加上x,y吗? 在任何情况下我都必须触摸向上向量吗? 信息丰富的答案,以及额外的相关链接,也会真正有帮助。 回答1 您可以通过矩阵的结构化管理来实现此行为。 尤其是视图矩阵。 在大多数情况下,向 x/y 位置添加内容是不正确的,因为相机可能会旋转。 让我们用V表示当前的视图矩阵。 如果你想移动相机,你必须计算一个新的视图变换: V := Translate(-x, -y, -z) * V ,其中Translate(a, b, c)是一个平移矩阵。 -x表示向左/向右方向的移动。 -y代表向上/向下。

2021-06-24 09:07:24    分类:技术分享    java   math   graphics   3d

R, Change distance between axis tick marks and tick mark labels

In the following example, I plot a custom tick mark at .95 (edited to make labels horizontal as per Thomas' suggestion): d = matrix(runif(40), ncol=4) colnames(d) = c('a','b','c','d') barplot( d, beside=T, col=c('#CD4E3C', '#816DC3','#569340', '#A87929'), ylim=c(0,1), cex.axis=.80, main= 'Title', las=1 ) abline(h= 1:10/10, col = 'lightgray', lty=3) axis(side=2, at=c(.95), cex.axis=.75, tck=-.01, las=1) abline(h= .95, col = '#000000', lty=3) Which gives: My custom label is too close to the regular label (which I also need), and I'd like to bring the label closer to the tick mark. I looked

2021-06-24 08:50:27    分类:问答    r   graphics

How to render an emoji with libgdx

I have loaded a font with emoji support and I am trying to render a string with emoji's with libgdx. However, it renders the text, but not the emojis. Code Load Font FileHandle fontFile = Gdx.files.internal("path/to/file.ttf"); FreeTypeFontGenerator g = new FreeTypeFontGenerator(fontFile); FreeTypeFontGenerator.FreeTypeFontParameter p = new FreeTypeFontGenerator.FreeTypeFontParameter(); // Some config here with p BitmapFont emojiFont= g.generateFont(p); Render Font public static void renderFont(SpriteBatch sb, BitmapFont font, String msg, float x, float y, Color c) { font.setColor(c); font

2021-06-24 08:23:37    分类:问答    java   graphics   fonts   libgdx   emoji

Making a wireframe plot from an x,y,z data.frame

I have a data.frame of x/y/z points. I know how to make a 3d scatterplot using the rgl package but I would like to connect each point in the scatterplot to make a wireframe or surface plot. This code returns the scatter plot library(rgl) Data <- expand.grid(x=seq(0,10),y=seq(0,10)) Data$z <- Data$x^2+Data$y^2 plot3d(Data) While this code returns a blank graph: plot3d(Data,type='wire') I can make the plot I want with lattice: library(lattice) wireframe(z~x+y,Data) I can even make it rotate: library(TeachingDemos) rotate.wireframe(z~x+y,Data) But I prefer rgl over lattice because it renders much

2021-06-24 08:17:21    分类:问答    r   graphics   plot   3d

Tree visualisation and animation

I'm working with multiple search strategies on trees in Haskell. I want to visualize them and also animate the search I'm doing in it. The best I've found so far is graphviz images that I could generate by writing DOT files (like in Land of Lisp) but I doubt that it is the best approach. My trees can get quite big so I don't want to enter the position of each node in my program, I want them to be places correctly automatically. I've also looked a little bit at Gephi but I'm not sure if I can input my data in it. Also my Tree datatype is very basic : data Tree a = Leaf a | Branch (Tree a) (Tree

2021-06-24 07:58:01    分类:问答    graphics   animation   haskell   tree

在绘图窗口窗格中显示图形,而不是在 RStudio 中打开新窗口(Display graphics in plots window pane rather than opening new window in RStudio)

问题 我用谷歌搜索这个无济于事。 我一定在不知不觉中更改了一些设置,因为现在当我打印绘图或直方图而不是在绘图窗口中显示绘图时,会打开一个带有绘图的新窗口。 新窗口的标题为“R Graphics: Device 2 (ACTIVE)”。 回答1 对于某些 RStudio 版本,这是 R 3.3.0 出现的问题。 您可以使用 RStudio 中的version检查您的版本。 它应该与 RSudio 0.99.902 一起使用。 有关更多详细信息,请查看此处。 回答2 您运行的某些代码可能将一个新的图形设备推送到堆栈中。 您可以通过以下方式关闭它: > dev.off() 请参阅 R 文档以管理输出设备。

2021-06-24 07:23:23    分类:技术分享    r   plot   graphics   rstudio

我必须在 Unity 的网格中使用共享顶点吗?(Do I have to use shared vertices in mesh in Unity?)

问题 我想在 Unity3D 中创建具有平面阴影外观的程序生成的景观网格。 我认为最好为每个三角形创建三个独特的顶点,并为顶点使用一个计算出的法线。 构建这个网格会导致冗余的顶点位置信息。 (它会影响渲染时间吗?) 无论如何......问题是我想在这个网格上使用着色技术,例如环境遮挡。 我不想弄乱 Unity3D 为其着色器所期望的网格拓扑。 创建具有共享顶点的网格,添加自定义顶点属性(例如“flat_normal”)并自定义着色器以使用它是否更好? 回答1 简单的答案是 不, Unity 丝毫不会“寻找”共享顶点。 没有 3D 管道与共享顶点有关。 共享顶点根本不会帮助或阻碍 3D 管道。 (很多时候,例如,当我们制作动态网格时,我们只是“根本不使用共享顶点”,因为您可能已经发现,不使用共享顶点通常要简单得多。) 使用共享顶点的唯一原因是,出于某种原因,它碰巧让您更方便。 在这种情况下,3D 管道(Unity 或其他地方)“允许”共享顶点,没有任何缺点。 回答2 使用共享顶点可能有两个注意事项: 以减少内存使用。 (只是一点点,但如果你需要更少的 UV1、UV2、法线、顶点,它可以加起来) 使共享法线更方便。 (如果你想保持表面光滑,你只需要改变一个顶点的法线。) 这些都不是很大的原因,但是由于您遇到的大多数来自其他 3D 程序的网格,最好习惯于共享顶点。

2021-06-24 04:29:40    分类:技术分享    unity3d   graphics   shader

Java custom Paint implementation performance issue

I'm using Java to create a game, and I'm using TexturePaint to texture areas in the background. Performance is fine using java.awt.TexturePaint, however, I want to have areas having an inherent rotation, so I tried implementing a custom Paint called OrientedTexturePaint: public class OrientableTexturePaint implements Paint { private TexturePaint texture; private float orientation; public OrientableTexturePaint(TexturePaint paint, float orientation) { texture = paint; this.orientation = HelperMethods.clampRadians((float)Math.toRadians(orientation)); } public PaintContext createContext

2021-06-24 04:21:15    分类:问答    java   graphics   awt

如何在现代 OpenGL 中进行光线追踪?(How to do ray tracing in modern OpenGL?)

问题 所以我现在应该开始照亮我的单色模型。 测试应用程序是仅用于实现最新方法的测试用例,因此我意识到理想情况下它应该实现光线追踪(因为理论上,它可能是几年后实时图形的理想选择)。 但是我从哪里开始呢? 假设我从未在旧的 OpenGL 中做过光照,所以我会直接使用非弃用的方法。 该应用程序当前已正确设置顶点缓冲区对象、顶点、法线和颜色输入,并以平面颜色正确绘制和转换空间中的模型。 是否有一种信息来源可以通过 GLSL 从平面彩色顶点到获得正确最终结果所需的所有信息? 理想情况下,可能需要任何其他额外的照明方法来补充它。 回答1 我不建议在 OpenGL 中尝试实际的光线追踪,因为你需要很多技巧和窍门,如果你问我,这样做根本没有意义。 如果你想在 GPU 上进行光线追踪,你应该使用任何 GPGPU 语言,比如 CUDA 或 OpenCL,因为它让事情变得更容易(但仍然远非微不足道)。 为了进一步说明问题:对于光线跟踪,您需要跟踪辅助光线并测试与几何体的相交。 因此,您需要在着色器中以某种巧妙的方式访问几何体,但是在片段着色器中,如果您不将其“编码”到某个纹理中,则无法访问几何体。 顶点着色器本身也不为您提供这些几何信息,几何着色器只知道邻居,所以这里的麻烦已经开始了。 接下来,您需要加速数据结构来获得任何合理的帧速率。 然而,在着色器中遍历例如 Kd 树是相当困难的,如果我没记错的话

2021-06-24 03:15:50    分类:技术分享    opengl   graphics   raytracing   opengl-3