标签: graphics

如何测试线段是否与2D中的轴对齐矩形相交?

如何测试线段是否与2D中的轴对齐矩形相交?该段的两端定义为:p1,p2.矩形定义为左上角和右下角.

graphics geometry 2d

38
推荐指数
5
解决办法
4万
查看次数

在C#中将字符串转换为画笔/画笔颜色名称

我有一个配置文件,开发人员可以通过传入一个字符串来指定文本颜色:

 <text value="Hello, World" color="Red"/>
Run Code Online (Sandbox Code Playgroud)

而不是有一个巨大的开关语句寻找所有可能的颜色,只是使用类System.Drawing.Brushes中的属性而不是内部我可以这样说:

 Brush color = Brushes.Black;   // Default

 // later on...
 this.color = (Brush)Enum.Parse(typeof(Brush), prasedValue("color"));
Run Code Online (Sandbox Code Playgroud)

除了刷子/画笔中的值不是枚举.所以Enum.Parse没有给我带来快乐.建议?

.net c# graphics brush colors

38
推荐指数
4
解决办法
8万
查看次数

在C#中快速使用Bitmaps

我需要访问Bitmap的每个像素,使用它们,然后将它们保存到Bitmap.

使用Bitmap.GetPixel()Bitmap.SetPixel(),我的程序运行缓慢.

我怎么能快速转换Bitmapbyte[]和回?

我需要byte[]length = (4 * width * height)含有各像素的RGBA数据.

.net c# graphics bitmap pixels

38
推荐指数
3
解决办法
5万
查看次数

计算由两点定义的直线之间的角度

我目前正在为Android开发一款简单的2D游戏.我有一个静止的物体位于屏幕的中心,我试图让该物体旋转并指向屏幕上用户接触的区域.我有恒定的坐标代表屏幕的中心,我可以得到用户点击的点的坐标.我正在使用本论坛中概述的公式: 如何获得两点之间的角度?

  • 它如下所示"如果你想要这两个点定义的直线和水平轴之间的角度:

    double angle = atan2(y2 - y1, x2 - x1) * 180 / PI;".
    
    Run Code Online (Sandbox Code Playgroud)
  • 我实现了这个,但我认为我在屏幕坐标中工作的事实导致错误计算,因为Y坐标是相反的.我不确定这是否是正确的方法,任何其他的想法或建议都表示赞赏.

java graphics android

38
推荐指数
3
解决办法
10万
查看次数

使用ggplot2绘制"序列标识"?

是否(合理地)使用ggplot2 绘制序列标识图

有一个包来做它基于"网格"称为" seqLogo ",但我想知道是否可能有一个ggplot2版本.

谢谢.

在此输入图像描述

graphics r ggplot2

38
推荐指数
3
解决办法
6219
查看次数

计算LookAt矩阵

我正在编写一个3d引擎,我遇到了DirectX文档中描述的LookAt算法:

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

 xaxis.x           yaxis.x           zaxis.x          0
 xaxis.y           yaxis.y           zaxis.y          0
 xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  l
Run Code Online (Sandbox Code Playgroud)

现在我得到它在旋转方面的工作方式,但我不太明白的是为什么它将矩阵的平移组件放在那些点积上.稍微检查一下,它似乎是根据新基础矢量投影到眼睛/摄像机位置上的一小部分来调整摄像机位置.

问题是为什么需要这样做?它完成了什么?

math 3d graphics projection

37
推荐指数
3
解决办法
8万
查看次数

用于GUI应用程序的跨平台C库?

免费,易于学习/使用,用于GUI应用程序的跨平台C库?我在寻找Qt吗?

奖金问题:我可以在Mac上使用上述库/工具包进行开发,然后在PC/Linux上重新编译吗?

超级奖金问题:链接到所述库的教程和/或下载.

事实是,我正在追赶C系列(来自Web开发 - XHTML/PHP/MySQL)来学习iPhone开发.

我知道C不是C++或ObjectiveC,但我想让学习曲线尽可能简单.不要太偏离主题,但我也在寻找好的入门书籍和网站.到目前为止我发现了这个.

我想在这里一石二鸟.我不明白有特定于平台的扩展,但我会尽量避免那些用于移植目的的想法是我想在一台机器上编写代码并且只需编译三次.(Mac/Win/Linux)如果Objective C将在Windows和Linux以及OS X上编译,那么这很好.如果我必须使用C++,那也没关系.

c graphics user-interface qt cross-platform

37
推荐指数
3
解决办法
4万
查看次数

如何仅使用OpenGL方法绘制文本?

我没有选择使用OpenGL方法(即glxxx()方法).我只需要使用gl方法绘制文本.读完红皮书后,我明白只有通过这种glBitmap()方法才有可能.如果这是唯一可行的方法,那么任何人都可以帮助我获取所有字符的像素数组信息.有没有其他方式来绘制文字?

c c++ opengl graphics

37
推荐指数
4
解决办法
11万
查看次数

如何在ggplot2 geom_bar中订购填充颜色

我正在调用ggplot函数

ggplot(data,aes(x,y,fill=category)+geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

结果是一个条形图,其中条形图由对应于类别的各种颜色填充.但是,从条到条的颜色排序并不一致.说有粉红色,绿色和蓝色.有些酒吧从下到上呈粉红色,绿色,蓝色,有些则呈绿色,粉红色,蓝色.我没有看到任何明显的模式.

这些订单是如何选择的?我该怎么改变它?至少,我如何让ggplot选择一致的排序?

(x,y和类别)的类别分别是(整数,数字和因子).如果我将类别设为有序因子,则不会更改此行为.

有人知道怎么修这个东西吗?

可重复的例子:

dput(data)

structure(list(mon = c(9L, 10L, 11L, 10L, 8L, 7L, 7L, 11L, 9L, 
10L, 12L, 11L, 7L, 12L, 8L, 12L, 9L, 7L, 9L, 10L, 10L, 8L, 12L, 
7L, 11L, 10L, 8L, 7L, 11L, 12L, 12L, 9L, 9L, 7L, 7L, 12L, 12L, 
9L, 9L, 8L), gclass = structure(c(9L, 1L, 8L, 6L, 4L, 4L, 3L, 
6L, 2L, 4L, 1L, 1L, 5L, 7L, 1L, 6L, 8L, 6L, 4L, 7L, 8L, 7L, 9L, 
8L, 3L, 5L, 9L, 2L, …
Run Code Online (Sandbox Code Playgroud)

graphics r ggplot2

37
推荐指数
3
解决办法
5万
查看次数

如何测试函数的图形输出?

我想知道如何测试生成图形的函数.我有一个简单的绘图功能img:

img <- function() {
  plot(1:10)
}
Run Code Online (Sandbox Code Playgroud)

在我的包中,我喜欢使用这个函数创建一个单元测试testthat.因为plot和它的朋友在基础图形只是返回NULL一个简单 expect_identical的不工作:

library("testthat")

## example for a successful test
expect_identical(plot(1:10), img()) ## equal (as expected)

## example for a test failure
expect_identical(plot(1:10, col="red"), img()) ## DOES NOT FAIL!
# (because both return NULL)
Run Code Online (Sandbox Code Playgroud)

首先,我考虑绘制到文件中并比较md5校验和以确保函数的输出相等:

md5plot <- function(expr) {
  file <- tempfile(fileext=".pdf")
  on.exit(unlink(file))
  pdf(file)
  expr
  dev.off()
  unname(tools::md5sum(file))
}

## example for a successful test
expect_identical(md5plot(img()),
                 md5plot(plot(1:10))) ## equal (as expected)

## example for …
Run Code Online (Sandbox Code Playgroud)

testing graphics plot r testthat

36
推荐指数
2
解决办法
2507
查看次数

标签 统计

graphics ×10

r ×3

.net ×2

c ×2

c# ×2

ggplot2 ×2

2d ×1

3d ×1

android ×1

bitmap ×1

brush ×1

c++ ×1

colors ×1

cross-platform ×1

geometry ×1

java ×1

math ×1

opengl ×1

pixels ×1

plot ×1

projection ×1

qt ×1

testing ×1

testthat ×1

user-interface ×1