《python语言程序设计》第4章第27题 接着昨天ctm练习继续 一个点在三角形内的练习

我昨天晚上想到了,我在这个2018版教材里做过一个题,这个题是判断点在线上还是在线的左右。
这给我了我启发。早上上班打开了第4刷时自己做的题,发现了,和这个一样的写法。我上次竟然就是判断点在线的左右来计算点在三角形内还是三角形外。

4.27 x and y coordinates

pX, pY = eval(input("Enter a point's x- and y-coordinates: "))
aX, aY = 0, 0
bX, bY = 200, 0 cX, cY = 0, 100

 # 判断三角形的方向
traSign = (bX - aX) * (cY - aY) - (bY - aY) *(cX - aX)
print(traSign)
 # 判断p点和三条线的三个关系
abSide = (bX - aX) * (pY - aY) - (bY - aY) * (pX - aX)
caSide = (aX - cX) * (pY - cY) - (aY - cY) * (pX - cX)
bcSide = (cX - bX) * (pY - cY) - (cY - bY) * (pX - cX)

 if (abSide * traSign >0) and (caSide * traSign > 0) and (bcSide * traSign > 0):
        print(f"The point is in the triangle")
 else:
      print(f"The point is not in the triangle")
# 这是上次编写的内容。确实比昨天的海内法等要简单一些。但是这个判定公式,也存在着问题。

4.31 判断点在线左右还是线上

这个题我也是用该公式,但是发生了和答案完全不符的结果。为此我还在继续的寻找。

有的时候按部就班随遇而安顺其自然,也许是我们命运的归宿。静下心来,搞研究忘记名利很难。得到什么就会失去什么。我TM想得到一份工作可总是不遇。也许我可以试试换一种心态来生活

继续我少儿阶段一样的编程学习吧。鲁班书没有师傅自学学不明白。一项事业没有人引领,苦海无涯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
由于电子书可以是多种格式,如PDF、EPUB等,因此需要使用相应的库来实现电子书的阅读。以下是一个基本的C语言程序,使用了mupdf库来实现PDF电子书的阅读。 ```c #include <stdio.h> #include <stdlib.h> #include <mupdf/fitz.h> int main(int argc, char *argv[]) { if (argc != 2) { printf("Usage: %s file.pdf\n", argv[0]); return 0; } // 打开PDF文件 fz_context *ctx = fz_new_context(NULL, NULL); fz_document *doc = fz_open_document(ctx, argv[1]); if (!doc) { printf("Failed to open PDF file\n"); return 0; } // 获取PDF页面数 int page_count = fz_count_pages(doc); printf("Total pages: %d\n", page_count); // 循环显示每一页 for (int i = 0; i < page_count; i++) { // 获取PDF页面 fz_page *page = fz_load_page(doc, i); // 获取页面大小 fz_rect bbox; fz_bound_page(ctx, page, &bbox); // 设置显示参数 fz_matrix ctm = fz_scale(1, -1); fz_pre_translate(&ctm, 0, -bbox.y1); fz_device *dev = fz_new_draw_device(ctx, &ctm, NULL); // 渲染页面 fz_run_page(doc, page, dev, &fz_identity, NULL); // 释放资源 fz_free_device(dev); fz_drop_page(doc, page); } // 释放资源 fz_close_document(doc); fz_free_context(ctx); return 0; } ``` 以上程序使用了mupdf库来打开并渲染PDF文件,首先需要安装mupdf库。在Ubuntu系统下,可以使用以下命令安装: ``` sudo apt-get install mupdf mupdf-tools libmupdf-dev ``` 程序需要接收一个PDF文件路径作为命令行参数,例如: ``` ./ebook_viewer test.pdf ``` 程序会依次显示PDF文件中的每一页。你可以根据自己的需求对程序进行修改和扩展,添加页面跳转、翻页等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电饭叔

谢谢各位兄弟们的关注,谢谢破费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值