Python论坛  - 讨论区

标题:[python-chinese] 求解

2005年10月10日 星期一 13:10

Shi Mu samrobertsmith at gmail.com
Mon Oct 10 13:10:40 HKT 2005

已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
能否画出(2,3)和(4,9)的连接线段的垂直平分线,
(1,6)和(3,10)的连接线段的垂直平分线;
同时输出直线和交点坐标结果:
l1 a b c
l2 a b c
表示这两条垂直平分线 直线公式: ax + by = c.
交点坐标:
x,y

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 13:16

ShiningRay tsowly at bentium.net
Mon Oct 10 13:16:32 HKT 2005

考解析几何呢?早忘了啊



Shi Mu wrote:
> 已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
> 能否画出(2,3)和(4,9)的连接线段的垂直平分线,
> (1,6)和(3,10)的连接线段的垂直平分线;
> 同时输出直线和交点坐标结果:
> l1 a b c
> l2 a b c
> 表示这两条垂直平分线 直线公式: ax + by = c.
> 交点坐标:
> x,y
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>   


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 13:33

Shi Mu samrobertsmith at gmail.com
Mon Oct 10 13:33:27 HKT 2005

可以手算的,但是编程的原因是不想重复劳动.

On 10/9/05, Shi Mu <samrobertsmith at gmail.com> wrote:
> 已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
> 能否画出(2,3)和(4,9)的连接线段的垂直平分线,
> (1,6)和(3,10)的连接线段的垂直平分线;
> 同时输出直线和交点坐标结果:
> l1 a b c
> l2 a b c
> 表示这两条垂直平分线 直线公式: ax + by = c.
> 交点坐标:
> x,y
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 15:29

Qiangning Hong hongqn at gmail.com
Mon Oct 10 15:29:07 HKT 2005

Shi Mu wrote:
> 可以手算的,但是编程的原因是不想重复劳动.

这里是python讨论组,不是数学讨论组。
你先给出个算法来,也许大家能帮你用python实现。

> On 10/9/05, Shi Mu <samrobertsmith at gmail.com> wrote:
> 
>>已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
>>能否画出(2,3)和(4,9)的连接线段的垂直平分线,
>>(1,6)和(3,10)的连接线段的垂直平分线;
>>同时输出直线和交点坐标结果:
>>l1 a b c
>>l2 a b c
>>表示这两条垂直平分线 直线公式: ax + by = c.
>>交点坐标:
>>x,y


-- 
Qiangning Hong
http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)

Registered Linux User #396996
Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 16:41

Shi Mu samrobertsmith at gmail.com
Mon Oct 10 16:41:40 HKT 2005

已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10,
怎么把它们都用线连起来?


On 10/10/05, Qiangning Hong <hongqn at gmail.com> wrote:
> Shi Mu wrote:
> > 可以手算的,但是编程的原因是不想重复劳动.
>
> 这里是python讨论组,不是数学讨论组。
> 你先给出个算法来,也许大家能帮你用python实现。
>
> > On 10/9/05, Shi Mu <samrobertsmith at gmail.com> wrote:
> >
> >>已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
> >>能否画出(2,3)和(4,9)的连接线段的垂直平分线,
> >>(1,6)和(3,10)的连接线段的垂直平分线;
> >>同时输出直线和交点坐标结果:
> >>l1 a b c
> >>l2 a b c
> >>表示这两条垂直平分线 直线公式: ax + by = c.
> >>交点坐标:
> >>x,y
>
>
> --
> Qiangning Hong
> http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)
>
> Registered Linux User #396996
> Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
> Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 16:46

EddyXu eddyxu at 126.com
Mon Oct 10 16:46:29 HKT 2005

由两点坐标求得斜率alpha,然后通过垂直两条直线斜率a1,a2满足tan(a1) *
tan(a2)=-1来求得垂直平分线的斜率,再算一下两点中点坐标带入就行了 ....
Qiangning Hong 写道:

>Shi Mu wrote:
>  
>
>>可以手算的,但是编程的原因是不想重复劳动.
>>    
>>
>
>这里是python讨论组,不是数学讨论组。
>你先给出个算法来,也许大家能帮你用python实现。
>
>  
>
>>On 10/9/05, Shi Mu <samrobertsmith at gmail.com> wrote:
>>
>>    
>>
>>>已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
>>>能否画出(2,3)和(4,9)的连接线段的垂直平分线,
>>>(1,6)和(3,10)的连接线段的垂直平分线;
>>>同时输出直线和交点坐标结果:
>>>l1 a b c
>>>l2 a b c
>>>表示这两条垂直平分线 直线公式: ax + by = c.
>>>交点坐标:
>>>x,y
>>>      
>>>
>
>
>  
>


-- 
No more than thinking....




[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年10月10日 星期一 17:46

makeyunbad makeyunbad at gmail.com
Mon Oct 10 17:46:33 HKT 2005

在 05-10-10,Shi Mu<samrobertsmith at gmail.com> 写道:
> 已经知道四个点的坐标分别是:2,3;4,9;1,6;3,10.
> 能否画出(2,3)和(4,9)的连接线段的垂直平分线,
> (1,6)和(3,10)的连接线段的垂直平分线;
> 同时输出直线和交点坐标结果:
> l1 a b c
> l2 a b c
> 表示这两条垂直平分线 直线公式: ax + by = c.
> 交点坐标:
> x,y
>

class point:
    def __init__(self, x = 0.0, y = 0.0):
        self.X = x + 0.0
        self.Y = y + 0.0

    def __repr__(self):
        return '[X Y:%s,%s]' % (self.X, self.Y)

    def PointOfIntersection(self, Line1, Line2):
        self.X = (Line1.C*Line2.B - Line2.C*Line1.B)/(Line2.A*Line1.B
- Line1.A*Line2.B)
        self.Y = (Line1.C*Line2.A - Line1.A*Line2.C)/(Line1.A*Line2.B
- Line1.B*Line2.A)
        return (self.X, self.Y)

class Line:
    def __init__(self, a = 0.0, b = 0.0, c = 0.0):
        self.A = a + 0.0
        self.B = b + 0.0
        self.C = c + 0.0

    def __repr__(self):
        return '[Line:(%s)x + (%s)y + (%s)=0]' % (self.A, self.B, self.C)

    def Line(self, point1, point2):
        self.A = point2.Y - point1.Y
        self.B = -(point2.X - point1.X)
        self.C = (point2.X - point1.X)*point1.Y - point1.X*(point2.Y - point1.Y)
        return (self.A, self.B, self.C)

    def PerpendicularBisector(self, point1, point2):
        self.A = -(point2.X - point1.X)/(point2.Y - point1.Y)
        self.B = -1.0
        self.C = (point2.Y + point1.Y)/2 - self.A*(point2.X + point1.X)/2
        return (self.A, self.B, self.C)

pt1 = point(2,3)
pt2 = point(4,9)
pt3 = point(1,6)
pt4 = point(3,10)

L1 = Line()
L1.Line(pt1,pt2)
print L1

L2 = Line()
L2.Line(pt3,pt4)
print L2

L1.PerpendicularBisector(pt1,pt2)
L2.PerpendicularBisector(pt3,pt4)

print '垂直平分线', L1
print '垂直平分线', L2

p5 = point()
p5.PointOfIntersection(L1,L2)
print '交点', p5

>>> [Line:(6.0)x + (-2.0)y + (-6.0)=0]
[Line:(4.0)x + (-2.0)y + (8.0)=0]
垂直平分线 [Line:(-0.333333333333)x + (-1.0)y + (7.0)=0]
垂直平分线 [Line:(-0.5)x + (-1.0)y + (9.0)=0]
交点 [X Y:12.0,3.0]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号