社区
机器视觉
帖子详情
【请教】宽画笔画折线的问题!!!
dongpy
2005-03-25 03:16:07
用宽画笔画折线、多边形有没有算法?我找了好久都没找到!
我先是想画了宽的线段,然后拼起来,但是在线段连接处很不自然。
想过在线段连接处填充个小圆,太麻烦,没做。
麻烦大家提供些思路,谢谢啊!
(这个问题困扰我好几天了)
...全文
94
10
打赏
收藏
【请教】宽画笔画折线的问题!!!
用宽画笔画折线、多边形有没有算法?我找了好久都没找到! 我先是想画了宽的线段,然后拼起来,但是在线段连接处很不自然。 想过在线段连接处填充个小圆,太麻烦,没做。 麻烦大家提供些思路,谢谢啊! (这个问题困扰我好几天了)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzwu
2005-03-27
打赏
举报
回复
两个线段求出的交点(x,y)的两个分量都是实数,误差是极小的。但要画到屏幕上去,必须四舍五入为整数格点,这样就会在两边产生不超出1/2的量化误差。
但这种误差是无法避免的,要消除它们的影响,只有两种办法:
1. 提高分辨率:例如把640*480提高为800*600,1024*768,1280*1024;
2. 采用反锯齿技术。
dongpy
2005-03-27
打赏
举报
回复
怪我没说清楚。
MFC和WINAPI的函数不能用,相当于要通过画点来实现。
zzwu
2005-03-27
打赏
举报
回复
可参看:
http://www.ggdn.net/forum/cgFAQ/cgFAQ.htm
的Section 1. 其中有点-线距离计算,有2线段交点的计算.
zzwu
2005-03-27
打赏
举报
回复
先求出包含多边形2根边的直线方程,
再求出与已知直线平行且距离为 宽度/2 的直线,
再利用平行线方程来计算交点.
以上计算中,都用实数表示方程的系数和坐标变量.
dongpy
2005-03-27
打赏
举报
回复
那么2侧平行线的交点,是不是根据线段夹角来计算? 还有没有其它计算方法呢?
dongpy
2005-03-26
打赏
举报
回复
宽画笔画折线, 实际就是为每一段折线的2侧各画一根平行线,再把同一侧的直线求出交点,而起始点和终止点则要作垂线封闭起来,再对封闭的折线进行填充就行了。
========================================
这样做是可以。只是2侧平行线的交点不好求,而且即使求出来误差也比较大。
梧桐168
2005-03-26
打赏
举报
回复
CreatePen(nPenStyle, nWidth, pLogBrush, nStyleCount, lpStyle));
梧桐168
2005-03-26
打赏
举报
回复
template <class T>
class CGDIObject : public CGDI
{
public:
CGDIObject(CDC* pDC) : CGDI(pDC), m_pLast(NULL)
{
}
virtual ~CGDIObject()
{
UnSelect();
m_cNewObj.DeleteObject();
}
inline void Select(T* pObject)
{
if (pObject)
{
m_pLast = m_pDC->SelectObject(pObject);
}
}
inline void UnSelect()
{
if (m_pLast)
{
Unused(m_pDC->SelectObject(m_pLast));
m_pLast = NULL;
}
}
protected:
T m_cNewObj;
T* m_pLast;
};
//*****************************************************************************
// Pens
//*****************************************************************************
class CSelPen : public CGDIObject<CPen>
{
public:
CSelPen(CDC * pDC, COLORREF col, int sty=PS_SOLID, int wid=1)
: CGDIObject<CPen>(pDC)
{
VERIFY(m_cNewObj.CreatePen(sty, wid, col));
Select(&m_cNewObj);
}
CSelPen(CDC * pDC, int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0,
const DWORD* lpStyle = NULL) : CGDIObject<CPen>(pDC)
{
VERIFY(m_cNewObj.CreatePen(nPenStyle, nWidth, pLogBrush, nStyleCount, lpStyle));
Select(&m_cNewObj);
}
};
sujinzhao407
2005-03-26
打赏
举报
回复
我觉得大家都把这个问题搞复杂了吧?拙见如下请参考:
CPen pen;
pen.CreatePen(PS_GEOMETRIC,5,RGB(255,0,0));
pDC->SelectObject(&pen);
其中在CreatePen()函数里的第二个参数值5可以更改,按照你的需要想多宽都行
zzwu
2005-03-25
打赏
举报
回复
宽画笔画折线, 实际就是为每一段折线的2侧各画一根平行线,再把同一侧的直线求出交点,而起始点和终止点则要作垂线封闭起来,再对封闭的折线进行填充就行了。
Android
画
个
折线
图
今天试着用Canvas
画
布和Paint
画
笔
画
一个简单的
折线
图,可是在绘制
折线
的时候碰上for循环遇到了一个大坑,愣是整了俩小时才试出来出错的地方在哪,但是却搞不懂为啥,请知道的大佬给说下咋回事我的代码如下: 自定义的View(
问题
就出在这儿,最后
画
折线
的时候) import java.util.ArrayList; import java.util.List; import android....
计算机教室简笔
画
图片大全集,教室场景
画
简笔
画
图片精选
我们在学校的时候,大部分时间在教室里度过,教室简直就是第二个家了。你还记得教室的场景是怎样的吗?想不想看它的简笔
画
?今天先和学习啦小编一起欣赏这些教室场景
画
简笔
画
图片,希望你会有所收获的。教室场景
画
简笔
画
图片欣赏教室场景
画
简笔
画
图片1教室场景
画
简笔
画
图片2教室场景
画
简笔
画
图片3教室场景
画
简笔
画
图片4教室场景
画
简笔
画
图片5如何
画
生活场景速写
画
生活场景速写呢?首先应具有创作意识。场景速写的内容不再是单...
python
画
简易动物
画
法_15种儿童简笔
画
!用最简单的方式,
画
出最创意的作品!...
原标题:15种儿童简笔
画
!用最简单的方式,
画
出最创意的作品!
画
画
是孩子们非常喜欢的一项活动,它既锻炼了孩子的动手能力,又培养了孩子的艺术能力,最重要的是,在绘
画
中,孩子们能体验到开心和成就感!在这里,星儿就准备了一些有趣简笔
画
教程,快让孩子们在简笔
画
中体会美术的魅力吧! 一 . 动物篇可爱的动物们该怎么用简笔
画
画
出来呢?简简单单的几笔真的有这么神奇吗?赶紧学起来吧!1 . 小熊
画
法:1 .
画
一个...
html5简单作图作品小熊,一张纸就能安静一小时,15种动物简笔
画
!用最简单的方式,
画
出好看的作品!...
很多孩子都喜欢
画
画
画
画
既锻炼了孩子的动手能力又培养了孩子的艺术能力最重要的是在绘
画
中孩子们能体验到开心和成就感今年的寒假特别长很多孩子在家快待不住了今天妈咪军准备了一些有趣简笔
画
教程快让孩子们在简笔
画
中体会在家的魅力吧动物篇可爱的动物们该怎么用简笔
画
画
出来呢?简简单单的几笔真的有这么神奇吗?赶紧学起来吧!1 . 小熊
画
法:1 .
画
一个正方形2 . 如图,在正方形顶上
画
两个圆圈,当做耳朵。3 . ...
线条边框简笔
画
图片大全_植物简笔
画
素材大全赶紧收藏起来,一定用的上!
点击上方“实用文章”关注我们,定期为您推送精彩实用的文章。植物简笔
画
素材大全赶紧收藏起来,一定用的上!花简笔
画
向日葵简笔
画
梅花简笔
画
怎么
画
牵牛花简笔
画
怎么
画
荷花简笔
画
菊花简笔
画
怎么
画
仙人掌简笔
画
康乃馨简笔
画
植物简笔
画
多肉植物简笔
画
蒲公英怎么
画
百合简笔
画
植物简笔
画
大全绿植简笔
画
大全多肉植物简笔
画
大全花怎么
画
花简笔
画
大全牵牛花简笔
画
大全玫瑰花简笔
画
盆栽简笔
画
大全花花草草简笔
画
花简笔
画
彩色树...
机器视觉
4,445
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章